Witam.
Mam problem z działaniem mojego programu. Program sortuje tylko pierwsza linię pobraną z pliki tekstowego. Chciałbym aby program robił to samo dla następnych linii a nie tylko pierwszej.
Oto kod:
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#include <assert.h>
int porzadek = 1;
int porownaj(char *a, char *b)
{
if((porzadek >= 0 && strcmp(a, b)>0) || (porzadek < 0 && strcmp(a, b)<=0))
return 1;
return 0;
}
void babelki(char** tablica, int N)
{
int zamienione, i, tmp;
do
{
zamienione=0;
for(i=0;i<N-1;i++)
if(porownaj(tablica[i], tablica[i+1]))
{
tmp=tablica[i];
tablica[i]=tablica[i+1];
tablica[i+1]=tmp;
zamienione=1;
}
}
while(zamienione);
}
void wypisz(char** tablica, int N){
char i=0;
for(i=0;i<N;i++)
printf("%c", **(tablica+i));
}
void kopiuj(char** skad, char** dokad, int N)
{
int i;
for(i=0;i<N; i++)
*(dokad++)=*(skad++);
}
int main()
{
char line[256];
char* sig[256];
int ilosc = 0;
int i = 0;
FILE *infile;
char *inname = "---";//tutaj jest ścieżka do pliku z którego czytane są linie
infile = fopen(inname, "r");
fgets(line, sizeof(line), infile);
printf("%s\n", line);
while (*(line+i) != '\0')
{
if (*(line+i) != ' ')
sig[ilosc++] = line+i;
i++;
}
babelki(sig, ilosc);
wypisz(sig,ilosc);
return 0;
}
Czy mógłby ktoś podać fragment kodu(prawidłowego) i miejsce w które należy go wstawić? Proszę o szybką pomoc.