SoloCodigo

Programación General => C/C++ => Mensaje iniciado por: nshica en Miércoles 14 de Enero de 2004, 01:56

Título: Matriz
Publicado por: nshica en Miércoles 14 de Enero de 2004, 01:56
Hola a todos!!
Soy nueva en el mundo de la programacion en c. Necesito que alguien me explique como puedo hacer una matriz de 10x10 con la diagonal principal a unos y el resto a ceros. Por mas vueltas que le doy solo consigo hacerla con 1s.
Gracias por adelantado.
Título: Re: Matriz
Publicado por: plaf en Miércoles 14 de Enero de 2004, 03:25
poniendo los numeros uno a uno con dos for y con un if ves si hay q poner un 0 o un 1
o sea algo asi:
Código: Text
  1.  
  2. int i,j,matriz[10][10];
  3.  
  4. for(j=0;j<10;j++)
  5.     for(i=0;i<10;i++)
  6.     {
  7.         if(i==j) matriz[i][j]=1;
  8.         else matriz[i][j]=0;
  9.     }
  10.  
  11.  
los for hacen q vayas avanzando de a 1 dentro de una fila y cuando llegues al final pasas a la siguiente, y el if pone un 1 si es parte de la diagonal o un 0 si no
Título: Re: Matriz
Publicado por: nshica en Miércoles 14 de Enero de 2004, 12:20
Muchas gracias, lo probaré a ver que tal. No se me habia ocurrido esa opcion.
Título: Re: Matriz
Publicado por: nshica en Miércoles 14 de Enero de 2004, 12:44
Poniendo
printf ("%d\n",matriz[j]);
debajo del else me imprime todos los numeros uno detras de otro, como hago para que los imprima de 10 en 10.
Seguro que es lo mas facil del mundo pero no me sale.Gracias
Título: Re: Matriz
Publicado por: dreadlock en Miércoles 14 de Enero de 2004, 19:29
haber si esto te ayuda, del codigo que te habian dado antes
Código: Text
  1.  
  2. int i,j,matriz[10][10];
  3.  
  4. for(j=0;j<10;j++)
  5.    for(i=0;i<10;i++)
  6.    {
  7.        if(i==j) matriz[i][j]=1;
  8.        else matriz[i][j]=0;
  9.    }
  10.  
  11.  
Lo modificamos algo asi

Código: Text
  1.  
  2. int i,j,matriz[10][10];
  3.  
  4. for(j=0;j<10;j++){
  5.    for(i=0;i<10;i++)
  6.    {
  7.        if(i==j) matriz[i][j]=1;
  8.        else matriz[i][j]=0;
  9. //aqui imprime los numeros
  10. printf("[%d] ", matriz[i][j]);
  11.    }
  12. //aqui ya imprimio 10 numeros, estamos¿?
  13. printf("\n");//damos salto de linea
  14. }
  15.  
  16.  

ESpero que te sirva
Título: Re: Matriz
Publicado por: nshica en Miércoles 14 de Enero de 2004, 22:10
Claro!! el salto de linea!! no se me habia ocurrido. Perdonad la torpeza pero soy novatilla, me queda mucho por aprender.
Muchas gracias :(