Robię zdanie maturalne z 2012.
podpunkty a i b poszły mi bez problemu, zrobione w chwilę. w podpunkcie c) chciałem pobrać całą linię i później sprawdzać po kolei cyfry czy tworzą ciąg rosnący..
Nie działa mi pobieranie całej linii.. a dokładnie ten fragment :
fgets(cyfry,100,plik);
próbując zamknąć plik, tj.
fclose(plik);
również jest ten sam błąd.
Kompiluje się, ale wyskakuje błąd przy uruchomieniu.. Co jest nie tak? prosiłbym o pomoc, nie wiem czy coś przeoczyłem czy pomyliłem.
Tutaj cały program :
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
FILE *plik;
int liczba=0;
int i=0;
int a=0;
int tab[1000];
int max=0;
int min=81;
int max_liczba=0;
int min_liczba=0;
char cyfry[100];
int rozdziel(int number)
{
int wynik=0;
while(number!=0)
{
wynik+=number%10;
number=number/10;
}
return wynik;
}
int main(int argc, char *argv[])
{
plik=fopen("C:\\cyfry.txt","r");
for(i=1;i<=1000;i++)
{
fscanf(plik,"%d",&liczba); //a
if(liczba%2==0) a++;
tab[i]=rozdziel(liczba); //b
if(tab[i]>max)
{
max=tab[i];
max_liczba=liczba;
}
if(tab[i]<min)
{
min=tab[i];
min_liczba=liczba;
}
fgets(cyfry,100,plik);
}
printf("%d \n",a);
printf("%d \n",max_liczba);
printf("%d \n",min_liczba);
system("PAUSE");
return 0;
}