Hirdetés
- Motorola Edge 40 - jó bőr
- Kínai tech-túra összefoglaló
- Xiaomi 15T - reakció nélkül nincs egyensúly
- Poco F7 – bajnokesélyes
- Samsung Galaxy S23 Ultra - non plus ultra
- iPhone topik
- Telekom mobilszolgáltatások
- Vivo X200 Pro - a kétszázát!
- Bemutatkozott a Poco X7 és X7 Pro
- Samsung Galaxy Z Fold5 - toldozás-foldozás
Új hozzászólás Aktív témák
- 
			
			  WonderCSabo félisten válasz  kmisi99
							
							
								#1599
							
							üzenetére kmisi99
							
							
								#1599
							
							üzenetéreGondolom van egy/kettő fájlod, amiben az angol-magyar szópárok vannak felsorolva. Nos, ezekből szépen beolvasod a párokat egy vektorba, ami stringekbből álló pair - eket tárol, vagy két vektorba, ami stringeket tárolnak. Végigmész a fájlon, és feltöltöd az "adatbázisodat". Ezek után úgy tudsz fordítani, hogy lineáris kereséssel végigmész a vektoron, és ha megvan az angol szó, akkor a magyar párját kiírod. Ha gyorsítani akarod a dolgot, használj map - et, és akkor lineáris keresés helyett logaritmikusat használsz, cserébe a feltöltés kvázi konstans időigény helyett logaritmikus lesz. 
- 
			
			  kmisi99 addikt Heló! Tudnátok segíteni némi c++ ban. Az a feleadatom hogy egy egyszerű full gagyi szótárt programot írjak ami egy szöveges állomány az adatbázis és onnan olvassa be a szavakat és ha beírom az angol szót akkor kiadja a másik oldalt a magyart. Hogyan foghatnék neki mert fogalmam sincs. Tényleg teljesen gagyinak kell lenni semmi komoly. 
- 
			
			  Gibkey tag Sziasztok, C,C++,C# és/vagy MQL4-hez értő programozókat keresünk az új projectünkhöz. Akit érdekelne esetleg az keressen meg privatban (közösbe ne). Nem reklámnak szántam, akit sért vagy zavarja a kiírásom utólagosan is elnézést kérek. Gondoltam itt találok olyan programozót, aki épp munka hiányban szenved. 
- 
			
			  szkorhetz őstag Sziasztok! 
 Lenne itt valaki aki segítene nekem két programozásos beadandó feladat megszülésében?
 Én megkaptam őket és azt sem tudtam, hányadikán van elseje.
 Köszönöm!
- 
			
			  WonderCSabo félisten válasz  csepcsavoka
							
							
								#1593
							
							üzenetére csepcsavoka
							
							
								#1593
							
							üzenetéreÁtírtam C++ -osra, mert a feladatkiírást elolvasva látom, hogy valszeg C++ -ban kell (vectort említi). A távirat feltöltést és postán maradó számolást ez alapján meg tudod írni. 
- 
			
			  csepcsavoka csendes tag válasz  WonderCSabo
							
							
								#1592
							
							üzenetére WonderCSabo
							
							
								#1592
							
							üzenetérebeleírnád a program megfelelő helyére? 
 és így hogy számolja meg majd ossza el? vagy a többi jó?
 próbáltam a füzetből megírni, lehet h teljesen összekeverem a C-t és a C++-t
 am gépész vagyok és csak 2 féléves az infó...
- 
			
			  WonderCSabo félisten válasz  csepcsavoka
							
							
								#1591
							
							üzenetére csepcsavoka
							
							
								#1591
							
							üzenetéreHát, elég durván C-s kódolást nyomtok C++ néven, a class-on és new-n kívül mindenhol a régi C-s megoldásokat használod. Így természetesen nem fog működni a s.length()-el a hossz lekérdezés, hanem így: int string_length(char str[]) 
 {
 for(int i = 0; i < 30; ++i)
 {
 if(str[i] == '\0')
 {
 return i;
 }
 }
 }
- 
			
			  csepcsavoka csendes tag válasz  WonderCSabo
							
							
								#1590
							
							üzenetére WonderCSabo
							
							
								#1590
							
							üzenetére#include<stdio.h> 
 #include<conio.h>
 #include<stdlib.h>
 #include<string.h>
 typdef char nevtip[30];
 class Udvozlo_kuldemeny
 {
 protected:
 nevtip Feladas_helye, Udvozlo_szoveg, Alkalom;
 long int Feladasi_datum;public: 
 void Feladas_helyeBE(nevtip Feladas_helyeIN)
 { strcpy(Feladas_helye,Feladas_helyeIN); }void Feladas_helyeKI(nevtip Feladas_helyeOUT) 
 { strcpy(Feladas_helyeOUT,Feladas_helye); }void Udvozlo_szovegBE(nevtip Udvozlo_szovegIN) 
 { strcpy(Udvozlo_szoveg,Udvozlo_szovegIN); }void Udvozlo_szovegKI(nevtip Udvozlo_szovegOUT) 
 { strcpy(Udvozlo_szovegOUT,Udvozlo_szoveg); }void AlkalomBE(nevtip AlkalomIN) 
 { strcpy(Alkalom,AlkalomIN); }void AlkalomKI(nevtip AlkalomOUT) 
 { strcpy(AlkalomOUT,Alkalom); }void Feladasi_datumBE(long int Feladasi_datumIN) 
 { Feladasi_datum=Feladasi_datumIN; }void Feladasi_datumKI(long int Feladasi_datumOUT) 
 { Feladasi_datumOUT=Feladasi_datum; }}; 
 class Kepeslap: public Udvozlo_kuldemeny
 {
 private:
 int Belyeg_erteke;
 ;
 public:
 void Belyeg_ertekeBE(int Belyeg_ertekeIN)
 { Belyeg_erteke=Belyeg_ertekeIN; }void Belyeg_ertekeKI(int Belyeg_ertekeOUT) 
 { Belyeg_ertekeOUT=Belyeg_erteke; }}; 
 class Udvozlo_tavirat: public Udvozlo_kuldemeny
 {
 private:
 int Postan_marado;public: 
 void Postan_maradoBE(int Postan_maradoIN)
 { Postan_marado=Postan_maradoIN; }void Postan_maradoKI(int Postan_maradoOUT) 
 { Postan_maradoOUT=Postan_marado; }}; void main() 
 {
 Kepeslap* kepeslapok;
 Udvozlo_tavirat* udvozlo_taviratok;
 int i, n, db, kuldossz=0, karossz=0, Postan_marado=0, Belyeg_erteke=0;
 long int Feladasi_datum=0;
 float karatl=0;
 nevtip Feladas_helye, Udvozlo_szoveg, Alkalom;
 kepeslapok= new Kepeslap
 udvozlo_taviratok= new Udvozlo_tavirat
 clrscr();
 printf("Mennyi a küldemények száma?\n");
 scanf("%d",&n);for(i=0;i<n;i++) 
 {
 printf("A %d. feladási helye?\n",i+1);
 gets(Feladas_helye);kepeslapok.Feladas_helyeBE(Feladas_helyeIN)
 printf("A %d. üdvözlő szövege?\n",i+1);
 gets(Udvozlo_szoveg);
 printf("A %d. alkalma?\n",i+1);
 gets(Alkalom);
 printf("A %ld. feladási dátuma (Pl:20120521)\n",i+1);
 scanf("%ld",&Feladasi_datum);
 printf("A %d. bélyeg értéke \n",i+1);
 scanf("%ld",&Belyeg_erteke);
 printf("A %d. postán maradt e (Pl: igen, nem)\n",i+1);
 gets(Postan_marado);
 }
 if(strcmp(Postan_marado,"igen")==0) db++;
 karatl=karossz/dbif(strcmp("Budapest",Feladas_helye)==0) 
 {kuldossz+=Kepeslap(i).Belyeg_ertekeKI();}printf("\nA Budapesten feladott képeslapok küldési összege: %dFt",kuldossz); 
 printf("\nAPostán maradó táviratokon található üdvözlő szövegek átlaga: %7.2f",karatl);getch(); 
 }na eddig így néz ki tudom van benne pár hiba meg bizonytalankodok is egy kicsit 
