Kahjuks pole õrna aimugi c++ keelest, kuid huvi pärast sai natuke googeldatud.
Kõigepealt peaksid vist määrama muutuja rida tüübi ehk enne fgets läheb "char rida [100];"
Siiski antud koodi loogika jääb mulle arusaamatuks. Mis juhtub selle koodiga?:
Kood:
char rida [100];
m=0;
if(fgets(rida,100,andmebaas))!=NULL)
{
m+=1;
raamat[m]=rida;
}
n = 0;
do
{
n += 1;
if(raamat[n] == NULL)
{
printf("Nii palju vaba mälu ei ole!\n");
printf("Vajuta suvalisele klahvile...");
getch();
return 0;
}
}while(!feof(andmebaas));
for(int i = 1; i <= 5; i++)
{
printf("%s", raamat[i]);
}
for(int i = 1; i <= n; i++)
{
free(raamat[i]);
}
See on suht võhiku pakkumine. Kui selles on formaalsuse vigu, siis paranda neid. Kuna ma ei tea, kuidas see kood toimib, siis kasutasin seda loogikat, et kõigepealt saab iga rida oma muutuja (raamat[m]) ning muutuja m maksimaalne väärtus on ridade hulk.
Kuna sul on tarvis ainult esimest viite, siis i on 1-5.
Kui mingit lollust rääkisin, siis anna andeks!
