Ayuda con este programa en C, por favor! :c

#1
Tengo este código, mi objetivo es aplicar ordenamiento por selección directa sobre una matriz, por ejemplo doy esta matriz:
5 6 1
7 9 3
2 4 8
y me imprime:
3 6 1
7 8 5
2 4 9
y quiero que me quede así:
1 2 3
4 5 6
7 8 9
----------
Este es el código
-----------
#include <stdio.h>

int main()
{
int m['f']['c'];
int f,c,aux,loi,loj,min;
int i,j,x,y,n;
char resp;
do{

printf("Indica numero de filas\n");
scanf("%d",&f);
printf("Indica numero de columnas\n");
scanf("%d",&c);
printf("Ingresa los valores\n");

for(i = 0; i < f; i++)
for(j = 0; j < c; j++)
{
scanf( "%d", &m[j] );
}

printf("Los elementos del arreglo son:\n");
for(i = 0; i < f; i++)
{
for(j = 0; j < c; j++)
printf("%d ", m[j]);
printf("\n");
}

//ordenamiento//

for(i=0;i<f-1;i++)
for(j=0;j<c-1;j++)
{
min=m[j];
loi=i;
loj=j;
for(x=i+1;x<f;x++)
for(y=i+1;y<c;y++)


if ( min > m[x][y] )
{
min=m[x][y];
loi=x;
loj=y;
}
if ( loi != i && loj !=j )
{
aux = m[j];
m[j] = m[loi][loj];
m[loi][loj] = aux;
}
}
// fin ordenamiento//

printf("valores ordenados\n");
for(i = 0; i < f; i++)
{
for(j = 0; j < c; j++)
printf("%d ", m[j]);
printf("\n");
}



printf ("Desea hacer otro ordenamiento?\n s)si, n)no\n");
scanf("%s",&resp);
}while(resp=='s');
}

-------
¿Me pordrían decir qué estoy haciendo mal? Por favor :c
 

devore

Bovino adolescente
#2
crea un vector auxiliar[9] recorre la matriz por filas con un for y guarda cada elemento en la matriz de 0 a 8.... luego ordena el vector con el algoritmo de seleccion
y luego pues metes los datos de nuevo en la matriz ... o puede ordenar cada fila de la matriz con el algoritmo de seleccion y queda mas facil .... ;= mmmm

for j=0; j<3; j++
for k=0; k<3; k++
aqui va el de seleccion sobre la matriz en m[j] y ordenas sobre k... y ya pues le sigues y asi queda
 

devore

Bovino adolescente
#3
PUES HABER SI TE SIRVE ESTE BOSQUEJO TU LO TIENES QUE RAZONAR

crea un vector auxiliar[9] recorre la matriz por filas con un for y guarda cada elemento en la matriz de 0 a 8.... luego ordena el vector con el algoritmo de seleccion
y luego pues metes los datos de nuevo en la matriz ... o puede ordenar cada fila de la matriz con el algoritmo de seleccion y queda mas facil .... ;= mmmm

for j=0; j<3; j++
for k=0; k<3; k++
aqui va el de seleccion sobre la matriz en m[j] y ordenas sobre k... y ya pues le sigues y asi queda
 

jethrox

Bovino Milenario
#4
mira tengo el de selección pero esta en funciones y no se parece nada al tuyo, y no solo es un arreglo u no matriz
 
Arriba