- 
			
			  WonderCSabo félisten válasz  csepcsavoka
							
							
								#1588
							
							üzenetére csepcsavoka
							
							
								#1588
							
							üzenetéreAdatlapomon megtalálod, de egyébként ide is belinkelheted a fórumba. Vagy attól félsz, hogy a többiek lemásolják? 
 Szerk.: Mégsem találod meg, akkor küldd privát üzenetben, ha úgy akarod.és a szöveg hosszát hogy adom hozzá?? string szoveg; 
 // ...
 sum += szoveg.length();
- 
			
			  csepcsavoka csendes tag válasz  csepcsavoka
							
							
								#1588
							
							üzenetére csepcsavoka
							
							
								#1588
							
							üzenetéreés a szöveg hosszát hogy adom hozzá?? 
- 
			
			  csepcsavoka csendes tag válasz  WonderCSabo
							
							
								#1587
							
							üzenetére WonderCSabo
							
							
								#1587
							
							üzenetéreha adsz egy emailcímet elküldöm a majdnem kész feladatot és megnézed h mi hiányzik belőle, nagy segítség lenne... 
- 
			
			  WonderCSabo félisten válasz  csepcsavoka
							
							
								#1586
							
							üzenetére csepcsavoka
							
							
								#1586
							
							üzenetéreÍgy viszont már nagyon is egyértelmű a feladat. Hozd létre a kívánt osztályokat, teljesen specifikálva vannak. Aztán írj egy-egy fvt, ami képes egy-egy vektorba új képeslapot/táviratot push_backelni. A postán maradóakhoz pedig: végigmész a vektoron lineáris kereséssel, megnézed, hogy az adott távirat postán maradó-e, ha igen a counter értékét növeled, a szöveg hozzát pedid hozzáadod egy szummához. A végén leosztod a szummát a counter értékével. Elég egyszerű a feladat, ennél többet írva szinte már csak a megoldást tudnám leírni... 
- 
			
			  csepcsavoka csendes tag válasz  WonderCSabo
							
							
								#1585
							
							üzenetére WonderCSabo
							
							
								#1585
							
							üzenetére3. Hozza létre az Üdvözlő küldemény osztályt a Feladási dátum, Feladás helye, Üdvözlő szöveg és Alkalom adattagokkal. Származtassa belőle a Képeslap és az Üdvözlő távirat alosztályokat. A Képeslap osztályt bővítse a Bélyeg értéke adattaggal. Az Üdvözlő távirat osztályt bővítse Postán maradó adattaggal. Írjon programot, amellyel létrehozhatók a Képeslap és az Üdvözlő távirat egyedeket tároló vektorok. A program tegye lehetővé a feltöltést és a Budapesten feladott képeslapok küldési összköltségének meghatározását, valamint a Postán maradó táviratokon található Üdvözlő szövegek karakterekben mért átlagos hosszának meghatározását. 
- 
			
			  WonderCSabo félisten válasz  csepcsavoka
							
							
								#1584
							
							üzenetére csepcsavoka
							
							
								#1584
							
							üzenetéreEz a feladat kiírás így eléggé homályos, több részlet kéne. 
- 
			
			  csepcsavoka csendes tag Valaki tud segíteni?? feladatrész 
 A program tegye lehetővé a Postán maradó táviratokon található Üdvözlő szövegek karakterekben mért átlagos hosszának meghatározását.
 merthogy: meg kell határozni azokat amik a postán maradtak, és azoknak kell az üdvözlő szövegének a karaktereit összeadni és elosztani amennyit talált.
- 
			
			  Brianiac aktív tag Dinamikus struktúra tömbbe hogyan tudok adatokat beolvasni mondjuk egy külső txt fájlból?? 
 Így próbáltam, de így nem jó: "be>>csomag[db].nev" Itt a csomag a struktúra neve lenne..
- 
			
			  proci985 MODERÁTOR válasz  Dave-11
							
							
								#1579
							
							üzenetére Dave-11
							
							
								#1579
							
							üzenetérekicsit kompaktabban és konyhanyelven: a program leképezi a valós dolgot, innentől könnyebben elképzelhető, könnyebben használható. az emberi agy szeret kötni dolgokat valahova, tehát végereményben logikusabb lesz a felépítés. ez azt is jelenti, hogy általában a dologok közötti egymásrahatások is átláthatóbbak, jól csinálva egyszerűbben átlátható lesz az architektúra (tehát a classok kapcsolata, egymásraépülése és végeredményben a program felépítése), tisztábbak lesznek az interfacek. a funkciók és változók szintén köthetőek lesznek a valós dologhoz, tehát könnyebben átlátható lesz, hogy mi miért kellhet, kevesebbet kell kommenteket/dokumentációt olvasni, emiatt könnyebben módosíthatóvá és megérthetővé válik a program. az ember kvázi építőkockákat kap, amik segítségével a nagy egész könnyebben feldarabolhatóvá (főleg design patternsek alkalmazásával), így könnyebben megérthetővé válik. másik fontos szempont, hogy a dolgok elkülönülnek egymástól, tehát egy dolog nem több egységben (component/class) lesz megvalósítva, ez megint átláthatóbb kódot jelent. ami egyben azt is jelenti, hogy egyszerűbben átláthatóvá válik a programlogika. ez ismét a módosíthatóság/karbantarthatóság/megérthetőség hármast erősíti, illetve a tesztelhetőséghez is kell. htlmt generáló php+jquery+css+sqlnél pl elég vicces tud lenni, amikor az ember elkezdi keresni, hogy a 20+ fileból ugyanmár mi is felelős egy adott gomb működéséért, ha nincsen szépen megtervezve a rendszer (és persze a html útközben változik). tesztelhetőséghez amiatt fontos, mert egyszerűbb egységek szintjén kezdeni, és általában minél kevesebb egység kell egy adott feladat kipróbálásához (elsősorban itt dependencykre kell gondolni), annál könnyebben lesz tesztelhető egy adott megoldás. a jól definiált interface szintén nagyban segíti a blackbox testinget. azt nem szabad elfelejteni, hogy az OO design egyben ronthat is a tesztelhetőségen, bizonyos design patternek (pl singleton vagy insulation classek) ilyen szempontból problémásak. ami még lényeges, hogy az OO design nem igazán enged meg globális változókat, amik megintcsak nagyban rontják a későbbi karbantarthatóságot. namost, ami az egésznek a lényege: a programok életciklusa hosszú lehet, ezalatt cserélődhet a teljes fejlesztői gárda, cserélődhetnek a célok, amiket az ember elvár a terméktől. az OO design ezekre a kérdésekre ad (részleges) választ és segít abban, hogy az a kód, amit az ember megír, később is használható legyen, amikor módosítani kell. 
