como ordenar matrices?
Publicado por alexander-pedro (1 intervención) el 17/07/2013 21:12:57
necesito q me ayuden con este programa en c
Utilice un arreglo con dos subíndices de un tamaño arbitrario cuyo contenido es ingresado por el usuario. A continuación desarrolle las estructuras for que permitan recorrer la matriz de las siguientes maneras:
a. De abajo a arriba y de derecha a izquierda
b. En zigzag empezando por el extremo inferior derecho
Antes de avanzar al siguiente elemento de la matriz solicite al usuario que oprima una tecla para continuar y despliegue la matriz con el valor de la posición actual sustituido por el carácter *
hasta el momento mi programa esta asi:
#include <stdio.h>
int main(void)
{
int f,c, j, numf, numc;
int matriz[20][20];
printf("Digite el numero de filas: ");
scanf("%d", &numf);
printf("Digite el numero de columnas: ");
scanf("%d", &numc);
printf("\n");
for(f=0; f<numf; f++)
{
for(c=0; c<numc; c++)
{
printf("posicion [%d][%d]:", f, c);
scanf("%d",&matriz[f][c]);
}
}
printf("\n");
printf("ESTA ES SU MATRIZ INTRODUCIDA:\n");
printf("\n");
for(f=0; f<numf ;f++)
{
for(c=0; c<numc; c++)
{
printf("[%d]", matriz[f][c]);
}
printf("\n");
}
printf("\nRECORRDOS DE LA MATRIZ ANTERIOR\n");
// Recorriendo de filas de abajo a arriba y de derecha a izquierda
printf("\nRecorriendo de abajo a arriba y columnas de derecha a izquierda : \n");
printf("\n");
for (f = numf- 1; f >= 0; f--)
{
for (c = numc- 1; c >= 0; c--)
{
printf("[%d]",matriz[f][c]);
}
printf("\n");
}
/*
//la maytz anterior en zigzag
printf("\nrecorrido en sigzag\n");
int k=1;
for (f=0;f<numf;f++)
{
if (f%2!=0)
{
for (c=0;c<numc;c++)
{
matriz[f][c]=k;
k++;
}
}
else
{
for (c=numc;c>=0;c--)
{
matriz[f][c]=k;
k++;
}
}
}
for (f=0;f<numf;f++)
{
printf("\n");
for (c=0;c<numc;c++)
{
printf("[%d] ",matriz[f][c]);
}
}
*/
return 0;
}
Utilice un arreglo con dos subíndices de un tamaño arbitrario cuyo contenido es ingresado por el usuario. A continuación desarrolle las estructuras for que permitan recorrer la matriz de las siguientes maneras:
a. De abajo a arriba y de derecha a izquierda
b. En zigzag empezando por el extremo inferior derecho
Antes de avanzar al siguiente elemento de la matriz solicite al usuario que oprima una tecla para continuar y despliegue la matriz con el valor de la posición actual sustituido por el carácter *
hasta el momento mi programa esta asi:
#include <stdio.h>
int main(void)
{
int f,c, j, numf, numc;
int matriz[20][20];
printf("Digite el numero de filas: ");
scanf("%d", &numf);
printf("Digite el numero de columnas: ");
scanf("%d", &numc);
printf("\n");
for(f=0; f<numf; f++)
{
for(c=0; c<numc; c++)
{
printf("posicion [%d][%d]:", f, c);
scanf("%d",&matriz[f][c]);
}
}
printf("\n");
printf("ESTA ES SU MATRIZ INTRODUCIDA:\n");
printf("\n");
for(f=0; f<numf ;f++)
{
for(c=0; c<numc; c++)
{
printf("[%d]", matriz[f][c]);
}
printf("\n");
}
printf("\nRECORRDOS DE LA MATRIZ ANTERIOR\n");
// Recorriendo de filas de abajo a arriba y de derecha a izquierda
printf("\nRecorriendo de abajo a arriba y columnas de derecha a izquierda : \n");
printf("\n");
for (f = numf- 1; f >= 0; f--)
{
for (c = numc- 1; c >= 0; c--)
{
printf("[%d]",matriz[f][c]);
}
printf("\n");
}
/*
//la maytz anterior en zigzag
printf("\nrecorrido en sigzag\n");
int k=1;
for (f=0;f<numf;f++)
{
if (f%2!=0)
{
for (c=0;c<numc;c++)
{
matriz[f][c]=k;
k++;
}
}
else
{
for (c=numc;c>=0;c--)
{
matriz[f][c]=k;
k++;
}
}
}
for (f=0;f<numf;f++)
{
printf("\n");
for (c=0;c<numc;c++)
{
printf("[%d] ",matriz[f][c]);
}
}
*/
return 0;
}
Valora esta pregunta


0