Matriz Basura

Iniciado por Estebanmc2912, 7 Noviembre 2015, 09:26 AM

0 Miembros y 1 Visitante están viendo este tema.

Estebanmc2912

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 (cpp) [Seleccionar]


int main()
{

    int alumnos, clases, i,j,n;

    cout << "digite el numero de alumnos" << endl;
    cin >> alumnos;
    cout <<"digite el numero de clases" << endl;
    cin >> clases;

    int matriz [alumnos][clases];

    for (i=1; i<=alumnos ; i++){
      for (j=1;  j<=clases ; j++){

         matriz[i][j] = n;
         cout << "por favor digite la nota de la clase" << j << endl;
         cin >> n;
      }
    }

   cout << "-------------------------------------" << endl;

    for (i=1; i<=alumnos ; i++){
      for (j=1;  j<=clases ; j++){

         cout << matriz[i][j] << " " ;

      }
    cout << "\n" ;
    }




aivdev

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

flony

Código (cpp) [Seleccionar]
   int matriz [alumnos][clases];

    for (i=1; i<=alumnos ; i++){
      for (j=1;  j<=clases ; j++){

         cout << "por favor digite la nota de la clase" << j << endl;
         cin >> n;
         matriz[i][j] = n;  //solo eso
      }
    }


con eso bastaria
si un problema no tiene solucion entonces no es un problema...es algo inevitable

Estebanmc2912

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 (cpp) [Seleccionar]


int alumnos, clases, n;

    cout << "digite el numero de alumnos" << endl;
    cin >> alumnos;
    cout <<"digite el numero de clases" << endl;
    cin >> clases;

    int matriz [2][3]={{0}};

    for (int i=0; i<alumnos ; i++){
      for (int j=0;  j<clases ; j++){

         cout << "por favor digite la nota de la clase" << j << endl;
         cin >> matriz[i][j];
      }
    }

   cout << "-------------------------------------" << endl;

    for (int i=0; i<alumnos ; i++){
      for (int j=0;  j<clases ; j++){

         cout << matriz[i][j] << " " ;

      }
    cout << "\n" ;