- 
			
			  Dave-11 tag Az objektum orientált programtervezésben egyébként mi a jó? Mármint tudom róla hogy nagyon hasznos és divatos manapság, de kb. ennyi: objektum orientált programozás -> jó. Ennyi amit tudok róla. Meg amit már futólag láttam belőle php tanulása során, hogy classok, szülő classok, tulajdonságok, öröklés, de csak ilyen kulcsszavak maradtak meg. 
 Egyszóval, miért olyan jó? 
- 
			
			  WonderCSabo félisten válasz  Dave-11
							
							
								#1577
							
							üzenetére Dave-11
							
							
								#1577
							
							üzenetéreEgyébként van valamilyen szisztéma, ami alapján a címekbe rakja az értékeket? Sajnos ez egy nagyon bonyolult kérdés. Az alap koncepció az, new operátor hívásakor keres egy akkora összefüggő, üres területet a heap-en, amitbe belefér a változó, és ennek a területnek a címe kerül bele a pointeredbe. Hogy milyen szisztéma alapján keresi a területet, az egyrészt rendszerenként is változó, másrészt az adott szituációtól is függ. Ennél sokkal többet nem tudok erről a dologról, mert nem igazán volt szükséges utánajárnom eddig. De ha további kérdéseid vannak, talán a hozzáértőbbek tudnak válaszolni rá. 
- 
			
			  Dave-11 tag válasz  WonderCSabo
							
							
								#1576
							
							üzenetére WonderCSabo
							
							
								#1576
							
							üzenetéreÉrtem, akkor ez engem, mint kezdőt még nem érint, csak így beletekintés szintjén jó volt, később biztos hasznos lesz  
 Egyébként van valamilyen szisztéma, ami alapján a címekbe rakja az értékeket?
- 
			
			  WonderCSabo félisten válasz  Dave-11
							
							
								#1575
							
							üzenetére Dave-11
							
							
								#1575
							
							üzenetéreNem, nem erre való. A memóriában valóban egy címen van a változó értéke, de ehhez szükségtelen pointereket használni. A címet egyébként is le lehet kérni az & operátorral. A pointerek azért jók, mert segítségével láncolt adatszerkezeteket tudunk létrehozni. Pl. nem kell a tömbben tárolni a bazinagy képeket, elég csak a rá mutató pointert, és emiatt a tömb sokkal jobban kezelhető, vagy létrehozhatsz láncolt listát, fákat, stb. 
 A másik dolog, amit Te is írtál, hogy a pointerek segítségével tudunk dinamikusan lefoglalni memóriaterületet, és ezt bármikor fel is szabadíthatjuk. Ettől a program nem fog feltétlenül gyorsabban futni, viszont a memóriahasználata nyilvánvalóan csökkenni fog. Ellenkező esetben a sima automatikusan lefoglalt változók esetén a változó csak az adott blokk lefutása végén szabadul fel.Ezen kívül C++ - ban még a pointereken keresztül lehet megvalósítani a polimorfizmust és a dinamikus kötést, és még ezer dolog van, hogy miért is jók a pointerek. 
- 
			
			  Dave-11 tag Kicsit jobban utánnajártam a pointereknek, megnéztem két videót ( videó1 és videó2 ), és hát kicsit segített letisztázni pár dolgot, de még mindig van pár dolog, amiben nem vagyok biztos. Tehát: 
 1. ha létrehozunk egy változót, és annak adunk egy értéket, akkor az az érték eltárolódik a memóriánk egyik címében. És valahányszor használja a programunk a változót, az értékét az adott memóriacímről nyeri ki? És erre jó a pointer, hogy megkapjuk az adott memóriacímet?
 2. ha egy változó feleslegessé válik, vagy ha változik az értéke, akkor a korábbi memóriacímről törölni tudjuk a pointerünk segítségével, és egyszerűen új értéket adunk neki, ami már egy más címen lesz? És ezzel kerüljük el, hogy felesleges dolgok megmaradjanak, és a program kevesebb memória használatával, valószínűleg gyorsabban fusson?
- 
			
			  dany27 őstag válasz  WonderCSabo
							
							
								#1561
							
							üzenetére WonderCSabo
							
							
								#1561
							
							üzenetéreKöszi! Nem, még sosem programoztam Java-ban  
- 
			
			  Chipi333 csendes tag válasz  h1ght3chzor
							
							
								#1570
							
							üzenetére h1ght3chzor
							
							
								#1570
							
							üzenetéreSzerintem a pointer és a tömb fogalmát nem érdemes összemosni, mert két teljesen különböző dologról van szó. Az, hogy egy tömböt általában úgy szokás használni, hogy egy pointerrel mutatsz az elejére nem jelenti azt, hogy minden pointer mögött tömb lesz. 
- 
			
			  Dave-11 tag És ez a csillag mit jelent egy adattípus végén? Pl.: int*, char*, stb. 
- 
			
			  Dave-11 tag válasz  Jhonny06
							
							
								#1566
							
							üzenetére Jhonny06
							
							
								#1566
							
							üzenetéreMármint nem úgy értettem, hogy teljesen kihagyom, hanem hogy csak most ugrom át. Az a helyzet, hogy még elég kezdő vagyok. De nem tudom, a könyv később abszolút nem tárgyal róla? 
 És egy kérdés, nem biztos hogy jó, csak azt néztem, hogy amit írtál:
 int x = 3;
 phone_book.push_back(int);
 Az utolsó sor, nem inkább: phone_book.push_back(x); ?
 Vagy hülyeséget írok? Csak mert ugye az x változót akarjuk belerakni a vektorba, vagy nem?
- 
			
			  Jhonny06 veterán válasz  Dave-11
							
							
								#1565
							
							üzenetére Dave-11
							
							
								#1565
							
							üzenetéreEzzel hozol létre egy vektort: vector<Entry> phone_book(1000) vector -> vektor, egy adatszerkezet, ami nagyon hasonló a tömbökhöz 
 <Entry> -> a vektor típusa, lehet pl. int, string, egy struktúra, kvázi amit akarsz
 phone_book -> a vektor neve, értelemszerűen bármi lehet
 (1000) -> a vektor mérete, nem kötelező megadni, mert dinamikusan tudja bővíteni magátÚgy éred el az elemeit, mint a tömbnek: phone_book[0], stb.. Ha nem adsz meg neki méretet, akkor a push_back()-el tudsz egy elemet beilleszteni: int x = 3; 
 phone_book.push_back(x);Röviden ennyi. Ne hagyd ki, mert elég alap dolog szvsz. Ha megy az angol, ezt érdemes átolvasni (meg úgy alapvetően ajánlom figyelmedbe az oldalt). [ Módosította: philoxenia ] 
- 
			
			  Dave-11 tag Olvasok egy könyvet a C++ ról, amit még korábban ajánlott itt valaki, és ahol járok van egy ilyen rész, ami beszél egy kicsit a vektorról. Na és van egy ilyen kódrész benne: vector<Entry> phone_book(1000); 
 Ez mit akar jelenten?? Ha valaki lenne olyan szíves elmagyarázná szavanként?
 Vagy ha netán valakinek megvan ez a könyv ( [link] ) akkor odaugrana gyorsan a 66-66 oldal tájékára? Kicsit zavaros ez a rész, és nem is nagyon értem hogy mit keres itt Csak ha meg kihagyom lehet hogy később meg gondom lesz belőle Csak ha meg kihagyom lehet hogy később meg gondom lesz belőle
- 
			
			  Jhonny06 veterán válasz  Dave-11
							
							
								#1562
							
							üzenetére Dave-11
							
							
								#1562
							
							üzenetéreHa visszatérsz egy függvénnyel, az csak 1 érték (ráadásul ugye lokális, ennek nézz utána). Ellenben mutatókkal a függvényen belül annyit módosítasz, amennyit akarsz. pl.: int main(void) { 
 int a = 5;
 int b = 3;
 cout << osszead(a, b) << endl;
 return 0;
 }
 int osszead(int x, int y) {
 return x + y;
 }Itt látszik a korlátja a dolognak. Egy összeadó függvénnyel tökéletesen működik, mert csak egy értékkel tér vissza, az eredménnyel. De ha mondjuk van egy olyan függvény, ami két számot külön-külön négyzetre emel, ott már elbukott az egész, mert érték szerinti paraméterátadásnál másolat készül a változóról és amit a függvényben változtatsz rajta, az visszatérés után/vagy nélkül elveszik. És csak 1 értéket tudsz visszaadni. 
- 
			
			  WonderCSabo félisten Kijavítgattam, így működik, legalábbis erre a kemény 3 adatra, többre nem tesztelgettem le. Viszont ez az egész nagyon kusza így. A fa adatszerkezetet rakd el külön fájlba. Az "elem" osztály a fának egy belső osztálya legyen, sokkal egyszerűbb és szebb lesz a megvalósítás úgy. A student, szamok classt, main fv-t legalább egy külön fájlba rakd a fától, semmi közük egymáshoz. Ennek a sornak: fa<T>::fa.beszur(adat.convert(line)); Mi akar lenni a jelentése? Ha a beszur statikus fv lenne, akkor arra hivatkozhatnál így: fa<T>::beszur() Ha a fa egy objektum lenne, akkor hivatkozhatnál rá így. fa.beszur() Amit te leírtál, az azt jelenti, hogy van egy fa osztálynak statikus fa adattagja, aminek statikus beszur fv-ére hivatkozol... Aztán ez: y.beszur(*(new student("dsfdsf","KSDFGH"))); Ha rögtön dereferálod, semmi értelme dinamikusa allokálni, mert csak egy szép memory leaket kapsz, és semmi előnyt.  Az ilyet C++ -ban így írjuk: Az ilyet C++ -ban így írjuk:y.beszur(student("dsfdsf","KSDFGH")); A BST-nek hol maradt a destruktora? Dinamikusan hozod létre a csúcsokat és sehol sem szabadítod fel őket. Illetve: a fa nem lesz túl általános, hordozható, ha ilyen módon írod meg. A compare fv helyett használj sima < operátort, a convert helyett pedig << operátort. És ezeket terheld túl a saját típusaidban. Így még a beépített típusokra is fog működni. Jól sejtem, hogy Javában kezdtél el programozni?  
- 
			
			  dany27 őstag válasz  WonderCSabo
							
							
								#1557
							
							üzenetére WonderCSabo
							
							
								#1557
							
							üzenetéreA kiírás megy rendesen a vissza olvasással vannak gondok: 
 Így valosítottam meg: [link]146 és a 39. sorra kapok hibát Mindegyik ezt: error: expected unqualified-id before '.' token 5let hogy mi lehet a gond? Előre is köszi! 
- 
			
			  Dave-11 tag Mikor használjuk az std::cout vagy a print parancsot? Mert ugye elvileg mindkettővel kiírathatunk valamilyen szöveget, vagy változóz, de melyiket milyen esetben használjuk. Mert gondolom azért van különbség  
 Ja és még valami. Ilyen void -ot már hoztam létre, csak egy valami nem tiszta belőle, csak sejtem. Szóval, ezzel a kulcsszóval egy új általunk definiált függvény hozhatunk létre?
- 
			
			  dany27 őstag Elkészültem azzal a generikus bináris fával amihez tőletek kértem tippeket, segítséget. Most még egy dolgot kéne véghez vinnem benne. Mégpedig azt hogy képes legyen magát kiírni majd vissza olvasni egy fileból. 
 Írtam hozzá egy Serialize osztályt valamint egy PFa osztályt is mely örökli a Serialize valamint a Fa osztály össze cuccát. De nem jövök rá hogy hogyan tudnám azt biztosítani hogy bármilyen adat szerkezetet kitudjon írni magától...Nem is húzom tovább az időt, beszéljen inkább a program kód: [link] Előre is köszi a segítséget!  
- 
			
			  Dave-11 tag C++ hoz van ingyenes könyv a neten, ami kezdőknek jó? 
 Illetve érdekelne, hogy szerintetek az jó stratégia, ha előbb kicsit alaposan megismerkedem a C++ szal, aztám váltanék Visual C++ ra?
- 
			
			  bradam aktív tag Köszönöm mindhármótoknak hátulról kivagdosós módszerrel és sstreammel sikerült  
- 
			
			  Jhonny06 veterán Egy egész függvénykönyvtár áll a rendelkezésedre, nem kell int-é alakítani (érdekes is lenne). Ha mindegyiknek 192.168.100 az eleje, akkor simán tudsz szűrni, hogy egy csoportosításnál csak az azután lévő karaktereket vegye figyelembe, vagy a 3. pont utánit, ilyesmi. Azokat már lehet int-é alakítani, úgy rendezni, stb. 
- 
			
			  doc nagyúr milyen az a "barmilyen" muvelet?  
 muveleteket (osszehasonlitas, rendezes, stb) stringekkel is tudsz csinalni
 ha meg mindenkepp int-te akarod alakitani, akkor ott a jo oreg atoi
 vagy ha C++ -os megoldast keresel, akkor a stringstream
 persze mindkettohoz megfeleloen 'vagni' kell a stringet
- 
			
			  bradam aktív tag Sziasztok! Lenne egy nagyon idióta, és valószínűleg hülye kérdésem készülvén az érettségire, remélem tudtok segíteni  Szóval van egy txt fájlom benne ip címek ilyen módon. 
 Ezt úgy kéne beolvasnom,hogy tudjak szűrni ip alapján(If-el),viszont csak stringbe tudom beolvasni, úgy meg nem tudom kezelni. Valahogy String-Int átalakítást lehetne végezni, úgy hogy tudjak vele bármilyen műveletet csinálni? A pontos feladat egyébként az,hogy 192.168.100.X-es IP címeknél X alapján csoportosítsak.
 (Itta kódrészlet,bár nem hiszem,hogy kellene, Substr-el próbáltam megoldani, sikertelenül 
 Előre is köszönöm Doc: Gyakorlatilag annyi a feladat,hogy az IP címnél ha x<200, akkor az egyik, egyébként a másik csoportba kell rakni. 
- 
			
			  Chipi333 csendes tag válasz  ArchElf
							
							
								#1546
							
							üzenetére ArchElf
							
							
								#1546
							
							üzenetéreHa kevesebb a delete mint a new, akkor ott memory leak van  
 this->temp = new Project [pm+1];Ez nem egy Projekt* tömböt csinál, hanem egy Project tömböt. És a this->temp[i]=tomb[i]; az másol nem pointert állítgat. Probléma akkor van, ha a Projecten belül is vannak pointerek, mert akkor defaultbol csak a pointer lesz másolva, és ugyanoda fog mutatni mint az eredeti. A deletekből amiatt lehetett baj, ha a Projeknek van destruktora, ami ezeket a területeket szépen felszabadítja, és az új példány meg megpróbálja ezeket elérni (vagy éppen deletnél megpróbálja újra felszabadítani). Szóval ha ez van, akkor valóban kell a copy operátor. 
- 
			
			  ArchElf addikt válasz  h1ght3chzor
							
							
								#1545
							
							üzenetére h1ght3chzor
							
							
								#1545
							
							üzenetéreSzerintem még lehet memóriaszivárgás, mert az itt generált elemeket: 
 this->temp = new Project [pm+1];
 nem szabadítod fel, hanem egyszerűen a hivatkozáést felülcsapod ezzel:
 for(i=0;i<pm;++i){ this->temp[i]=tomb[i];}
 Ezen elméláztam este, de nem tudtam működő megoldást találni elemszintű cserére. Nem vagyok sajna c++ terén ennyire jártas...Ja és még egy probléma: ha referencia alapján tárolod le (nem másolod), akkor a kód mindig (fizikailag) ugyanazt a változót teszi be a memóriába: 
 if(menu=='1'){
 system("CLS");
 char projektnev[200];
 int projektmeret;
 cout << "Adja meg a projekt nevet: ";
 cin >> projektnev;
 cout << endl;
 cout << "Adja meg a projekt memoriameretet: ";
 cin >> projektmeret;
 if(projektmeret<=0){
 cout << endl;
 cout <<"Hibas memoriameretet adott meg!"<< endl;;
 cout << "Adja meg a projekt memoriameretet: ";
 cin >> projektmeret;
 }
 b.psetname(projektnev);
 b.setmeret(projektmeret);
 a.phozzaad(b);
 }Így tényleg a legjobbnak tűnik egy a másoló operátort felülírni (operator=) és nincs több gond... AE 
- 
			
			  h1ght3chzor őstag válasz  ArchElf
							
							
								#1541
							
							üzenetére ArchElf
							
							
								#1541
							
							üzenetéreint pm = getprojektmeret(); 
 this->temp = new Project [pm+1];
 int i;
 for(i=0;i<pm;++i){
 this->temp[i]=tomb[i];
 }
 this->temp[i] = a;
 this->tomb = new Project [pm+1];
 for(i=0;i<pm+1;++i)
 this->tomb[i]=this->temp[i];
 this->temp=0;Ehhez mit szólsz? Úgy néz ki működik, létrehoztam a Memory class-ban egy Project* temp-et, és abba másolgatom, így még nem sikerült lefagyasztanom a progit, és nincs sztem memóriaszivárgásom sem... Viszont ezt e kezdőcím beállítást nem látom még.  
- 
			
			
- 
			
			  h1ght3chzor őstag válasz  ArchElf
							
							
								#1541
							
							üzenetére ArchElf
							
							
								#1541
							
							üzenetéreIgen, a terület kiosztással van probléma. Nagyon belebonyolódtam, mert ugye akkor is vizsgálnom kell, ha ==1 vagy (i)==0 ugye, és ennek rengeteg kombinációját látom, de lehet csak nagyon nem látom már át.  Egyébként a kezdőcímet nem tudom beállítani pontosan ez miatt, a legkisebb helyet azt szerintem jól megtalálom, bár már ez sem biztos. Egyébként a kezdőcímet nem tudom beállítani pontosan ez miatt, a legkisebb helyet azt szerintem jól megtalálom, bár már ez sem biztos. 
- 
			
			  ArchElf addikt válasz  h1ght3chzor
							
							
								#1540
							
							üzenetére h1ght3chzor
							
							
								#1540
							
							üzenetéreMemóriaszivárgásra csak azt tudom, hogy ha másolod az elemeket, akkor lehet törölni az eredeti tömböt... 
 copy operator a project-re:
 void Project::operator=(Project& p){
 this->kezdocim=p.kezdocim;
 this->meret=p.meret;
 //következő sor esetleg még kellehet
 //delete[] this->nev;
 this->nev=new char[sizeof(p.nev)];
 strcpy(this->nev, p.nev);
 }Kicsit tesztelgettem, de úgy néz ki a terület allokálással még gondok vannak. 
 Nem merültem nagyon bele, de simán kiosztott az első üres helyre két helyet foglaló projectnek területet (és utána azt törölve törölte az utána következőt is):
 Memória: 5
 A:1 hozzáadása
 B:1 hozzáadása
 A törlése
 C:2 hozzáadása (nem a 3. memóriahelyre teszi, hanem az elsőre)
 C törlése (törli a B helyét is)AE 
- 
			
			  h1ght3chzor őstag válasz  h1ght3chzor
							
							
								#1538
							
							üzenetére h1ght3chzor
							
							
								#1538
							
							üzenetéreBoccs, félreírtam, eltárolja, viszont vmit elnéztem feljebb, mert ha kitörlök egy középső elemet, akkor vmiért 0-s kezdőcímet kap.  Ezt még kidebugolom, viszont a memóriaszivárgás ismét kérdéses. Ezt még kidebugolom, viszont a memóriaszivárgás ismét kérdéses. 
- 
			
			  ArchElf addikt válasz  h1ght3chzor
							
							
								#1538
							
							üzenetére h1ght3chzor
							
							
								#1538
							
							üzenetéreNálam működik így: 
 int pm = getprojektmeret();
 Project* temp1 = new Project [pm+1];
 int i;
 for(i=0;i<pm;++i){
 temp1[i]=this->tomb[i];
 }
 temp1[i]=a;
 this->tomb = temp1;
 temp1 = 0;AE 
- 
			
			  ArchElf addikt válasz  h1ght3chzor
							
							
								#1536
							
							üzenetére h1ght3chzor
							
							
								#1536
							
							üzenetéreA delete[] this->tomb; nélkül. Ugyanis ez is kitörli az eredeti elemeket. AE 
- 
			
			
- 
			
			  Chipi333 csendes tag válasz  Jhonny06
							
							
								#1533
							
							üzenetére Jhonny06
							
							
								#1533
							
							üzenetére"Mert gyakorlatilag egy bármilyen IDE-be bemásolom a forrást és ugyanúgy lefut a VS-ben használt kód mondjuk egy Code::Blocks-ban is." 
 Hát az IDE az aztán pont lényegtelen Az a kérdés, hogy milyen compiler van mögötte. Ha elég türelmes vagy VS-böl is tudsz g++-al forgatni, és CodeBlocksban is vc++-al. Az a kérdés, hogy milyen compiler van mögötte. Ha elég türelmes vagy VS-böl is tudsz g++-al forgatni, és CodeBlocksban is vc++-al.
 A fordítók meg olyanok, hogy van egy bizonyos szint ameddig kompatibilisek, aztán meg nem annyira. Pl. Hello world nem fog elhasalni egyiken sem nyilván, meg a legtöbb szabványosan megírt kód sem, de a vc tud olyan dolgokat amiket a g++ nem és fordítva is. Ha meg elkezdesz mondjuk templateket irogatni mint a kolléga pár hsz-el lejjebb, akkor aztán esélyed sincs a hordozhatóságra 
- 
			
			  Jhonny06 veterán Tehát ha a VS-ben létrehozok egy bármilyen C++ projektet, akkor az tuti Visual C++? Egyáltalán honnan ismerem meg, hogy standard C++-e vagy nem? Mert gyakorlatilag egy bármilyen IDE-be bemásolom a forrást és ugyanúgy lefut a VS-ben használt kód mondjuk egy Code::Blocks-ban is. 
- 
			
			  ArchElf addikt válasz  h1ght3chzor
							
							
								#1524
							
							üzenetére h1ght3chzor
							
							
								#1524
							
							üzenetéreAmit kiókumláltam (hiányos c++ tudásommal): 
 Project* temp1 = new Project [getprojektmeret()];
 for(int i=0;i<getprojektmeret();++i){
 temp1[i]=this->tomb[i];
 }
 delete[] this->tomb;
 this->tomb = new Project[getprojektmeret()+1];
 int k=0;
 for(k=0;k<getprojektmeret();++k){
 this->tomb[k]=temp1[k];
 }
 this->tomb[k]=a;
 delete[] temp1;A második sorban referencia szerint másolod át az osztályokat, így hiába másoltad át, ha a referencia a temp1-ben ugyanoda mutat, mint a tomb-ben. 
 Miután az 5. sorban delete-tel kitörlöd a tömböt látszólag törlődik a temp1 tömb tartalma is, hiszen a delete igazából nem (csak?) a hivatkozás tömböt törli, hanem a mögötte álló tartalmat is. A következő sorbancsinálsz egy új tömböt az elemeidnek, de azok már valójában törlődtek az előző sorban, hiába másolod át a for ciklusban, már nem lesznek valid elemek (príma érvénytelen hivatkozásokat sikerül így generálnod. A második delete meg valószínűleg azért hal meg, mert már eleve érvénytelen hivatkozások vannak a tömbben.Alapvetően az alábbi lehetőségeid vannak: 
 - ne töröld az elemeket delete-el (se az elején se a végén), csak nullázd ki a tömbböt, az új elemet add hozzá egyszerűen (lehet, hogy memory leak-et okoz - bár jobban belegondolva taláűn nem is)
 - nem kell a sok másolgatós mizéria, csinálj neki egy új tömböt a régit meg dobd el (kb ugyanaz mint az előző, kevesebb másolással), korábban már írtam hogyan
 - add át érték szerint az elemeket - kell hozzá egy Project(const Project& p) konstruktor, amivel másolni tudod az elemeket. Bonyolultabb (illetve volatilis) osztályok esetén nem igazán működik, de ha mindenképp szeretnéd használni a delete-et akkor ide jó lesz.AE 
- 
			
			  WonderCSabo félisten 
- 
			
			
- 
			
			  Jester01 veterán A template-k már csak ilyenek. A fordítónak látnia kell a definíciót, nem csak a deklarációt (mintha ezeket te kevernéd kicsit). 
 Olyat lehet játszani, hogy konkrét paraméterre explicit példányosítod akkor meg fogja találni másik fordítási egységben is.Amúgy nem véletlen, hogy az új módi szerint a "headereknek" nincs .h kiterjesztése. Szegény c++ nagyon el lett barmolva, hogy az interface és az implementáció összemosódik. 
- 
			
			  dany27 őstag Sziasztok! Kicsit meggyűlt a bajom a templatekkel.... 
 Valamiért állandóan undefined refernce hibát kapok.. headerben megvan írva az osztály meg benne az össze tag fügvény definiciója, a cpp-ben az össze tagfügvény megírva és mégsem jó.Ha a headerben kifejtem a tagfügvényt akkor tökéletesen megy. 
 Ha nem a headert includeolom hanem a cpp-t egyből megy....(tudom hogy ilyent nem szabad, meilőtt megköveznétek ) )Mi lehet a gond? Előre is köszi! 
- 
			
			  proci985 MODERÁTOR válasz  h1ght3chzor
							
							
								#1524
							
							üzenetére h1ght3chzor
							
							
								#1524
							
							üzenetéreteljes kód nem kell, pl egy tömb típusa, még az a is elég szvsz. tipp: szeparáld a tárolóclasst a projecttől, és teszteld pl egy célra létrehozott classal külön. szerintem egyszerűbb lenne, hacsak nem valami minimálprojektről van szó, ahol nem éri meg mindent szétválasztani. "Egyébként stl tárolót, nem használhatok" 
 beadandó? WonderCSabo: jogos, push_back pedig tényleg a legegyszerűbb  . .Mindent van értelme dinamikusan kezelni, sokszor jól jöhet (bár nyilván ilyen kicsi feladatnál nem sok értelme van). 
 persze, de elnézve a kódot volt egy olyan sanda gyanúm, hogy itt valami egyéb követelmény is van a háttérben (tipikus c iskolapéldának tűnt)..
- 
			
			  WonderCSabo félisten válasz  proci985
							
							
								#1523
							
							üzenetére proci985
							
							
								#1523
							
							üzenetéreArrayListel egy sima add() Ez nem Java. Vector és push_back()  más kérdés, hogy nem értem, hogy ez minek C++ alatt, amikor ott vannak a beépített funkciók. Mindent van értelme dinamikusan kezelni, sokszor jól jöhet (bár nyilván ilyen kicsi feladatnál nem sok értelme van). tippeltem, illetve tippelek. Jaja, jó a gondolatmenet, csak arra akartam utalni, hogy jobb lenne bővebb kóddal kérdezni. 
- 
			
			  h1ght3chzor őstag 
- 
			
			  proci985 MODERÁTOR szerintem lehet egyel nagyobb is az eredeti tömbméretnél. leírás alapján nekem ez egy Cben használt dinamikus tömb megoldásnak tűnik. más kérdés, hogy nem értem, hogy ez minek C++ alatt, amikor ott vannak a beépített funkciók. h1ght3chzor: 
 Memory::tomb[k]=a;a az itt micsoda? honnan jön? mi a típusa? szerintem ez is lehet baj. tippek: 
 - használj változóneveket angolul, konvenciókkal. pl class scope változóneveknél m előtag sokkal átláthatóbb kódot eredményez.
 - a this és Class:: jó móka, de legyél velük koherens
 - ha nem ez volt a lényeg, akkor használd a beépített C++ funkciókat. vannak szép dinamikus listák, ez nem C. ArrayListel egy sima add() meghívásával megoldható a problémád
 - getProjektMeret redundanciát és több helyen tárolt változókat jelent, amiket pl a mutatott kód alapján nem is updateltél. szerencsésebb a tömb méretét nem letárolni külön, vagy létrehozni egy külön container classot, ha mndenképpen sajátot akarsz írni.
 (másképp: ránézésre vizsgafeladatnak hittem a problémád, annyira spagettiszerű. ez hosszú távon nem jó)ArchElf: még azon gondolkodtam el, hogy a tömbnél a tárolás hogy van megoldva, mert a delete[] elvileg csak a mutatókat törli implementációfüggően. nem vagyok benne biztos, de ez nekem gyanús, hogy leakelni fog (pl saját operator= segítségével nem). WonderCSabo: tippeltem, illetve tippelek. temp1[i]=tomb[i]; 
 this->tomb=new Project [this->getprojektmeret()+1];
 Memory::tomb[k]=temp1[k];mivel egy dinamikus tömböt megvalósító funkcióról van szó arrayekkel, a két tombnek elvileg ugyanoda kéne kerülnie. a két kódrészlet futás után csak akkor egyezik, ha ugyan ahhoz a classhoz tartoznak. hacsak nem tomb egyszerre van deklarálva globális változóként és a Memory class változójaként (és a this miatt ebben az osztályban) is, de az azért erős lenne. ha viszont eléri a tomb[]ot innen, tomb[], Memory::tomb[] és this->tomb[] megoldásokkal is, akkor jelen pillanatban a Memory classban kell lennünk, másképp három különböző tömbről lenne szó. habár, a this->tomb sor kiakad, szóval lehet, hogy mégse így van. ebből következtettem, hogy ha ez így működik, akkor a Memory classban kell lenni. getprojektmeretnek classfunctionnak kell lennie, ami eltárolja az elvárt projektméretet és nem a tomb méretét adja vissza (egyébként az új projektnél kiakadna). 
- 
			
			  ArchElf addikt válasz  Jhonny06
							
							
								#1519
							
							üzenetére Jhonny06
							
							
								#1519
							
							üzenetéreígy nem megy? 
 int pm = getprojektmeret();
 Project* temp1 = new Project [pm];
 for(int i=0;i<pm;++i){
 temp1[i]=tomb[i];
 }
 delete[] this->tomb;
 this->tomb=new Project [pm+1];
 int k;
 for(k=0;k<pm;++k){
 Memory::tomb[k]=temp1[k];
 }
 Memory::tomb[k]=a;
 delete[] temp1;Amúgy így nem jó? 
 int pm = getprojektmeret();
 Project* temp1 = new Project [pm+1];
 for(int i=0;i<pm;++i){
 temp1[i]=tomb[i];
 }
 temp1[i] = a
 delete[] this->tomb;
 this->tomb = temp1;AE 
- 
			
			  ArchElf addikt válasz  h1ght3chzor
							
							
								#1510
							
							üzenetére h1ght3chzor
							
							
								#1510
							
							üzenetéreÉn ezt a getprojektmeret() hívást egyszer tenném be egy változóba és az egész eljárás alatt azt a változót használnám (gyorsabb és egyszerűbb is). 
 Amúgy mit csinál a getprojektmeret() metódus? Megnézi mekkor a tomb mérete?
 Mert itt az elözö sorban épp törlöd a tömböd...
 //...
 delete[] this->tomb;
 this->tomb=new Project [this->getprojektmeret()+1];
 //...AE 
- 
			
			  doc nagyúr "Memory::tomb[k]=temp1[k];" ha a masodik getprojectmeret()+1 nem ugyanakkora vagy kisebb mint az elso getprojectmeret(), akkor tulcimzed a temp1 tombot 
- 
			
			  Jhonny06 veterán válasz  h1ght3chzor
							
							
								#1514
							
							üzenetére h1ght3chzor
							
							
								#1514
							
							üzenetéreNekem ez a sor gyanús, szerintem valami indexeléssel kapcsolat hiba lesz: this->tomb=new Project [this->getprojektmeret()+1]; 
- 
			
			  h1ght3chzor őstag válasz  h1ght3chzor
							
							
								#1513
							
							üzenetére h1ght3chzor
							
							
								#1513
							
							üzenetére
- 
			
			  h1ght3chzor őstag válasz  proci985
							
							
								#1511
							
							üzenetére proci985
							
							
								#1511
							
							üzenetéreGetprojektmeretet szépen megkapom, azzal nincs probléma, itt vmi olyan érdekes dolog történt, hogy a tomb az egy Project* típusú, és mikor a for ciklusban visszamásolom az értékét a temp-ből, akkor az szépen meg is történik, de mikor a tomb[k], tehát az egyel nagyobbi részébe szeretném elmenteni az új projektet amit kaptam, akkor ott mintha nem is Projekt* tomb típusba mentené, hanem Projekt tomb[k]. Tehát gyakorlati példánál, ahol teszteltem: 1. Projekt amit elmentek nev: 1 meret: 1, ezt szépen el is menti, stb, 2. Projekt nev:2 meret:2, és ezt, a 2. Projektet menti el a Projekt tomb[k]-ba, és nem a Projekt* tomb-nek az elemei közé... 
 Egy kép róla: http://www20.zippyshare.com/v/10637883/file.html
 Nem tudom mennyire érthető amit leírtam, ha vki gondolja, szívesen átküldöm az egész kódot. A getprojektmeret a Memory classhoz tartozik igen. 
- 
			
			  proci985 MODERÁTOR válasz  h1ght3chzor
							
							
								#1510
							
							üzenetére h1ght3chzor
							
							
								#1510
							
							üzenetére(memműveletekben annyira nem vagyok jó) szerintem itt a getprojectmeret lesz a hunyó, elvileg az a Memory classhoz tartozik, és a projectméret által visszaadott változó nem lesz updatelve az új, egyel nagyobb értékre. magyarul a következő másolásnál elveszik az utolsó eleme a tömbnek.. vagy esetleg fel lehet még hozni a hungrish elnevezéseket, meg az elnevezési konvenciók figyelmen kívül hagyását (getProjectSize / get_project_size), bár valszeg nem azokra gondoltak 
- 
			
			  h1ght3chzor őstag Segítséget szeretnék kérni, az alábbi kódrészletben hol a hiba? Project* temp1 = new Project [getprojektmeret()]; 
 for(int i=0;i<getprojektmeret();++i){
 temp1[i]=tomb[i];
 }
 delete[] this->tomb;
 this->tomb=new Project [this->getprojektmeret()+1];
 int k;
 for(k=0;k<getprojektmeret();++k){
 Memory::tomb[k]=temp1[k];
 }
 Memory::tomb[k]=a;
 delete[] temp1;
- 
			
			
- 
			
			  doc nagyúr a jovore nezve egyebkent nem feltetlenul rossz valasztas, szoktak keresni kimondottan Visual C++ -os embereket allashirdetesekben 
 az mar az en szemelyes nyomorom, hogy nem vagyok hajlando Visual C++ -ban dolgozni, mar azt is igyekszem elkerulni hogy windowst kelljen latnom 
- 
			
			  doc nagyúr válasz  peterszky
							
							
								#1502
							
							üzenetére peterszky
							
							
								#1502
							
							üzenetéremeghogy szakerto... azert jol esett, koszonom  
 Qt-ben MINDENT lehet termeszetesen azt is amit te szeretnel termeszetesen azt is amit te szeretnel
 a (mellesleg peldaertekuen profi) doksibol kiderul hogyan1) igy hirtelenjeben nem tudok egyszeru megoldast ra (bar konnyen meglehet hogy van), de ha egy altalad kivalasztott delegate-et hasznalsz, konnyen megadhatod barmilyen elkepzelheto es elkepzelhetetlen modon hogy hogyan jelenjen meg, de azt is csinalhatod hogy az egyes indexekhez widgeteket rendelsz (ez utobbi azert SZVSZ nem tul elegans megoldas). de mondom, konnyen meglehet hogy van ra egyszeru megoldas, kicsit nezz korul a Qt doksiban, lehet hogy gyorsan rabukkansz 2) ajanlom figyelmedbe a setSelectionModel metodust (bovebben: [link]) a bonyolultabb kijelolesi modokhoz, illetve a setSelectionBehaviourt az egyszerubbekhez (mint pl. a teljes sor kijelolese) lacces: 
 mar kaptal ra egy korrekt valaszt, annyival egeszitenem ki, hogy a Visual C++ az CSAK Visual Studio, barhol mashol csak allsz mint 'gyerek a szarban', mig a normal, standard C++ -szal barhova mehetsz, mindenhol mukodni fog (marmint a normalisan megirt kod)
- 
			
			  Lacces őstag Sziasztok! Mi a különbség a sima C++ és a Visual C++ között? 
- 
			
			  peterszky őstag Ahogy néztem, a két fellelhető Qt téma eléggé halott, plusz Doc itt is megfordul, mint a téma egyik szakértője  Szóval két kérdésem lenne: 1. Az összeg mezőnél: van-e lehetőség, hogy ne ezt a tudományos alakot használja a nagy számokhoz? Az átméretezés nem segít. 2. Van-e olyan lehetősége a QTableViewnak, hogy kijelölni csak egy egész sort lehessen, mezőket egyenként ne, meg több sort se? 
- 
			
			  Jhonny06 veterán válasz  h1ght3chzor
							
							
								#1500
							
							üzenetére h1ght3chzor
							
							
								#1500
							
							üzenetéreÉn a CodeToGo-t használtam egy ideig, de nem tud sokat, úgyhogy ne várj csodát. Jobb szerintem nincs. 
Új hozzászólás Aktív témák
Hirdetés
● ha kódot szúrsz be, használd a PROGRAMKÓD formázási funkciót!
- Samsung Galaxy Tab S6 Lite 2024 - a visszatérő
- Fegyencedzés - calisthenics - street-workout
- TCL LCD és LED TV-k
- Gumi és felni topik
- Autós topik
- Motorola Edge 40 - jó bőr
- PlayStation 5
- AMD Catalyst™ driverek topikja
- Teljes verziós játékok letöltése ingyen
- AMD Ryzen 9 / 7 / 5 9***(X) "Zen 5" (AM5)
- További aktív témák...
- Apple iPhone 11 64GB, Kártyafüggetlen, 1 Év Garanciával
- GYÖNYÖRŰ iPhone 11 Pro 256GB Midnight Green -1 ÉV GARANCIA - Kártyafüggetlen, MS2253,95% Akkumulátor
- HIBÁTLAN iPhone 12 Mini 128GB Black-1 ÉV GARANCIA - Kártyafüggetlen, MS3633,94% Akkumulátor
- Bomba ár! Lenovo ThinkPad T14s G1 - i7-10G I 16GB I 512GB SSD I 14" FHD Touch I Cam I W11 I Gari!
- Redmi 15C / 4/128GB / Kártyafüggetlen / 12Hó Garancia / BONTATLAN NULL Perces
Állásajánlatok
Cég: Promenade Publishing House Kft.
Város: Budapest
Cég: NetGo.hu Kft.
Város: Gödöllő
 
								 
							 
								 
								 
							
 
								 
								 
							 
								 
							 
								 
							 
								 
							 
								
 
								 
								 
							
 
								 
							 
							 Csak ha meg kihagyom lehet hogy később meg gondom lesz belőle
 Csak ha meg kihagyom lehet hogy később meg gondom lesz belőle 
							 
							 
								
 
								 
							 
								 
							 
							 
								
 
								

 )
 ) 
							 
								 vagy mac. Bár most ubuntu alól jelentkezem.
 vagy mac. Bár most ubuntu alól jelentkezem. 
							 
							 
							 termeszetesen azt is amit te szeretnel
 termeszetesen azt is amit te szeretnel 
								


