Ver Mensaje Individual
  #5 (permalink)  
Antiguo 26/11/2014, 08:11
kutcher
 
Fecha de Ingreso: noviembre-2014
Mensajes: 36
Antigüedad: 10 años
Puntos: 13
Respuesta: Devolver vectores en C

Cita:
Iniciado por pablomr960 Ver Mensaje
El programa guarda bien los valores que hay en el archivo que le mando abrir que son {1,2,3} y {4,5,6}
Seguro que guarda bien los números? porque yo veo algunas inconsistencias en tu código si tu intención es leer datos de un fichero con el siguiente formato:

Código C++:
Ver original
  1. 1 2 3
  2. 4 5 6
Te propongo el siguiente cambio:

Código C++:
Ver original
  1. int main(void)
  2. {
  3.     FILE* fp;
  4.     int cols = 3;
  5.     int *vec_1 = malloc(sizeof(int)*cols);
  6.     int *vec_2 = malloc(sizeof(int)*cols);
  7.     int *vec_tot = NULL;
  8.     int i;
  9.     char ch;
  10.  
  11.     fp = fopen("vectores.txt","r");
  12.  
  13.     if (fp == NULL)
  14.         perror("Error");
  15.     else
  16.     {
  17.         for(i = 0; i < cols; )
  18.         {
  19.             fscanf(fp, "%d%c", &vec_1[i++], &ch);
  20.             if(ch == '\n') break;
  21.         }
  22.         int longi_1 = i;
  23.         i = 0;
  24.         while(1 == fscanf(fp, "%d", &vec_2[i]))
  25.             if(++i == cols) break;
  26.         int longi_2 = i;
  27.         fclose(fp);
  28.  
  29.         vec_tot = Suma(vec_1, vec_2, longi_1, longi_2);
  30.     //imprimir el resultado de la suma
  31.     }
  32.     free(vec_1);
  33.     free(vec_2);
  34.     free(vec_tot);
  35.  
  36.     return 0;
  37. }

Saludos

Última edición por kutcher; 26/11/2014 a las 09:48