Hirdetés
- Itt a Galaxy S26 széria: az Ultra fejlődött, a másik kettő alig
- Samsung Galaxy A55 - új év, régi stratégia
- Samsung Galaxy S25 Ultra - titán keret, acélos teljesítmény
- Yettel topik
- Poco X6 Pro - ötös alá
- One mobilszolgáltatások
- Xiaomi 17 Ultra - jó az optikája
- MWC 2026: Farsangra Galaxy Ultrának öltözött a gyerek
- MWC 2026: Megmutatta a Vivo az X300 Ultrát
- Honor 200 Pro - mobilportré
Új hozzászólás Aktív témák
-
JmL
csendes tag
Sziasztok !
Kezdő vagyok a C nyelvben, emelt szintű érettségihez tanulom. Nincsenek nagy követelmények, megcsináltam már pár feladatsort, mentek is. Az eleje úgy kezdődik mindig, hogy egy txt fájlból kell adatokat beolvasni tömbökbe. Ez eddig ment mindig, most viszont valami nagyon nem stimmel, és egyszerűen nem tudom miért, jól jönne egy kis segítség :/
Szóval van egy fájl, konkrétan ez[link]Mivel az első sor tartalmaz a későbbiekben fontos adatokat, azokat csak sima változóba kell beolvasnom, tehát a tömbökbe való beolvasás a 2. sortól kezdődik. A problémám az, hogy mikor leellenőrzöm, hogy mindent jól olvasott-e be, nem azokat a számokat dobja ki, amiket kéne. Nem is látok benne logikát, hogy miért azokat dobja ki, amiket. Ráadásul valamelyik tömbelem jó, valamelyik nem.
Itt a kódom, ha valamit magyarázzak hozzá, csak szóljatok.
A txt-ben az első sor első száma azt jelenti, hogy hány sor van a tömbben a 2.-tól kezdődöen. 3 tömbbe olvasom az adatokat egy segédtömb segítségével. A segéd azért 3 elemű, mert a txt-ben lévő számok maximum 3 számjegyűek.int eladott_jegyek, vonal_hossz, fizetendo_osszeg, i;
char seged[3];
FILE * eladott = fopen ("eladott1.txt","rt");
fscanf(eladott,"%s",seged);
eladott_jegyek = atoi(seged);
fscanf(eladott,"%s",seged);
vonal_hossz = atoi(seged);
fscanf(eladott,"%s",seged);
fizetendo_osszeg = atoi(seged);
int ules_szam[eladott_jegyek], fel_szall[eladott_jegyek], le_szall[eladott_jegyek];
for (i=0;i<eladott_jegyek;i++) {
fscanf(eladott,"%s",seged);
ules_szam[i] = atoi(seged);
fscanf(eladott,"%s",seged);
fel_szall[i] = atoi(seged);
fscanf(eladott,"%s",seged);
le_szall[i] = atoi(seged);
}
for (i=0;i<eladott_jegyek;i++) {
printf("%d ",ules_szam[i]);
printf("%d ",fel_szall[i]);
printf("%d\n",le_szall[i]);
}Például már eleve az első sorok nem jók, az ules_szam tömb 0. eleme még jó, a fel_szall tömb 0. eleme szintén jó, majd a le_szall 0. eleme teljesen rossz, 12 helyett 1958474236-t olvas be.
Nem értem, hogy miért, légyszi segítsetek :/
Előre is köszönöm annak, aki fáradozik azzal hogy segítsen !!
Ú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!
- szinteÚJ! Microsoft Surface Laptop 5 13.5" i5-1245U 16GB 512GB Alcantara 1év garancia
- HIBÁTLAN iPhone 12 256GB Blue-1 ÉV GARANCIA - Kártyafüggetlen, MS4462
- Használt Artfone A400 4G Senior mobiltelefon / 12 hó jótállás
- Akció! Csere-Beszámítás! Asus Zenbook 14 UM425IA! R7 4700U / 8GB / 512GB SSD!
- MSI 17 Pulse FHD IPS 144Hz i7-13700H 14mag 16GB 512GB SSD Nvidia RTX 4060 8GB 140W Win11 Garancia
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest


