Hirdetés
- Meggyi001: Eldugott helyek Párizsban, amiket jó eséllyel még nem láttál... 3. rész
- Luck Dragon: Asszociációs játék. :)
- gban: Ingyen kellene, de tegnapra
- Parci: Milyen mosógépet vegyek?
- Gurulunk, WAZE?!
- eBay-es kütyük kis pénzért
- NASsoljunk: ZyXEL NSA-310 és az FFP
- Szevam: ChatGPT: Bizonytalansági jelölés funkció bekapcsolása
- f(x)=exp(x): A laposföld elmebaj: Vissza a jövőbe!
- D1Rect: Nagy "hülyétkapokazapróktól" topik
Új hozzászólás Aktív témák
-
WonderCSabo
félisten
válasz
it_service
#3284
üzenetére
Hogy először?
-
WonderCSabo
félisten
válasz
it_service
#3281
üzenetére
Félreérted a C string kezelését. Stringeket akarsz beolvasni, nem?
C-ben a stringek karakter tömbbökként vannak reprezentálva. Minden string végén kell lennie egy lezáró 0 -nak a tömbben. Ez nem a tömb végét, hanem a string végét jelzi, ergó a tömbben bárhol, lehet. A stringnek bele kell férnie a lezáró nullával együtt a tömbbe, különben gáz lesz (ergó a tömb mérete > string hossza - 1).
Tehát, amikor Te beolvastad a tömbbe a stringet, akkor nem az n-dik string sort írtad bele, és tároltad az összeset, hanem csak mindig felülírtad az előzőt, mivel egy karaktertömb egy stringet tárol (persze még ez se ment, mivel rossz volt a szintaktika).
Átírtam, így mindig beolvassa a stringet, és ha a 100-at olvasta be, akkor kiírja.
Ha stringek tömbjét akarsz, akkor karakterek mátrixában kell tárolnod őket.
A számlálóra pedig 100-at kell vizsgálnod, nem 99-et, mivel a vizsgálat előtt növeled meg azt, nem utána, és 0-ról indul.
system hívásokat meg ne használj ilyenre. Ha meg akarod akadályozni az ablak bezáródásást, hívj egy getchar() -t a return előtt. Return pedig mindig kell a main fv.-ben ... (meg persze minden nem void fv.-ben)
#include <stdio.h>
int main()
{
FILE* file = fopen("beolvas.txt", "r");
char str[200];
int szamlalo = 0;
while(fscanf(file, "%s", str) != EOF)
{
szamlalo++;
if(szamlalo == 100)
printf("%s", str);
}
fclose(file);
getchar();
return 0;
} -
WonderCSabo
félisten
válasz
it_service
#3279
üzenetére
Hát akkor mutasd meg a kódot, és megnézzük mi a baja.
-
WonderCSabo
félisten
válasz
it_service
#3277
üzenetére
Lehet így is. Igazából tömbbe csak akkor kell tárolnod, ha később is akarod még használni az értékeket, ha csak ki akarod írni, akkor elég a feltételes kiírás, nem kell a tárolás. Illetve a tömb mérete fix, ergó ha a fájl mérete ismeretlen, akkor egy jó nagy tömböt kell deklarálnod, amibe biztos belefér az adat.
-
bucsupeti
senior tag
válasz
it_service
#3274
üzenetére
tömbbe (listába) olvasod be a sorokat, majd beindexelve kiíratod.
-
WonderCSabo
félisten
válasz
it_service
#3274
üzenetére
Olvasod a sorokat, és közben növelsz egy számlálót. Ha a számláló 100-hoz ér, kiírod az aktuális sort.
-
WonderCSabo
félisten
válasz
it_service
#3270
üzenetére
Igen, paritást így lehet ellenőrizni.
-
WonderCSabo
félisten
válasz
it_service
#3268
üzenetére
Akkor baromi egyszerű az eset. Simán a ciklusmagban végzel egy számlálást a num változót vizsgálva, aztán a ciklus lefutása után kiírod a számot egy fájlba.
-
WonderCSabo
félisten
válasz
it_service
#3266
üzenetére
Ez a kód, amit írtam, egy olyan fájlt feltételez, amiben intek whitespacekkel van elválasztva. (én így értelmeztem az első hszedet). Szépen beolvassa az adott int-et, aztán te meg meg tudod vizsgálni a ciklusmagban, hogy az adott int páros-e vagy sem.
Vagy Neked soronként van több int, és soronként kell a párosokat megszámolni, nem az egész fájlban?
-
WonderCSabo
félisten
válasz
it_service
#3264
üzenetére
#include <stdio.h>
int main()
{
// megnyitjuk a filet olvasásra
FILE* file = fopen("valami.txt", "r");
int num;
// beolvasunk egy intet a fileból soronként, amíg nincs vége
while(fscanf(file, "%d", &num) != EOF)
{
// itt megnenézed páros-e, stb.
}
fclose(file);
return 0;
}
Új hozzászólás Aktív témák
● olvasd el a téma összefoglalót!
● ha kódot szúrsz be, használd a PROGRAMKÓD formázási funkciót!
- ÚJ (Pici hibával) Xtrfy M8 Wireless Bolti ár:28k INGYEN FOXPOST
- ÚJ Pulsar Gaming Gears X2V2 Mini Bolti ár:33k INGYEN FOXPOST
- ÚJ HP Victus 15 - 15.6" FHD IPS 144Hz - Ryzen 5 8645HS - 16GB - 512GB - RTX 4050 - Win11 - 3 év gari
- Rezgéscsillapítók, távtartók (vízhűtéshez kiemelten), szűrők ventillátorhoz és táphoz
- Dell Precision 7770 17,3 FHD Laptop,i7-12850HX,32GB DDR5,RTX 3000 12GB,1TB,100% akku,NBD gari 2026ig
- Thinkpad L13 Yoga i5-10210U 16GB 512GB 13.3", Touch gyári magyar világítós bill 360 Gar.: 1év
- Apple iPhone 14 Plus 256GB,Átlagos,Dobozával,12 hónap garanciával
- Samsung Galaxy Z Fold6 -12/256 GB Használt Media Markt garancia 2028. 07. 03-ig + 1 év Gold
- Workstation bazár - Lenovo, HP, Dell - számla, 6 hó garancia
- HIBÁTLAN iPhone 14 Pro Max 128GB Silver -1 ÉV GARANCIA - Kártyafüggetlen, MS3937, 100% Akkumulátor
Állásajánlatok
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest
Cég: Laptopműhely Bt.
Város: Budapest

