SoloCodigo

Programación General => C/C++ => Mensaje iniciado por: crocop en Domingo 7 de Septiembre de 2008, 00:14

Título: matrices c++
Publicado por: crocop en Domingo 7 de Septiembre de 2008, 00:14
tengo un programa que suma el total por fila(3) y el total por columnas(3) en dos vectores pero al entregar el valor me tira numeros gigantes cual sera el error?
Código: Text
  1. #include<stdio.h>
  2. #include<conio.h>
  3. void main()
  4. {
  5. int m[3][3],f,c,vectorf[3],vectorc[3];
  6. clrscr();
  7.     for(f=0;f<3;f++){
  8.     for(c=0;c<3;c++)
  9.     {
  10.     printf("ingrese dato:%d :%dn",f,c);
  11.     scanf("%d",&m[f][c]);
  12.     }
  13.     }
  14.     for(f=0;f<3;f++){
  15.     for(c=0;c<3;c++)
  16.     {
  17.     vectorf[f]=vectorf[f]+m[f][c];
  18.     }
  19.     }
  20.     for(c=0;c<3;c++)
  21.     for(f=0;f<3;f++){
  22.     {
  23.     vectorc[c]=vectorc[c]+m[f][c];
  24.     }
  25.     }
  26.     for(f=0;f<3;f++){
  27.     printf("tla suma de las fila :%d son :%d n",f,vectorf[f]);
  28.     }
  29.     for(f=0;f<3;f++){
  30.     printf("tla suma de las columna :%d son :%d n",f,vectorc[f]);
  31.     }
  32.     getch();
  33.     }
  34.  
Título: Re: matrices c++
Publicado por: Rombus en Domingo 7 de Septiembre de 2008, 03:38
el problema es que vos haces esto:

Código: Text
  1. vectorf[f]=vectorf[f]+m[f][c];
  2.  

y vector[f] no esta inicializado, osea, tiene basura adentro

agrega este codigo al principio despues de las declaraciones de variables

Código: Text
  1. for(f=0; f<3; f++){
  2.     vectorf[f] = 0;
  3.     vectorc[f] = 0;
  4. }
  5.  

entonces una vez inicializado todo el vector con 0 en sus posiciones tu codigo anda ;)
Título: Re: matrices c++
Publicado por: crocop en Domingo 7 de Septiembre de 2008, 03:40
si esa era el problema muchas gracias amigo  :beer:
Título: Re: matrices c++
Publicado por: Rombus en Domingo 7 de Septiembre de 2008, 03:41
ah!

te recomiendo programar en ANSII, asi somos todos felices ;)

jaja


la funcion getch(); en la forma que la usas se puede reemplazar por getchar(); de stdio.h

y el clrscr(); no es muy necesario que digamos



saludos!!