Quicksort con archivo .txt

Cerrado
IvannaCruzQ
Message postés
1
Date d'inscription
lunes, 17 de mayo de 2021
Estatus
Miembro
Última intervención
lunes, 17 de mayo de 2021
- Modificado el 17 may 2021 a las 03:07
Hola,
Tengo un trabajo en el cual tengo que hacer un código con el método quicksort, en el cual tengo que ordenar un archivo con caracteres numéricos.
Son más de 19,000 números.
Tengo implementado un código en el cual el usuario ingresa los números y solo tengo que modificarlo para que tome los del .txt.

¿Cómo podría abrir el archivo y que me tome los números?

#include <stdio.h>



void qs(int lista[],int limite_izq,int limite_der){
int izq,der,temporal,pivote;
izq=limite_izq;
der = limite_der;
pivote = lista[(izq+der)/2];



do{
while(lista[izq]<pivote && izq<limite_der)izq++;
while(pivote<lista[der] && der > limite_izq)der--;
if(izq <=der){
temporal= lista[izq];
lista[izq]=lista[der];
lista[der]=temporal;
izq++;
der--;



}
}while(izq<=der);
if(limite_izq<der){qs(lista,limite_izq,der);}
if(limite_der>izq){qs(lista,izq,limite_der);}
}



void quicksort(int lista[],int n){
qs(lista,0,n-1);
}

int main(int argc, const char * argv[]){
int k;
do{
printf("Ingrese la cantidad de n%cmeros que desea ordenar: ", 163);
scanf("%d", &k);
if(k<=0){
printf("ERROR!!\n Ingrese un numero valido");
}
}while (k<=0);

int lista[k], i;
printf("\nIngrese la lista de n%cmeros para ordenar: \n", 163);
for (i=0;i<k;i++){
scanf("%d", &lista[i]);
}
int size = sizeof(lista)/sizeof(int);
printf("\nLista Desordenada \n");
for (i=0; i<size; i++) {
printf("%d",lista[i]);
if(i<size-1)
printf(",");
}
printf("\n");
quicksort(lista,size);



printf("\nLista Ordenada \n");
for (i=0; i<size; i++) {
printf("%d",lista[i]);
if(i<size-1)
printf(",");
}

return 0;
}



Configuración: Windows / Chrome 90.0.4430.212