Hirdetés
- Lassacskán fenyőfát állítanak a hardverek
- Tudjuk, de nem tesszük: a magyarok többsége nem törődik adatai védelmével
- Mesébe illő csodakábelt tervezett a GeForce-ok leégése ellen a Segotep?
- Irodát kért, de gyárat kapott Elon Musk a Samsungtól
- Nyílt forráskódú lett a legegyszerűbben használható AI tartalomgeneráló
Új hozzászólás Aktív témák
-
Korcsii
őstag
válasz
gergo00
#2372
üzenetére
nah, szóval hogy olvasunk be sztringet?
char szoveg[123];
scanf("%s", szoveg);mondjuk ha azt írod be, hogy alma, akkor a végeredmény ez lesz:
szoveg[0] = 'a';
szoveg[1] = 'l';
szoveg[2] = 'm';
szoveg[3] = 'a';
szoveg[4] = '\0';magyarul a sztringeket a hosszuknál eggyel nagyobb char tömbben tároljuk
mivel neked kell még egy sor és egy oszlop/szó is (legalábbis remélem jól értettem), ezért kell még 2 dimenzió ezeknek is...
1. sor
2. oszlop/szó
3. karakter helyepl
char szoveg[12][12][123];
scanf("%s", szoveg[0][0]);
szoveg[0][0][0] = 'a';
szoveg[0][0][1] = 'l';
szoveg[0][0][2] = 'm';
szoveg[0][0][3] = 'a';
szoveg[0][0][4] = '\0'no de ez ronda, mert ki tudja, hogy hány oszlop/sor kell, illetve milyen hosszú lesz a szöveg, amit tárolni akarunk...
erre jó a dinamikus memóriafoglalás, úgy csak annyit foglalunk le, amennyi tényleg kelleni fog (a mostani esetben 12*12*123 bájtot foglaltunk le, függetlenül attól, hogy tárolunk-e benne valamit)... viszont jó pár sorral több lesz úgy a kód, meg kicsit jobban oda ekll figyelni...
viszont érettséginél mindig megmondják, hogy max mekkora lehet (legalábbis tavalyig így volt), így csak azokat az értékeket kell behelyettesíteni...
-
Korcsii
őstag
válasz
gergo00
#2367
üzenetére
char *tomb[25][25][123];
while (!feof(fp))
{
fscanf(fp, "%s", tomb[sor][oszlop]);
}a kódodból kiindulva így gondoltam a 3D tömböt... mondjuk abban nem vagyok biztos, hogy a feof() nem csak eggyel később így fog igazzal visszatérni...
dinamikusan ez jóval összetettebb, de végül is szebb megoldást ad...
-
Korcsii
őstag
válasz
gergo00
#2365
üzenetére
ha 2 dimenziós tömbben akarsz stringet tárolni (pl [sor][oszlop]), akkor 3 dimenziós char tömb kell... vagy egy 2 dimenziós char * tömb, és akkor csak a pointerét tárolod, viszont akkor dinamikusan kell neki memóriát foglalni, és annak a helyét megadni pointernek... én érettségin az előbbit választottam, főleg azért, mert a dinamikus foglalásig nem jutottam el (nekem sem volt tanárom)...
Ú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!
- Xbox Series X, kitisztítva+újrapasztázva, 6 hó teljeskörű gar., Bp-i üzletből eladó!
- Nintendo Switch OLED Mario Edition 20.5, 512GB MicroSD + Android + Atmosphere, 3 hó garanciával
- Eladó alaplap + processzor + memória + hűtő
- Blackmagic Pocket Cinema Camera 4K + objektívek
- R5 5600X/32GB DDR4/6700 XT 12GB/1TB M2 P4+2TB M2 P3 SSD/Ss GX 750W/G213/Razer DA3+pad/FHD 170Hz 24"
- Bomba ár! HP 250 G6 - i5-7GEN I 8GB I 256GB SSD I HDMI I 15,6" FHD I HDMI I W11 I Cam I Garancia!
- iPhone 13 mini 128GB Midnight -1 ÉV GARANCIA - Kártyafüggetlen, MS3086
- HIBÁTLAN iPhone 12 Pro Max 128GB Blue -1 ÉV GARANCIA - Kártyafüggetlen, MS3670 100% Akkumulátor
- HP EliteBook 640 G10 - 14" FullHD IPS - i5-1335U - 8GB - 512GB - Win11 - 1 év garancia - MAGYAR
- Keresünk iPhone 14/14 Plus/14 Pro/14 Pro Max
Állásajánlatok
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest
Cég: BroadBit Hungary Kft.
Város: Budakeszi


