Skocz do zawartości

[c] Czytanie z pliku i sortowanie przez wybieranie


kamillotop

Polecane posty

Witam,

 

Borykam sie z problem sortowania wyciagnietych z pliku znakow. Z zalozenia beda to slowa.. narazie wstepnie testowalem to na liczbach i niestety nie sortuje. Byłbym wdzieczni, gdyby ktos zyczliwy rzucil okiem.. co moze byc nie tak?

 

 
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
void sortowanie(int*tabela, int n){
       int i,j,tmp,min;
       for(i=0;i<n-1;i++){
       min=i;
       for(j=i+1;j<n;j++)
       if(tabela[j]<tabela[min])
       min=j;
       tmp=tabela[i];
       tabela[i]=tabela[min];
       tabela[min]=tmp;
       }
}
main(){
int i,n,d;
char bufor[25];
char ** tabela;
FILE * plik;
plik=fopen("te","r");
n=0;
while(fgets(bufor,25,plik)!=NULL)
n++;
rewind(plik);
tabela=(char**)malloc(n*sizeof(char*));
printf("Przed sortowaniem\n");
for(i=0;i<n;i++){
               fgets(bufor,25,plik);
               d=strlen(bufor);
               tabela[i]=(char*)malloc(d);
               strncpy(tabela[i],bufor,d-1);
               tabela[i][d-1]=0;
               printf("%s\n",tabela[i]);
               }

//sortowanie
sortowanie(tabela,n);

//wyswietlenie finalu
for(i=0;i<n;i++){
       printf("%s\n",tabela[i]);
}

fclose(plik);
return(0);
}

Link do komentarza
Udostępnij na innych stronach

Odpaliłem ten kod,

dołączając uprzednio plik tekstowy z danymi,

program zawiesza się nic nie wyświetlając!!!

zresztą od razu widać, że pisał go ktoś nie mający pojęcia co robi...

Nie mam ochoty dalej bawić się tym kodem a pisać od początku...

sami wiecie :rolleyes:

Proponuje koledze poczytać troszkę, na googlach znajdzie dużo informacji oraz gotowe programy.

Pozdrawiam!

Link do komentarza
Udostępnij na innych stronach

Hi!

 

Kolego, robisz ciekawe rzeczy:

 

 tabela=(char**)malloc(n*sizeof(char*));

 

może lepiej najpierw przeczytaj jakąś książkę bądź kurs c++??

 

kod który pokazałeś jest strasznie zakręcony... ma troszkę za dużo błędów abyśmy mogli Ci tu pomóc :blink::(

 

moim zdaniem borykasz się... ale nie z sortowaniem a z c++ :(

 

do nauki! od podstaw i bez omijania rozdziałów, zacznij od prostych programów

 

a zajdziesz daleko :rolleyes:

 

Pozdrawiam!

Link do komentarza
Udostępnij na innych stronach

Zarchiwizowany

Ten temat jest archiwizowany i nie można dodawać nowych odpowiedzi.

×
×
  • Utwórz nowe...