C-ben hogyan tudnám megszámolni a nem nullával kezdődő sorokat egy file-ban?
C-hez nem értek /pascalt tanulom/ de hátha eltudsz indulni ezen
var k: integer;
f: text;
a porgram törzsben
az f változóba behívod /assign-nálod/ a file-t
Addig olvassuk a tobbi sort amig nincs vege a file-nak
{ While Not Eof(F) Do
Begin
ReadLn(F, Sor2);
if sor2 = 0 1 2 .... { itt a nullán van a hangsúly} then k:=k+1;
end;
legalábbis valami hasonló lenne pascalban gondolom c-ben se sokkal másabb
Az nem pointer hanem file descriptor, vagy fájl leíró magyarul.
Valahogy így, nem próbáltam ki.Az str egy string,(egy karaktertömb) db egy int amit 0-ra inicializálsz.
while (!feof(be)) {
fscanf (be, "%s", str);
if ((strlen(str)>0)&&(str[0]='0'))
db++;
}
fclose (be);
Hopsz a "if ((strlen(str)>0)&&(str[0]='0'))" helyett
if ((strlen(str)>0)&&(str[0]!='0'))
"if sor2 = 0 1 2 .... { itt a nullán van a hangsúly} then k:=k+1;"
Simán írhattad volna a megoldást pascalba
if (length(sor2)>0)and(sor2[1]<>0) then
k:=k+1;
"legalábbis valami hasonló lenne pascalban gondolom c-ben se sokkal másabb"
Annyira nem más.
length helyett strlen && helyett and, kötelező ()-be lennie if után az egész kifejezésnek.
readln helyett fscanf. begin helyett {.
Pascalba 1-től indexeljük a string-et, c-ben 0-ától.
Formai apróságok.
Kapcsolódó kérdések:
Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!