Programación General > C/C++

 Matriz

(1/2) > >>

nshica:
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:
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 --- int i,j,matriz[10][10]; for(j=0;j<10;j++)    for(i=0;i<10;i++)    {        if(i==j) matriz[i][j]=1;        else matriz[i][j]=0;    }  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:
Muchas gracias, lo probaré a ver que tal. No se me habia ocurrido esa opcion.

nshica:
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:
haber si esto te ayuda, del codigo que te habian dado antes

--- Código: Text --- int i,j,matriz[10][10]; for(j=0;j<10;j++)   for(i=0;i<10;i++)   {       if(i==j) matriz[i][j]=1;       else matriz[i][j]=0;   }  Lo modificamos algo asi


--- Código: Text --- int i,j,matriz[10][10]; for(j=0;j<10;j++){   for(i=0;i<10;i++)   {       if(i==j) matriz[i][j]=1;       else matriz[i][j]=0;//aqui imprime los numerosprintf("[%d] ", matriz[i][j]);   }//aqui ya imprimio 10 numeros, estamos¿?printf("\n");//damos salto de linea}  
ESpero que te sirva

Navegación

[0] Índice de Mensajes

[#] Página Siguiente

Ir a la versión completa