elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Trabajando con las ramas de git (tercera parte)


  Mostrar Mensajes
Páginas: [1] 2 3 4 5 6
1  Programación / Programación C/C++ / Re: Ayuda - Archivo binario en: 28 Enero 2019, 00:16 am
Saludos,

- Y se puede leer así de esa forma tan indiscriminada un fichero binario :xD?, te muestro el siguiente ejemplos sencillo que escribe y lee un Float y un Int  a/desde un fichero binario:

Código
  1. #include <iostream>
  2. #include <fstream>
  3. #include <vector>
  4.  
  5. using namespace std;
  6.  
  7. int main() {
  8.  float ofloat = 5.6;
  9.  int   oint   = 10;
  10.  ofstream ofile( "file.bin", ios::out | ios::binary );
  11.  ofile.write( (char *) &ofloat, sizeof(float) );
  12.  ofile.write( (char *) &oint, sizeof(int) );
  13.  ofile.close();
  14.  
  15.  
  16.  float ifloat = 0;
  17.  int   iint   = 0;
  18.  ifstream ifile( "file.bin", ios::in );
  19.  ifile.read( (char *) &ifloat, sizeof(float) );
  20.  ifile.read( (char *) &iint, sizeof(int) );
  21.  cout << ifloat << endl;
  22.  cout << iint << endl;
  23.  ifile.close();
  24.  return 0;
  25. }
Mi nivel no es tan alto como para escribir un fichero como lo haces vos! jaja La próxima copio el código del compilador!
2  Programación / Programación C/C++ / Re: Ayuda - Archivo binario en: 28 Enero 2019, 00:15 am
Lo que CalgaryCorpus quiere decir con que asignas dos veces la variable <i> es lo siguiente:
Código
  1. for(int i = 0; i = tam_archi; i++){}
Ahí estás inicializando la variable <i> a 0, seguidamente le asignas el valor <tam_archi> y ya se ejecuta el <for>. El segundo campo del <for> es incorrecto.

Te recomiendo para este tipo de errores que copies el código original, ya que el error puede deberse a que haya algo mal implementado y que tú estés pasando por alto. Si es muy largo puedes copiar sólo el bloque más relevante. :-X

Jaja que error "boludo" no lo veía! Gracias por remarcarlo  ;D
3  Programación / Programación C/C++ / Re: Ayuda - Archivo binario en: 25 Enero 2019, 22:40 pm
Será que en la línea 12 asignas 2 veces la variable i?
Cómo que la asigno dos veces? en la primera entrada de la estructura iterativa lo declaro y ya más luego pongo desde dónde leer y hasta dónde hacerlo.
Me fije en el programa base que había hecho, tenía un pequeño problema, lo modifique y probé nuevamente (anduvo) pero al hacer éste prototipo, para ver si realmente se guardaron los datos en el archivo, cuando itero el vector de pares, éste se encuentra vacío jaja me ha dejado en las nubes, releí la teoría, pero no he hecho nada incorrecto, a mi parecer jaja
4  Programación / Programación C/C++ / Re: Ayuda - Archivo binario en: 25 Enero 2019, 22:34 pm
Hay un problema desde la primera línea:
Código:
Pares{ float a, int b}
Pares no tiene definido el tipo.
{float a, int n} no es una expresión C++ válida. Fíjate que están separados por una coma y que int n no termina en ;
También falta el ; al final de la expresión.

Después hay otras cosas, pero deberías tratar primero de que compile.

Es un ejemplo, ya se que falta el tipo de dato (struct) y los otros errores de sintaxis ; puse un "prototipo" de lo que hice, para que me dijeran qué podría estar mal a nivel lógico jaja espero me comprendas, sino, pongo el código exacto de lo que hice.
5  Programación / Programación C/C++ / Ayuda - Archivo binario en: 25 Enero 2019, 13:04 pm
Buenas, hice un ejercicio donde tenía que cargar en un archivo binario pares de datos donde uno era float y el otro int.
El problema es, que cuando hice otro programa para cargar un vector con esos datos guardados en ese archivo, no me muestra nada.
Aquí les dejo el código, sinceramente, no veo dónde está el problema, porque ni siquiera en la compilación me da error.

