• Viernes 15 de Noviembre de 2024, 02:46

Autor Tema:  Matriz  (Leído 1420 veces)

nshica

  • Nuevo Miembro
  • *
  • Mensajes: 9
    • Ver Perfil
Matriz
« en: Miércoles 14 de Enero de 2004, 01:56 »
0
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.

plaf

  • Miembro activo
  • **
  • Mensajes: 57
    • Ver Perfil
Re: Matriz
« Respuesta #1 en: Miércoles 14 de Enero de 2004, 03:25 »
0
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

nshica

  • Nuevo Miembro
  • *
  • Mensajes: 9
    • Ver Perfil
Re: Matriz
« Respuesta #2 en: Miércoles 14 de Enero de 2004, 12:20 »
0
Muchas gracias, lo probaré a ver que tal. No se me habia ocurrido esa opcion.

nshica

  • Nuevo Miembro
  • *
  • Mensajes: 9
    • Ver Perfil
Re: Matriz
« Respuesta #3 en: Miércoles 14 de Enero de 2004, 12:44 »
0
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

dreadlock

  • Miembro activo
  • **
  • Mensajes: 66
    • Ver Perfil
Re: Matriz
« Respuesta #4 en: Miércoles 14 de Enero de 2004, 19:29 »
0
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
UN intento de explicar lo inezplicable:D

nshica

  • Nuevo Miembro
  • *
  • Mensajes: 9
    • Ver Perfil
Re: Matriz
« Respuesta #5 en: Miércoles 14 de Enero de 2004, 22:10 »
0
Claro!! el salto de linea!! no se me habia ocurrido. Perdonad la torpeza pero soy novatilla, me queda mucho por aprender.
Muchas gracias :(