Napisz program pobierający z pliku txt o nazwie no załóżmy plik.txt informacje w nim zawarte czyli liczby. Oczywiście za pomocą fgetc(). Następnie pobrane liczby ma posortować (metoda dowolną) i wynik zapisac do pliku sort.txt.
To wszystko w skrócie.
Kod na odczyt z txt znam, kod na sortowanie - no coś tam coś tam, na zapis też, ale za nic w świecie nie wiem jak to ze sobą zgrać…
Zakładam, że każda liczba w osobnej linii. Sortowanie bąbelkowe. Program pisałem w oknie odpowiedzi i może mieć błędy. W fgetc() nie ma nic oczywistego - użyję fscanf().
#include
void main(void) {
int tablica[1024]; // tablica statyczna dla prostoty
int indeks = 0; // pozycja w pliku (linia)
int i, j, min, minpos; // zmienne pomocnicze
FILE *plik; // uchwyt pliku
plik = fopen("plik.txt", "rt");
while ( (!feof(plik)) && (indeks < 1024) ) {
fscanf(plik, "%d", &tablica[indeks++]);
}
fclose(plik);
plik = fopen("sort.txt", "wt");
for (i=0; i
min = tablica[i];
minpos = i;
for (j=i+1; j
if (tablica[j] < min) {
min = tablica[j];
minpos = i;
}
}
tablica[minpos] = tablica[i];
tablica[i] = min;
fprintf(plik, "%d\n", min);
}
fclose(plik);
}
Można na kilka prostszych lub krótszych sposobów. Kod sprawdzę później albo jak wrócę do domu.