Código
  1. Pares{ float a, int b}
  2.  
  3. main(){
  4. Pares aux; vector<Pares> P;
  5. ifstream entrada;
  6. entrada.open(/*nom_archi*/,ios::binary|ios::ate);
  7. if(!entrada.is_open(){
  8. /*algo...*/
  9. }
  10. int tam_archi=entrada.tellg()/sizeof(Pares);
  11. entrada.seekg(0);
  12. for(int i=0;i=tam_archi;i++){
  13. entrada.read(reinterpret_cast <char*> (&aux),sizeof(aux));
  14. P.push_back(aux);
  15. }
  16. entrada.close();
  17. fori(P.size()){
  18. cout<<P[i].a<<" "<<P[i].b<<endl; /*No muestra nada*/
  19. }
  20.  
Esto es un ejemplo del programa que hice, para que no sea tan largo de leer, al finalizar la compilación no me saltan errores, pero no muestra el vector, como si no tuviese nada, la lectura debería ir bien y cada vez que leo un "Par" debería ponerlo en el vector, pero no es el caso.
6  Programación / Programación C/C++ / Re: CONSULTA en: 7 Enero 2019, 07:32 am
Busca 'PDF structure internals' en Google y te aparecerán links con todo lo que necesitas para manejar PDFs.
Muchísimas gracias por la información!  ;D
7  Programación / Programación C/C++ / CONSULTA en: 6 Enero 2019, 23:52 pm
Buenas gente, miren el tema es este, estoy trabajando con manejo de archivos de texto, pero aquí mi problema, tengo que trabajar con un pdf, pero al hacer el código, como lo hago siempre para trabajar con un .txt no funciona, por que claro, los formatos son distintos, cómo puedo hacer para que los string del pdf ese, se almacenen, de tal manera que pueda trabajar desde la consola?
El tema es este, buscar x palabra en todo el libro, supongo que para un .txt funcionaría sin problemas, ya que eso vengo haciendo y sí anda, pero no sé cómo cambia la sintaxis para trabajar con .pdf o .epub o etc.
Una ayuda por favor, por lo menos a nivel de teoría, no pido que me resuelvan el ejercicio
Les adjunto mi código:
Código
  1. nclude <iostream>
  2. #include <vector>
  3. #include <fstream>
  4. using namespace std;
  5.  
  6. int main(int argc, char *argv[]) {
  7. vector<string> p; string aux;
  8. ifstream entrada;
  9. entrada.open("Don Quijote de la mancha.pdf");
  10. if(!entrada.is_open()){
  11. cerr<<"No se abrio el archivo"<<endl;
  12. exit(-1);
  13. }
  14. while(getline(entrada,aux)){
  15. p.push_back(aux);
  16. entrada.ignore();
  17. }
  18. entrada.close();
  19. for(size_t i=0;i<p.size();i++) {
  20. if(!p[i].empty()){
  21. aux=p[i];
  22. for(size_t i=0;i<aux.size();i++) {
  23. aux[i]=toupper(aux[i]);
  24. }
  25. p[i]=aux;
  26. }
  27. }
  28. aux="MOLINOS DE VIENTO"; int contador=0;
  29. for(size_t i=0;i<p.size();i++) {
  30. if(p[i]==aux){
  31. contador++;
  32. }
  33. }
  34. cout<<"Las palabras: "<<"Molinos de viento, aparecen un total de: "<<contador<<" veces";
  35. return 0;
  36. }
  37.  
8  Programación / Programación C/C++ / Re: Separar arreglo en numeros primos y en otro multiplos de 3 en: 6 Enero 2019, 14:27 pm
Necesito hacer un programa que almacene 20 elementos de números aleatorios utilizando funciones en  las que se debe separar en un arreglo los números primos, y en otro los múltiplos de 3 sin usar el "%".
Ayúdenme porfa...  :-(

Y el código para verlo?
9  Programación / Programación C/C++ / Re: Sobrecarga operador -> [C++] en: 6 Enero 2019, 14:26 pm
Pues mira, creo que poniendo
Código
  1. int operator->()const
Se arregla la cosa, no tengo muy bien entendido si es un puntero a entero la variable
Código
  1. private_iterator
pero poniéndolo como yo digo, se arregla
Código
  1. int operator->()const{
  2. return *private_iterator; //Saque el alias y puse desreferencia
  3. }
Si me decís qué es la variable iterator_private, podemos llegar a una conclusión juntos  :xD
10  Programación / Programación C/C++ / Re: Buscar fila y columna de arreglo bidimensional en: 6 Enero 2019, 14:15 pm
Buenas! tengo un arreglo bidimensional  de 16 filas y 12 columnas , en si lo que tengo que hacer, es pedirle al usuario que escoja de las 15 filas cual desea y que  en base a eso imprima la fila y su posicion y de igual manera con la columna

este es mi codigo, el arreglo ya esta hecho y suma el total de filas y columnas

Código:
#include<stdio.h>
#include<conio.h>
#include<stdlib.h>
#include<time.h>
#define valorx 16  // filas
#define valory 12 // columnas

int arr[valorx][valory]={0},b, x,y,acu;
int n;
int valor, resultado;

main ()

{



printf("\n");
printf("vendedor vento  Jetta   Polo   Teramont Beetle  Golf    Gol    Passat    Up!   Tiguan  Touareg  TOTAL ");
printf("\n");

srand(time(NULL));
for(x = 0; x < valorx-1; x++) // no escribimos en la ultima fila
    for(y = 0; y < valory-1; y++) // no escribimos en la ultima columna
        arr[x][y] =1+rand()%9;
 
// suma de filas
for(x = 0; x < valorx-1; x++){ // este for recorre las filas desde la 0 hasta la 15
    acu = 0;
    for(y = 0; y < valory-1; y++) // este for recorre las columnas desde la 0 hasta la 11
     acu+= arr[x][y];
     arr[x][y] = acu; // guardamos en la posicion [x][12] la suma de la fila x
}
// suma de columnas
for(y = 0; y < valory; y++) { // este for recorre las columnas desde la 0 hasta la 11
    acu = 0;
    for(x = 0; x < valorx-1; x++)  // este for recorre las filas  desde la 0 hasta la 11 incluida
    
        acu+= arr[x][y];
    arr[x][y] = acu; // guardamos en la posicion [x][12] la suma de la fila x
}

for(x=0;x<valorx;x++){
printf("\n");

for(y=0;y<valory;y++)
printf("\t$%d", arr[x][y]);

}
printf("\tTOTAL\n");



getch();
return 0;

}











Pues mira, ésta sería la base de cómo trabajar con un arreglo bidimensional:

Código
  1. int A[15][12]
  2. //Carga del vector
  3. //...........
  4. //Finalizacion de la carga
  5.  
  6. //Mostrar el vector
  7. for(int i=0;i<15;i++){
  8.   fori(int j=0;j<12;j++){
  9.         cout<<A[i][j]<<" ";
  10.   }
  11. }
Pues así sería la base para mostrar el vector, solo deberías pedirle la fila "x" que quieres que muestre el usuario y en ves de poner un for, simplemente dejarías uno, para mostrar todos los valores de esa fila y ya.
Algo como esto:
Código
  1. //El usuario ingreso la fila "x"
  2. for(int i=0;i<12;i++){
  3.    cout<<A[x][i]<<" ";
Espero responda tu pregunta  ;D
Páginas: [1] 2 3 4 5 6
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines