Ver Mensaje Individual
  #5 (permalink)  
Antiguo 08/03/2012, 07:30
starfix
 
Fecha de Ingreso: diciembre-2011
Ubicación: Crespo - Entre Rios
Mensajes: 155
Antigüedad: 12 años, 5 meses
Puntos: 25
Respuesta: Almacenar unos valores

es cuestion de encontrar la relacion que tienen los numeros consecutivos de la matriz unos con otros, si es que existe dicha relacion...... en tu primer ejemplo la relacion es que en la diagonal principal solamente hay 1 y tanto a la derecha, arriba, izquierda y abajo de estos unos se va incrementando en 1 el numero que sigue... asi que un posible codigo para el primer ejemplo seria:

Código C:
Ver original
  1. /* 19. Escribir un programa que almacene en una matriz de NxN los valores:
  2. 1 2 3 4 5 6
  3. 2 1 2 3 4 5
  4. 3 2 1 2 3 4
  5. 4 3 2 1 2 3
  6. 5 4 3 2 1 2
  7. 6 5 4 3 2 1 */
  8. #include <stdio.h>
  9. #include <stdlib.h>
  10. #include <iostream>
  11. using namespace std;
  12.  
  13. int main() 
  14. {
  15.     int i, j, M[6][6];
  16.     const int tamanio= 6;
  17.  
  18.     for(i=tamanio-1; i>=0;i--)
  19.        
  20.     {   M[i][i]=1;
  21.         for(j=i-1;j>=0;j--)
  22.         {
  23.             M[i][j] = M[i][j+1]+1;
  24.             M[j][i]= M[j+1][i]+1;
  25.         }
  26.    
  27.     }
  28.    
  29.     //se imprime la matriz en pantalla
  30.     for (int i=0;i<tamanio;i++){
  31.         for (int j=0; j<tamanio; j++)
  32.         cout<< M[i][j]<<" ";
  33.        
  34.        
  35.         cout<<endl;
  36.     }
  37.     system("pause");
  38.     return 0;
  39. }

para mostrar la matriz usé el cout porque no se usar el printf , pero es solamente para mostrar la matriz.

este ejemplo te va a servir para cualquier matriz cuadrada, solamente basta con modificar la constante tamanio con el valor del tamaño de la matriz.

para adaptarlo a C tendrias que borrar el include <iostream> y cambiar las lineas de los cout por los printf correspondientes.

saludos