Gracias por responder.
Te cuento lo que quiero es lo siguiente.
A mi me piden que muestre por pantalla una matriz, la cual tiene que ser recorrida en forma de espiral.
Ejemplo
1 2 3 4
5 6 7 8
9 10 11 12
13 14 15 16
Esta seria la matriz que yo ingreso y tendria que mostrarla asi
Primer elemento que muestro
1
Segundo elemento que muestro
1 2
Tercer elemento que muestro
1 2 3
Me salteo hasta el 5 para que puedas verlo mas claro
1 2 3 4
8
Asi tendria que aparecer el 6 elemento
1 2 3 4
8
12
Como podes ver la voy mostrando como si fuera un espiral de afuera hacia adentro, el tema es que tendria que mostrar los elementos con una minima pausa y que aparezcan con ese orden (de espiral). desde ya muchas gracias, te muestro lo que tengo por ahora del programa al cual le falta esto.
Saludos.
[/CODE]
#include <stdio.h>
#include <conio.h>
void cargar (int mat [][5]);
void mostrar (int mat [][5]);
void emaximo (int mat [][5]);
void multiplo (int mat [][5]);
void sumatoria (int mat [][5]);
void sumadiag (int mat[] [5]);
void ordenar (int mat[] [5]);
void main (){
int m[5][5];
cargar(m);
mostrar(m);
emaximo(m);
multiplo(m);
sumatoria(m);
sumadiag(m);
ordenar(m);
}
void cargar(int mat[][5]){
int i,j;
for(i=0;i<5;i++){
for(j=0;j<5;j++){
printf ("Ingrese Numero de Fila %d Columna %d : ",i+1,j+1);
scanf("%d",&mat[j]);
}
}
}
void mostrar (int mat[][5])
{
int i,j;
for (i=0;i<5;i++)
{
printf("\n");
for (j=0;j<5;j++)
{
printf(" %d",mat[j]);
}
}
}
void emaximo (int mat [][5])
{
int i,j,max=0,posi,posj;
for (i=0;i<5;i++)
{
for (j=0;j<5;j++)
{
if ((mat[j])>max)
{
max=mat[j];
posi=i;
posj=j;
}
}
}
printf ("\nPosicion del ultimo elemento maximo Fila:%d Columna:%d",posi+1,posj+1);
}
void multiplo (int mat[][5])
{
int i,j,mul;
for (i=0;i<5;i++)
{
for (j=0;j<5;j++)
{
if ((mat[j])%5==0)
{
mul=mat[j];
}
}
}
printf ("\nValor del ultimo elemento multiplo de 5:%d",mul);
}
void sumatoria (int mat[][5])
{
int i,j,resul=0;
for (j=0;j<5;j++)
{
resul=resul+mat[3][j];
}
printf("\nSuma de la fila 3:%d",resul);
resul=0;
for (i=0;i<5;i++)
{
resul=resul+mat[1];
}
printf("\nSuma de la Columna 1:%d",resul);
}
void sumadiag (int mat[][5])
{
int i,j=0,resul=0,result=0;
for (i=0;i<5;i++)
{
resul=resul+mat[j];
j++;
}
printf("\nSuma de la Diagonal principal:%d",resul);
i=4;
for (j=0;j<5;j++)
{
result=result+mat[j];
i--;
}
printf("\nSuma de la Diagonal secundaria:%d",result);
}
void ordenar (int mat[][5])
{
int i,j,aux;
for (j=0;j<5;j++)
{
for (i=0;i<5;i++)
{
if (mat[1][j]<mat[1])
{
aux=mat[1][j];
mat[1][j]=mat[1];
mat[1]=aux;
}
}
}
printf ("\n");
for (i=0;i<5;i++)
{
printf(" %d",mat[1]);
}
aux=0;
for (j=0;j<5;j++)
{
for (i=0;i<5;i++)
{
if (mat[j][2]>mat[2])
{
aux=mat[j][2];
mat[j][2]=mat[2];
mat[2]=aux;
}
}
}
printf ("\n");
for (i=0;i<5;i++)
{
printf(" %d",mat[2]);
}
}
[/CODE]