Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /*
- 6. Napisz program, który zapisze do pliku 20 liczb typu int wylosowanych z zakresu od -10 do 10, a następnie wypisze je na ekran i poda, która z nich jest największa, a która najmniejsza.
- */
- #include <stdio.h>
- #include <stdlib.h>
- #include <time.h>
- void zapisz_do_pliku(FILE *plik)
- {
- srand(time(NULL));
- for(int i = 0; i < 20; i++)
- fprintf(plik, "%d\n", (rand() % 21) - 10);
- }
- void wypisz_liczby_z_pliku(FILE *plik)
- {
- int tmp;
- while(!feof(plik)){
- fscanf(plik, "%d", &tmp);
- if(!feof(plik))
- printf("%d\n", tmp);
- }
- }
- void wypisz_najwieksza_liczbe(FILE *plik)
- {
- int tmp, max;
- fscanf(plik, "%d", &max);
- while(!feof(plik)){
- fscanf(plik, "%d", &tmp);
- if(tmp > max)
- max = tmp;
- }
- printf("Najwieksza liczba: %d\n", max);
- }
- void wypisz_najmniejsza_liczbe(FILE *plik)
- {
- int tmp, min;
- fscanf(plik, "%d", &min);
- while(!feof(plik)){
- fscanf(plik, "%d", &tmp);
- if(tmp < min)
- min = tmp;
- }
- printf("Najmniejsza liczba: %d\n", min);
- }
- int main(void)
- {
- FILE *plik;
- plik = fopen("plik.txt", "w+");
- if(plik == NULL){
- printf("Blad otwarcia pliku!\n");
- return -1;
- }
- zapisz_do_pliku(plik);
- // Wypisz liczby z pliku
- if(fseek(plik, 0, SEEK_SET) == -1){
- printf("Blad przesuwania wskaznika pliku!\n");
- return -1;
- }
- wypisz_liczby_z_pliku(plik);
- // Wypisz najwieksza liczbe
- if(fseek(plik, 0, SEEK_SET) == -1){
- printf("Blad przesuwania wskaznika pliku!\n");
- return -1;
- }
- wypisz_najwieksza_liczbe(plik);
- // Wypisz najmniejsza liczbe
- if(fseek(plik, 0, SEEK_SET) == -1){
- printf("Blad przesuwania wskaznika pliku!\n");
- return -1;
- }
- wypisz_najmniejsza_liczbe(plik);
- if(fclose(plik)){
- printf("Blad zamkniecia pliku!\n");
- return -1;
- }
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement