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

 

 


Tema destacado: Estamos en la red social de Mastodon


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse, K-YreX)
| | |-+  Matriz Basura
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Matriz Basura  (Leído 1,692 veces)
Estebanmc2912

Desconectado Desconectado

Mensajes: 3



Ver Perfil
Matriz Basura
« en: 7 Noviembre 2015, 09:26 am »

Buenos días, quería preguntar porque al llenar (el usuario) esta matriz se llena la primera fila y columna de basura. Muchas gracias  :-[

Código
  1.  
  2. int main()
  3. {
  4.  
  5.    int alumnos, clases, i,j,n;
  6.  
  7.    cout << "digite el numero de alumnos" << endl;
  8.    cin >> alumnos;
  9.    cout <<"digite el numero de clases" << endl;
  10.    cin >> clases;
  11.  
  12.    int matriz [alumnos][clases];
  13.  
  14.    for (i=1; i<=alumnos ; i++){
  15.      for (j=1;  j<=clases ; j++){
  16.  
  17.         matriz[i][j] = n;
  18.         cout << "por favor digite la nota de la clase" << j << endl;
  19.         cin >> n;
  20.      }
  21.    }
  22.  
  23.   cout << "-------------------------------------" << endl;
  24.  
  25.    for (i=1; i<=alumnos ; i++){
  26.      for (j=1;  j<=clases ; j++){
  27.  
  28.         cout << matriz[i][j] << " " ;
  29.  
  30.      }
  31.    cout << "\n" ;
  32.    }
  33.  
  34.  



En línea

aivdev

Desconectado Desconectado

Mensajes: 1


Ver Perfil
Re: Matriz Basura
« Respuesta #1 en: 7 Noviembre 2015, 11:33 am »

Porque eso es lo q estás haciendo en el código.
Pista:
Una matriz es un vector de vectores.
La posición de la "primera casilla de un vector" es la posición 0.

Si tienes un vector v, de tamaño 5,  con los valores:
A,B,C,D,E

v[0]=A
V[1]=B

Con eso, mira tu código otra vez.


Enviado desde mi iPhone utilizando Tapatalk


En línea

flony


Desconectado Desconectado

Mensajes: 583



Ver Perfil
Re: Matriz Basura
« Respuesta #2 en: 7 Noviembre 2015, 23:27 pm »

Código
  1.   int matriz [alumnos][clases];
  2.  
  3.    for (i=1; i<=alumnos ; i++){
  4.      for (j=1;  j<=clases ; j++){
  5.  
  6.         cout << "por favor digite la nota de la clase" << j << endl;
  7.         cin >> n;
  8.         matriz[i][j] = n;  //solo eso
  9.      }
  10.    }

con eso bastaria
En línea

si un problema no tiene solucion entonces no es un problema...es algo inevitable
Estebanmc2912

Desconectado Desconectado

Mensajes: 3



Ver Perfil
Re: Matriz Basura
« Respuesta #3 en: 8 Noviembre 2015, 11:42 am »

Muchas gracias a todos los que comentaron, pues la verdad lo pude solucionar borrando la variable la cual iguale anteriormente a la matriz e inicializando el for en 0.

Código
  1.  
  2. int alumnos, clases, n;
  3.  
  4.    cout << "digite el numero de alumnos" << endl;
  5.    cin >> alumnos;
  6.    cout <<"digite el numero de clases" << endl;
  7.    cin >> clases;
  8.  
  9.    int matriz [2][3]={{0}};
  10.  
  11.    for (int i=0; i<alumnos ; i++){
  12.      for (int j=0;  j<clases ; j++){
  13.  
  14.         cout << "por favor digite la nota de la clase" << j << endl;
  15.         cin >> matriz[i][j];
  16.      }
  17.    }
  18.  
  19.   cout << "-------------------------------------" << endl;
  20.  
  21.    for (int i=0; i<alumnos ; i++){
  22.      for (int j=0;  j<clases ; j++){
  23.  
  24.         cout << matriz[i][j] << " " ;
  25.  
  26.      }
  27.    cout << "\n" ;
  28.  
  29.  
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines