Hirdetés
- Xiaomi Redmi Note 4 - B20
- iPhone topik
- Poco X8 Pro Max - nem kell ide sem bank, sem akkubank
- Samsung Galaxy S23 és S23+ - ami belül van, az számít igazán
- Samsung Galaxy S25 Ultra - titán keret, acélos teljesítmény
- Samsung Galaxy A57 - kecses test, lusta lélek
- Itt a Galaxy S26 széria: az Ultra fejlődött, a másik kettő alig
- Fotók, videók mobillal
- Betáblázta magát az Oppo
- Xiaomi Watch 5 - kínai időszámítás
Ú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
Hirdetés
● olvasd el a téma összefoglalót!
● ha kódot szúrsz be, használd a PROGRAMKÓD formázási funkciót!
- Xiaomi Redmi Note 4 - B20
- Okos otthon - Home Assistant, openHAB és más nyílt rendszerek
- iPhone topik
- Kerékpárosok, bringások ide!
- Poco X8 Pro Max - nem kell ide sem bank, sem akkubank
- Vezeték nélküli fejhallgatók
- Konteó topic
- Samsung LCD és LED TV-k
- Gyúrósok ide!
- Székesfehérvár és környéke adok-veszek-beszélgetek
- További aktív témák...
- ÚJ VEZETÉK NÉLKÜLI ROBOTFŰNYÍRÓ GOATBOT H1 RTK GPS AI VISION
- Samsung Galaxy S24 Ultra 5G 512GB, Kártyafüggetlen, 1 Év Garanciával
- Dell Inspiron 5441 Snapdragon X Plus / 16GB 512SSD/ AI PC Brutál akkuidő
- Iphone 11 Pro Max 64gb zöld kártyafüggetlen
- TUF A15 FA507NV 15.6" FHD IPS Ryzen 5 7535HS RTX 4060 16GB 512GB NVMe gar
- GAMER PC! i7-10700F / RTX 3070 / B460-Plus / 16GB DDR4 / SSD 512GB / BeszámítOK!
- Vásárlunk iPhone 12/12 Mini/12 Pro/12 Pro Max
- AKCIÓ! BESZÁMÍTÁS! Részletfizetés 0% THM ÚJ RTX 5090 több típusban 3 év garanciával 27% áfával
- Lenovo IdeaPad 5 Pro - 14" 2.8K 90Hz - i5-1135G7 - 8GB - 512GB SSD - Win11
- HP Victus Ryzen 7 8845HS /16GB DDR5 RTX 4060 / 1TB / 144Hz
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest

