Ordenamiento en C
Publicado por Carlos (3 intervenciones) el 15/03/2007 03:42:49
Hola, necesito ayuda URGENTE con el codigo para un programa que me importe un erchivo plano (xxx;xxx) de mil datos; este debe llenar un vector y ademas ordenarlo por alguna de las dos columnas.
Hasta ahora tengo esta estructura, pero no logro llenar el vector, aqui lo ordeno supuestamente por seleccion directa:
#include <stdio.h>
#define N 10
void main()
{
int i,sw=0,num=0,c=0,l;//Menor,k,j;
int Vec[N] = {0};
while((l=getchar())!=EOF)
{
if(l==59)
sw=1;
if((sw==0)&&(l!=59))
{
if(l!=10)
{
l-=48;
num=(num*10)+l;
}
else
{
Vec[c]=num;
sw=0;
num=0;
c++;
}
}
/*else
{
sw=0;
printf("\n");
}*/
}
//Mostrar vector desordenado
printf("Vector desordenado:\n");
for(i=0;i<N;i++)
printf("%d\n",Vec[i]);
/* for(i=0;i<N;i++)
{
Menor = Vec[i];
k = i;
for(j=i+1;j<N;j++)
{
if (Vec[j] < Menor)
{
Menor = Vec[j];
k = j;
}
}
Vec[k] = Vec[i];
Vec[i] = Menor;
}
//Mostrar vector ordenado
printf("\nVector ordenado por Selección Directa.\n");
for(i=0;i<N;i++)
printf("%d\n",Vec[i]);*/
}
Hasta ahora tengo esta estructura, pero no logro llenar el vector, aqui lo ordeno supuestamente por seleccion directa:
#include <stdio.h>
#define N 10
void main()
{
int i,sw=0,num=0,c=0,l;//Menor,k,j;
int Vec[N] = {0};
while((l=getchar())!=EOF)
{
if(l==59)
sw=1;
if((sw==0)&&(l!=59))
{
if(l!=10)
{
l-=48;
num=(num*10)+l;
}
else
{
Vec[c]=num;
sw=0;
num=0;
c++;
}
}
/*else
{
sw=0;
printf("\n");
}*/
}
//Mostrar vector desordenado
printf("Vector desordenado:\n");
for(i=0;i<N;i++)
printf("%d\n",Vec[i]);
/* for(i=0;i<N;i++)
{
Menor = Vec[i];
k = i;
for(j=i+1;j<N;j++)
{
if (Vec[j] < Menor)
{
Menor = Vec[j];
k = j;
}
}
Vec[k] = Vec[i];
Vec[i] = Menor;
}
//Mostrar vector ordenado
printf("\nVector ordenado por Selección Directa.\n");
for(i=0;i<N;i++)
printf("%d\n",Vec[i]);*/
}
Valora esta pregunta


0