Advertisement
Guest User

Untitled

a guest
Aug 19th, 2017
72
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.79 KB | None | 0 0
  1. #include <stdio.h>
  2. int main (void)
  3. {
  4. unsigned short fila, columna ;
  5. printf ("Ingresar cantidad de filas: n");
  6. scanf("%hd", &fila);
  7. printf("Ingresar cantidad de columnas: n");
  8. scanf("%hd", &columna);
  9. int matriz[fila][columna];
  10. void GenerarMatriz (unsigned short, unsigned short, int[][columna]);
  11. GenerarMatriz(fila,columna, matriz);
  12. return 0;
  13. }
  14.  
  15. void GenerarMatriz (unsigned short fila, unsigned short columna, int matriz[][columna])
  16. {
  17. unsigned short i, j, inicio, limitecolumna, limitefila, tope, x;
  18. inicio = 0; //desde donde comienza a llenarse
  19. limitecolumna = columna ;// donde comienza el desenso
  20. limitefila = fila;
  21. tope = fila * columna ;//hasta donde se llena, que es la cantidad de elementos
  22. x = 1; //valores dentro de la matriz
  23. i = 0 ;
  24. /*La matriz se llena con 4 for, dos para filas y dos para columnas. Los primeros dos for empiezan cargando la primera fila y la ultima columna. Los otros dos cargan cargan desde la ultima fila hacia la ultima columna. Los for no estan anidados, el while debe ejecutarse hasta llenar la matriz*/
  25. while (x <= tope)
  26. {
  27. for(j = inicio; j < limitecolumna ; j++ )
  28. {
  29. matriz[i][j] = x++;
  30. /*x++;*/
  31. }
  32. for(i = inicio + 1 ; i < limitefila ; i++)
  33. {
  34. matriz[i][j-1]= x++;
  35. /*x++;*/
  36. }
  37. for (j = limitecolumna - 1 ; j > inicio ; j--)
  38. {
  39. matriz[i-1][j-1]= x++;
  40. /*x++;*/
  41. }
  42. for (i = limitefila - 1; i > inicio + 1 ; i--)
  43. {
  44. matriz[i-1][j]= x++;
  45. /*x++;*/
  46. }
  47. inicio++;
  48. limitecolumna --;
  49. limitefila--;
  50. }
  51. for (i =0 ; i < fila ; i++){
  52. printf("n");
  53. for (j = 0; j < columna ; j++)
  54. printf("%it", matriz[i][j]);
  55. }
  56. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement