Hirdetés
- Luck Dragon: Asszociációs játék. :)
- Mr Dini: Mindent a StreamSharkról!
- sidi: 386-os Chicony gázplazma laptop memóriabővítése
- sziku69: Szólánc.
- sziku69: Fűzzük össze a szavakat :)
- Pitterix: Gyógytorna
- D1Rect: Nagy "hülyétkapokazapróktól" topik
- Brogyi: CTEK akkumulátor töltő és másolatai
- Sub-ZeRo: Euro Truck Simulator 2 & American Truck Simulator 1 (esetleg 2 majd, ha lesz) :)
- GoodSpeed: Kell-e manapság egérpad vagy sem?
Új hozzászólás Aktív témák
- 
			
			  lamajoe tag Szerbusztok drága emlős társaim! 
 Segítsetek már mert az agyam kifolyik 
 Milyen ingyenes vagy trial résszel rendelkező C++ all in one fordítót tudnátok ajánlani? Jó ha adtok letöltési linket, de ha nem segáz, van egy titkom az a neve, hogy Google 
 Régebben borlandot használtam de szerintem ez meghalt, sehonnan se tom lekapni.... 
 Bocs ha kicsit hülye vagyok ma de tényleg agyhalál fatalerror kékdeath! 
- 
			
			  kittamama csendes tag válasz  Sk8erPeter
							
							
								#1097
							
							üzenetére Sk8erPeter
							
							
								#1097
							
							üzenetéreHello! 
 Sikerült az Union find nélkül is megcsinálni, csak == kellett megvizsgálnom, hogy rokonok-e.
 Köszönöm, hogy válaszoltatok
- 
			
			  kittamama csendes tag válasz  Sk8erPeter
							
							
								#1095
							
							üzenetére Sk8erPeter
							
							
								#1095
							
							üzenetéreHello! 
 Március óta tanítják nekünk heti másfél órába (vagyis 10 alkalommal), szóval nem én vagyok a hibás, ha 3 hónap alatt nem vagyok profi.
 Az eljutottam valameddiget meg úgy értettem, hogy már megvan a tömb, csak ezt az uniót nem tudom benne megcsinálni.
 Pszeudokódot meg azért nem tudom c++-ra átültetni, mert nem tudom mit jelent a xRoot meg az x.parent.
- 
			
			  Sk8erPeter nagyúr válasz  kittamama
							
							
								#1094
							
							üzenetére kittamama
							
							
								#1094
							
							üzenetére"de nem tudom, hogy c-ben hogy valósítsam meg." 
 De Te a C++ topicba jöttél! Amúgy meg nem értem, ha eljutottál valameddig, akkor azt hogyan kell érteni? Szépen papíron levezetted magadnak, de a kódírásig már nem jutottál el?  Bár nem néztem végig, de a Gyuri16 által imént linkelt Wikipédia-cikkben vannak pszeudokódok is. 
 Ha azt nem tudod átültetni C++-ra, akkor valószínű, hogy a házi feladattal egyedül tényleg nem sokáig jutnál. Mással teljesen elkészíttetni meg totál semmi értelme, abból semmit nem tanulsz.Ha mutatsz kódot, amiből látszik, hogy próbálkoztál vele egy ideje, és van elképzelésed, de elakadtál, valaki a topicban biztosan fog tudni segíteni az előrelépésben, ha viszont egyáltalán nem megy a kódolás része, akkor valószínűsíthető, hogy nem fog megoldódni ez az ügy, legalábbis nem ebben a topicban vagy nem ingyér'.  === (#1093) Gyuri16: igen, lehet, hogy le kéne írni az első hozzászólásban, hogy "puszira nincs komplett feladatgyártás, a topic nem erről szól  ". ". 
- 
			
			  kittamama csendes tag válasz  Sk8erPeter
							
							
								#1092
							
							üzenetére Sk8erPeter
							
							
								#1092
							
							üzenetéreAddig eljutottam, hogy halmazba rendezzem a rokonokat és utána megszámolom a halmazokat, de nem tudom, hogy c-ben hogy valósítsam meg. 
- 
			
			  Gyuri16 senior tag válasz  kittamama
							
							
								#1091
							
							üzenetére kittamama
							
							
								#1091
							
							üzenetéreUnion find algoritmust hasznalhatod. az egyes halmazok az egymassal rokonsagban allo emberek fogjak alkotni. a megoldas a halmazok szama. Sk8erPeter: +1, azt hiszem erre a szovegre gyarthatnank egy sablont, vagy vicces kepet vagy valamit  
- 
			
			  Sk8erPeter nagyúr válasz  kittamama
							
							
								#1091
							
							üzenetére kittamama
							
							
								#1091
							
							üzenetéreÍgy nem sok esélyed van, a fórumot látogatók nem valószínű, hogy azzal szeretnék tölteni a hétvégéjük utsó napját, hogy "puszira" megcsinálnak valakinek egy feladatot a nulláról. Ha jutalmat ajánlanál érte, VAGY eljutottál volna valameddig, és konkrét kóddal, egész konkrét kérdésekkel, segítségkéréssel jöttél volna a topicba, úgy biztosan bárki szívesen segítene. 
- 
			
			  kittamama csendes tag Hello! 
 Valaki segítene ebben:
 Adott N szülő-gyerek kapcsolat az X[N,2] mátrixban. (Pl. ha az 1. ember szülője a 2.-nak, a 2. pedig a 3.-nak, akkor N=2 és a mátrix a következőképpen néz ki:
 1 2
 2 3.)
 Készíts C++ programot, amely megadja annak a legnagyobb csoportnak a létszámát, amelyben senki sem rokona senkinek! A mátrixot (N-et és X elemeit) klaviatúráról kell beolvasni, és az alapvető ellenőrzéseket el kell végezni az adatokon (pozitív számok-e). Beadandó: a program, a teljes dokumentáció, és –a mintadokumentációnak megfelelő-en– a tesztbemenetek fájljai!
 Nem vagyok ebben jó és éjfélre le kellene adni a programot, de nem tudom megcsinálni.
 Válaszotokat előre is köszönöm
- 
			
			  WonderCSabo félisten Próbából leforgattam a kódodat (a vackokat kigyomlálva) és a fajl<<elotte<<endl; sorban hibát dob. Ami nem csoda, hiszen itt vektorból fáljba akarsz írni, és ez magától nem fog működni, kell írni operátort hozzá. Rengeteg dolgot tudnék még mondani a kódra, de azt majd csak akkor, ha esetleg kérdezed, viszont ezt gondoltam leírom, hiszen le se fordul a kódod, nem is működik. 
- 
			
			  Sk8erPeter nagyúr int _tmain(int argc, _TCHAR* argv[]) 
 Akkor ezt felejtsd el!
 Ez viszont jó helyette:
 int main(int argc, char *argv[])Viszont mivel úgysem használod fel az argumentumokat, ez is elég: 
 int main()--- system("pause"); 
 Na, már megint... Ezt is felejtsd el. Ebben a topicban és a sima C-s topicban is már ötvenmilliószor volt szó róla, hogy ez nem jó. Ezt is felejtsd el. Ebben a topicban és a sima C-s topicban is már ötvenmilliószor volt szó róla, hogy ez nem jó. Itt én is leírtam. Akár cin.get() is jó helyette C++ esetén. Itt én is leírtam. Akár cin.get() is jó helyette C++ esetén.Szerk.: ja, és tényleg tök felesleges ennyi szart beinclude-olni, amikor nem használod. Mindig csak a szükséges könyvtárakat include-old, ne növeld feleslegesen a kódod és a lefordított fájljaid méretét! Kód bemásolásakor: 
 miután beillesztetted a kódodat, jelöld ki, és kattints a Programkód gombra. Így áttekinthető lesz.
- 
			
			  WonderCSabo félisten Mivel ahogy látom nem használsz ékezetes karaktereket, teljesen felesleges ide a TCHAR, használj helyette char -t. Minek includeolsz ennyi cuccot, amikor nem is használod őket?  
 A system("pause")-t meg felejtsd el, használj helyette vmi más portolható megoldást.A kódot pedig programkód formázással küld be a hszbe. 
- 
			
			  Mar222 csendes tag // proba.cpp : Defines the entry point for the console application. 
 //
 #include "stdafx.h"
 #include <iostream>
 #include <fstream>
 #include <sstream>
 #include <string>
 #include <vector>
 #include <algorithm>
 #include <numeric>
 #include <cctype>
 #include <cstdlib>
 #include <iomanip>
 #include <cmath>using namespace std; struct cucc{ 
 string nev;
 string ertek;
 };
 //----------------
 string b="";
 string a="";
 vector<cucc>adatok;
 vector<string>elotte;
 //---------------------------void feldolgoz(string sor){ 
 cucc tmp;
 int db=0;
 for(int i=0;i<sor.size();i++){
 if(sor.at(i)!='='){
 db++;
 }else{
 break;
 }} if(db==sor.size()){ 
 elotte.push_back(sor);
 }else{
 tmp.nev=sor.substr(0,db+1);
 tmp.ertek=sor.substr(db+1,sor.size());
 adatok.push_back(tmp);
 }
 }void beker(){ 
 ifstream fajl;
 string sor;
 fajl.open("server.properties");
 while(getline(fajl,sor)){
 feldolgoz(sor);
 }
 }
 void eldont(){
 string t="=";
 cout<<"Mit akarsz atirni?: "<<endl,
 cin>>b;
 cout<<"Mire akarod atirni a(z) "<<b<<" -t?: "<<endl;
 cin>>a;
 cout<<endl;b=b+t; for(int i=0;i<adatok.size();i++){ 
 if(adatok.at(i).nev==b){
 adatok.at(i).ertek=a;
 }
 }} 
 void kiir(){
 for(int i=0;i<elotte.size();i++){
 cout<<elotte.at(i)<<endl;
 }
 for(int i=0;i<adatok.size();i++){
 cout<<adatok.at(i).nev<<adatok.at(i).ertek<<endl;
 }} void felulir(){ 
 ofstream fajl;
 fajl.open("server.properties");for(int i=0;i<elotte.size();i++){ 
 fajl<<elotte<<endl;
 }for(int i=0;i<adatok.size();i++){ 
 fajl<<adatok.at(i).nev<<adatok.at(i).ertek<<endl;
 }fajl.close(); } int _tmain(int argc, _TCHAR* argv[]) 
 {
 beker();
 kiir();
 cout<<endl;
 eldont();
 kiir();
 cout<<endl;
 felulir();
 system("pause");
 return 0;
 }igen, tisztában vagyok vele, hogy nem konvertálás, csak ez maradt meg bennem  
- 
			
			  Mar222 csendes tag Helló, kezdő vagyok programozás terén. Nos a következő problémám lenne: Készítettem egy programot windows alatt és ezt szeretném linux alatt futtatni, viszont amikor beírom terminálba a konvertáláshoz szükséges parancsot (g++ -o nev nev.cpp), akkor a következő hibát írja ki: TCHAR has not been declared. Mi okozza ezt a hibát, és hogy tudnám ezt kiküszöbölni? Választ előre is köszönöm  
- 
			
			  Jester01 veterán válasz  WonderCSabo
							
							
								#1082
							
							üzenetére WonderCSabo
							
							
								#1082
							
							üzenetéreMiért őrülne meg? Az olvasási próbálkozás után a !f (ami igazából ugye f.fail()) szépen kilép. Probléma egy szál se  
- 
			
			  Jester01 veterán válasz  WonderCSabo
							
							
								#1080
							
							üzenetére WonderCSabo
							
							
								#1080
							
							üzenetéreNem, mert akkor az utolsó karaktert kétszer is feldolgozza. Példa 
- 
			
			  Jester01 veterán válasz  FireKeeper
							
							
								#1078
							
							üzenetére FireKeeper
							
							
								#1078
							
							üzenetérePedig az jó. Mint írtam is, az a default egyébként. #include <fstream> 
 int main(int argc, char *argv[])
 {
 std::fstream f("test.txt");
 while(true)
 {
 char c;
 f >> c;
 if (!f) break;
 c ^= 0x20;
 f.seekp(-1, std::ios::cur);
 f << c;
 f.seekp(0, std::ios::cur);
 }
 return 0;
 }
- 
			
			  FireKeeper nagyúr válasz  WonderCSabo
							
							
								#1076
							
							üzenetére WonderCSabo
							
							
								#1076
							
							üzenetéreazzal nincs is gond. 
 csak hogy hogyan nyissam meg a file-t
 ezzel próbáltam, de nem módosította a file-t:fstream infile(Filename, fstream::in | fstream:: out); 
- 
			
			  Jester01 veterán válasz  FireKeeper
							
							
								#1075
							
							üzenetére FireKeeper
							
							
								#1075
							
							üzenetéreHa nem baj, hogy esetleg lassú lesz akkor read-write kell megnyitni a fájlt (ez egyébként fstream esetén default), és seekp-vel visszalépni az éppen beolvasott karakterre majd felülírni. Szabvány szerint írás-olvasás váltásnál kötelező egy seek, szóval a kiírás után, bár a pozíció az jó, mégis kell egy újabb seekp. 
- 
			
			  WonderCSabo félisten válasz  FireKeeper
							
							
								#1075
							
							üzenetére FireKeeper
							
							
								#1075
							
							üzenetéreDe ebben mi a nehéz? Csinálsz egy tömböt (mondjuk egy n*2-et), amiben tárolod az eredeti karaktereket és a titkosított megfelelőjüket. Amikor beolvasol egy karaktert, kikeresed azt a tömbből, és a titkosított megfelelőjét írod le helyette. 
- 
			
			  FireKeeper nagyúr sziasztok! egy szöveges fájlokat "titkosító" (azért van idézőjelben mert irtó gagyi, betűkeveréses titkosítás csak, de háziba ez is jó), szóval titkosító programot csinálok, és abban kéne egy kis segítség, hogy az adott problémát hogy tudnám esetleg megoldani: 
 a program a fájlon karakterenként végzi a titkosítást.
 azt szeretném megcsinálni, hogy a program beolvas egy karaktert, kikeresi a titkosított megfelelőjét, és az eredeti fájlba írja vissza a forráskarakter helyére.
- 
			
			  Gyomman aktív tag válasz  Jester01
							
							
								#1073
							
							üzenetére Jester01
							
							
								#1073
							
							üzenetéreIgen, rájöttem, h az segített volna... Közbe rájöttem magamtól, hogy a const char* típusú fájlra nem akart működni (azt hittem pedig, h azt tudja kezelni, de mégse), így specializáltam a függvényt (meg átírtam végtelen ciklusból  ) és most már működni látszik, köszönöm az útmutatásokat! ) és most már működni látszik, köszönöm az útmutatásokat!
- 
			
			  j0k3r! őstag válasz  Sk8erPeter
							
							
								#1070
							
							üzenetére Sk8erPeter
							
							
								#1070
							
							üzenetérekoszonom szepen, az inicializalo lista nem volt teljesen tiszta  
- 
			
			  Gyomman aktív tag válasz  Sk8erPeter
							
							
								#1070
							
							üzenetére Sk8erPeter
							
							
								#1070
							
							üzenetéreTényleg nagyon nem láthatok valamit, mert azon kívül, hogy elnéztem, h cím szerint adjam át a tempet, nincs változás a kritikus részben, a kiegészített rész meg (és mégegyszer elnézést, h nem másoltam hozzá tesztprogramot és osztályt) ugyanaz, mint énnálam egyébként azzal az egy különbséggel, h nálam friend az operator>>. template<typename G> 
 class F_file{
 unsigned length;
 FILE* file;
 char* nev;
 char* utvonal;
 public:
 ..
 template <typename E> friend void operator>>(istream&, F_file<E>&);
 ..
- 
			
			  Sk8erPeter nagyúr válasz  Gyomman
							
							
								#1069
							
							üzenetére Gyomman
							
							
								#1069
							
							üzenetéreAzt egyáltalán megnézted, mit VÁLTOZTATOTT az operator>> függvényben?  Csak mert a hsz.-edből nem úgy tűnt. Csak mert a hsz.-edből nem úgy tűnt.
 Jester01 megmutatta a hiányosságokat a Te kódodban, és kiegészítette még egy lehetséges példakóddal is.(#1068) j0k3r!: ez az F_file osztály konstruktora, aminek van egy inicializáló listája is, ami értéket ad az egyes tagváltozóknak, igazából csak azért írta bele a kódba, mert Gyomman teljesen kihagyta az F_file kódját, így másnál nyilván elég nehéz lenne kipróbálni, miért is nem fordul a kód. 
- 
			
			  Gyomman aktív tag válasz  Jester01
							
							
								#1066
							
							üzenetére Jester01
							
							
								#1066
							
							üzenetéreSzia! Elnézést, ha keveset másoltam be a programomból, de egész jól reprodukáltad, csak annyi a különbség, hogy nekem friend az operator>>, egyébként ugyanez (még pár plusz tagfüggvénnyel megspékelve). 
 Fura, h ennek ellenére amit te csináltál az lefordul, az enyém meg mégse.Természetesen ügyeltem arra, hogy a megadott bemeneti stream és elem párosra létezzen operator>> Én ugyanúgy olyan típusokkal dolgozom, amire létezik az operator>>, csak alapból azt írja ki mégis hibának, hogy binary '>>' : no operator found which takes a left-hand operand of type 'std::istream' (or there is no acceptable conversion).Vagy mégiscsak elnézek valamit. Azt akarnám am csinálni (ezek szerint rosszul, de arra majd rájövök, csak egyelőre ezen a problémán essek túl), hogy egy streamről jön egy adatfolyam hossza, majd utána maga az adat és a hosszát beolvasom a fájlhosszba, az adatot pedig utána a fájlba. 
- 
			
			  j0k3r! őstag válasz  Jester01
							
							
								#1066
							
							üzenetére Jester01
							
							
								#1066
							
							üzenetérehello! valoszinuleg nagyon alap kerdes, de sajnos ez a resz nem tiszta nekem a kododban: F_file(const char* _utvonal, const char* _nev) 
 : file(0), length(0), nev(_nev), utvonal(_utvonal) {};mit csinal a fentebb beillesztett kod? (volna egy tippem, de nem akarok hulyeseget megjegyezni) 
- 
			
			  pityaa23 senior tag válasz  Sk8erPeter
							
							
								#1065
							
							üzenetére Sk8erPeter
							
							
								#1065
							
							üzenetéreLátod-látod! Vannak ilyen elvetemültek, csak elkéstem!  
- 
			
			  Jester01 veterán válasz  Gyomman
							
							
								#1064
							
							üzenetére Gyomman
							
							
								#1064
							
							üzenetéreMár csak a hibaüzenet hiányzik, no meg hogy teljes lefordítható és futtatható kódot prezentálj. Ebből ugyanis hiányzik maga a példányosítás illetve az egész F_file. Én vettem a fáradságot és értelemszerűen kipótoltam valamivel, az szó nélkül működik. Természetesen ügyeltem arra, hogy a megadott bemeneti stream és elem párosra létezzen operator>> (arra gondolok, hogy neked esetleg ez hibádzik). #include <iostream> 
 #include <fstream>
 #include <cstring>
 using namespace std;
 template <typename G>
 class F_file
 {
 public:
 F_file(const char* _utvonal, const char* _nev)
 : file(0), length(0), nev(_nev), utvonal(_utvonal) {};
 FILE* file;
 int length;
 const char* nev;
 const char* utvonal;
 };
 template<typename G>
 void operator>>(istream& in, F_file<G>& F)
 {
 if (F.file) fclose(F.file);
 char* ttemp=new char[strlen(F.nev)+strlen(F.utvonal)+5];
 strcpy(ttemp,F.utvonal);
 strcat(ttemp,F.nev);
 strcat(ttemp,".dat");
 F.file=fopen(ttemp,"a");
 G temp;
 int len;
 (in>>len).ignore(1); //szóközt eldobjuk
 F.length+=len; //hosszt megnöveljük
 while((in>>temp).ignore(1))
 {
 fwrite(&temp,sizeof(G),1,F.file);
 }
 delete [] ttemp;
 }
 int main(int argc, char *argv[])
 {
 F_file<int> f("/tmp/", "test");
 cin >> f;
 return 0;
 }Az fwrite hívásból mellesleg hiányzott egy & jel, és úgy egészében véve sem értem mit akarsz csinálni, de ez így legalább valamit csinál  
- 
			
			  Gyomman aktív tag válasz  Jester01
							
							
								#1063
							
							üzenetére Jester01
							
							
								#1063
							
							üzenetéretemplate<typename G> 
 void operator>>(istream& in, F_file<G>& F)
 {
 fclose(F.file);
 char* ttemp=new char[strlen(F.nev)+strlen(F.utvonal)+5];
 strcpy(ttemp,F.utvonal);
 strcat(ttemp,F.nev);
 strcat(ttemp,".dat");
 F.file=fopen(ttemp,"a");
 G temp;
 int len;
 (in>>len).ignore(1); //szóközt eldobjuk
 F.length+=len; //hosszt megnöveljük
 while((in>>temp).ignore(1))
 {
 fwrite(temp,sizeof(G),1,F.file);
 }
 delete [] ttemp;
 }Itt lenne szegény kód. Az eleje az csak annyi, h megnyitom a fájlt (kicsit bonyolultan van megoldva igaz), aztán az in>>temp résznél már szól, h neki az nem működik. Ha az ignore-on kívül teszem, akkor is szól, nem tudom hol lehet a baj. 
- 
			
			  Jhonny06 veterán válasz  Sk8erPeter
							
							
								#1058
							
							üzenetére Sk8erPeter
							
							
								#1058
							
							üzenetéreÉn így ránézésre biztos meg fogom írni, jó kis gyakorlás, csak nem ma éjfélig.  Nem is lenne ezzel probléma amúgy, mert mindkettőnk jól jár, de tényleg időben kéne szólni. Nem is lenne ezzel probléma amúgy, mert mindkettőnk jól jár, de tényleg időben kéne szólni. 
- 
			
			  Gyomman aktív tag Sziasztok! Az lenne a helyzet, hogy lenne egy megoldatlan template-s problémám. Ugyanis az lenne a feladat, hogy input streamről beolvassak egy generikus fájlba adatokat. Viszont nem tudok olyan függvényt, amely erre jó lenne, mivel az in.read char*-ot vár (és nem bármilyen generikus adatot), az in>> operátora meg megint csak nem akarja az igazságot. Valakinek van valamit ötlete? 
- 
			
			  pityaa23 senior tag válasz  Sk8erPeter
							
							
								#1058
							
							üzenetére Sk8erPeter
							
							
								#1058
							
							üzenetéreTeljesen jogos amit mondasz, de egy próbát megért. Hátha van épp valaki aki unatkozik, és szabadidejében épp elszórakozna egy ilyennel. Természetesen ha olyan fontos lenne, akkor nem csokival erőlködnék. Egyáltalán nem kötelező ezt megcsinálni. 
- 
			
			  Sk8erPeter nagyúr válasz  pityaa23
							
							
								#1057
							
							üzenetére pityaa23
							
							
								#1057
							
							üzenetéreA nulláról egy csokiért nem hiszem, hogy túl sokan tolakodnának egy ilyen jellegű feladat megoldásáért. 
 Akkor lenne esélyed, ha 1.) kicsit motiválóbb jutalmat ajánlanál, VAGY 2.) már elkészítetted volna a feladat nagy részét, és ott kérnél segítséget, ahol elakadtál.Ráadásul talán időben kellett volna szólnod. Igazából nem is értem, egyes személyek miből gondolják, hogy a topic látogatóinak legjobb szórakozása mások házi feladatának megírása a nulláról. 
- 
			
			  pityaa23 senior tag Sziasztok! Suliban plusz pontért kaptunk házit, nekem sajnos nem volt időm még foglalkozni ezzel a tárgyal így ma 1 nap tanulás után nem tudom megoldani, de ha valaki megcsinálná, szívesen adok cserébe vmit! (sör, csoki...stb) Ez volna a feladat: 10 pontos házi feladat 
 Definiáljon egy saját maga által kigondolt értelmes feladat megoldására egy osztályt,
 legyen(ek) benne:
 · legalább 4 adattag, dinamikus adattag esetén 2 is elegendő
 · kétféle konstruktor, a paraméteres vegye át az adattagok kezdőértékét, a paraméter
 nélküli pedig olvassa be a billentyűzetről az adattagokat
 · destruktor, ha szükséges
 · adattagokat lekérdező függvények
 · FajlbaIr() függvény, mely az adattagokat kiírja egy bináris állományba
 · FajlbolOlvas() függvény, mely az adattagokat egy szöveges állományból olvassa be
 · két darab függvény, melyek az adattagokon valamilyen értelmes műveleteteket hajtanak
 végre
 A főfüggvényben definiáljon két objektumot (a kétféle konstruktorhoz) és tesztelje a tagfüggvényeket!
 Az osztály definíciója külön .h fejlécállományban legyen!
 A feladat megfogalmazása megjegyzésben legyen benne a forráskódban!
 Házi feladat beküldésének határideje: 2011. május 5. éjfél
 módja: gyakorlatvezető címére e-mailbenMint látjátok az idő sürget...  
- 
			
			  Gyuri16 senior tag válasz  dani0907
							
							
								#1049
							
							üzenetére dani0907
							
							
								#1049
							
							üzenetéremegneztem valgrind-dal ( valgrind --leak-check=yes -v ./strc ), eredmeny: ==6235== 871 errors in context 1 of 1: 
 ==6235== Mismatched free() / delete / delete []
 ==6235== at 0x4023881: operator delete(void*) (vg_replace_malloc.c:387)
 ==6235== by 0x8048D80: stringc::operator=(stringc) (stringc.hpp:61)
 ==6235== by 0x8048F98: load(_IO_FILE*, stringc) (stringc.hpp:103)
 ==6235== by 0x8049073: test_1() (strc.cpp:17)
 ==6235== by 0x80491C0: main (strc.cpp:42)
 ==6235== Address 0x42c5f20 is 0 bytes inside a block of size 1 alloc'd
 ==6235== at 0x40243B0: operator new[](unsigned int) (vg_replace_malloc.c:299)
 ==6235== by 0x8048C46: stringc::stringc(stringc const&) (stringc.hpp:46)
 ==6235== by 0x804905A: test_1() (strc.cpp:17)
 ==6235== by 0x80491C0: main (strc.cpp:42)(sorszamok nem fognak egyezni, mert kivettem belole az ifdefeket) ebben a fuggvenyben: stringc stringc::operator=(stringc s){ 
 if(this == &s)
 return *this; //önmagába nem másol
 delete p;
 h=s.h;
 p= new char[h+1];assert(p!=0);
 strcpy(p,s.p);
 return *this;
 }delete p; helyett delete [] p; kell. 
- 
			
			  dani0907 csendes tag válasz  Sk8erPeter
							
							
								#1052
							
							üzenetére Sk8erPeter
							
							
								#1052
							
							üzenetéreMegcsináltam ugyanúgy mint a hsz-be, de ugyanúgy, csak akkor jelez, ha nincs destruktor. 
 cporta meg csak egyetlen szót ad hibaüzenetnek 
- 
			
			  Sk8erPeter nagyúr válasz  dani0907
							
							
								#1051
							
							üzenetére dani0907
							
							
								#1051
							
							üzenetéreÉs gondolod, a levlistás emberkék nem olvassák ezt a fórumot?  (Én is BME-s vagyok, simán lehetnék akár évfolyamtársad is. (Én is BME-s vagyok, simán lehetnék akár évfolyamtársad is. ) )Igen, Cporta elég háklis bárminemű hibára, mert Linuxos fordító.  Megpróbálhatnád esetleg Te is azzal. Megpróbálhatnád esetleg Te is azzal.
 Nekem most sajnos nincs időm debuggolgatni, de remélem, valaki rá tud nézni a kódodra! Még egy: 
 "Egyébként, benne van a #define _CRTDBG_MAP_ALLOC #include <stdlib.h> #include <crtdbg.h>"
 És a többi dolog, ami a linkelt hsz.-ben látszik? 
 Lehet, hogy nem ártana az sem.Amúgy mi az egész pontos hibaüzenet? Vagy csak ennyi, h memóriaszivárgás? Én már nem emlékszem, kaptunk-e valami egzaktabb hibaüzit.  Mondjuk asszem nem. Mondjuk asszem nem. 
- 
			
			  dani0907 csendes tag válasz  Sk8erPeter
							
							
								#1050
							
							üzenetére Sk8erPeter
							
							
								#1050
							
							üzenetéreIgen, törlöm is ha megvan a megoldás, levlistára nem is raktam ki, mert ott csak lemásolnák, ((a kötelező kisházikat ellenőrizték, és csomóan egy megoldást adtak,be mert lenyúlták a kódokat.)) 
 Egyébként, benne van a #define _CRTDBG_MAP_ALLOC #include <stdlib.h> #include <crtdbg.h> És ha törlöm a destruktort akkor működik is, jelzi a memória szivárgást, de ha megvan a destruktor akkor semmit, csak a cportának nem tetszik.
- 
			
			  Sk8erPeter nagyúr válasz  dani0907
							
							
								#1049
							
							üzenetére dani0907
							
							
								#1049
							
							üzenetéreNem láttam még a kódodat (amúgy elég bátor dolog felrakni pastebin-re, később ezzel vigyázz, mert "Számítógépes grafika és képfeldolgozás" tárgyból emiatt könnyen plágiumvád érhet! - még ha a Te kódod is került fel netre...), DE 
 ide pont leírtam, hogyan lehet detektálni a memóriaszivárgás forrását: [link]Szerk.: félreértés ne essék, pastebin-re felrakni a kódot egyébként nagyon is jó dolog, csak ha para lehet belőle mondjuk házinál vagy egyéb esetben, akkor nem biztos, h jó ötlet. 
- 
			
			  dani0907 csendes tag Sziasztok! 
 Van egy prog házim, és az lenne a gond hogy a feladatbeküldő rendszer memóriaszivárgást észlel (cporta, BME-seknek ismerős), de kipróbáltam Visual studioval, codeblocks-szal is és egyik se jelzett memóriaszivárgást.azt javasolták hogy ne fájlból olvassak D: de én úgy akarok Valaki tudna segíteni? Valaki tudna segíteni?HPP: http://pastebin.com/zjt6jz23 
 CPP: http://pastebin.com/313KN2h0
 az example.datból olvasunk be
 feladat:
 Készítsen tetszőleges hosszúságú sorokból álló szöveges
 állományt reprezentáló objektumot! Valósítsa meg a grep(1)
 nevű UNIX program néhány, Ön által kiválasztott funkcióját!
- 
			
			  WonderCSabo félisten vagy string s; 
 getline(cin, s);
 f.open(s.c_str());fstream :: is_open helyett én fstream::good -ot szoktam használni 
- 
			
			  FireKeeper nagyúr válasz  FireKeeper
							
							
								#1044
							
							üzenetére FireKeeper
							
							
								#1044
							
							üzenetéreazt már próbáltam,hogy a fájlnév helyére az elérési utat adom be de úgy nem működött (nem lepődtem meg rajta  ). ).
- 
			
			  j0k3r! őstag válasz  FireKeeper
							
							
								#1044
							
							üzenetére FireKeeper
							
							
								#1044
							
							üzenetéreelvileg validalod az inputot, aztan osszefuzod egy stringbe(char *), aztan azt adod at az open-nek. pelda 
- 
			
			  FireKeeper nagyúr az megvan, hogy melyik függvényt kéne használnom (az fstream kell majd), hanem azt nem tudom hirtelen, hogy hogy kell azt kezelni, hogy a fájl nem a .exe mappájában van, hanem egy más elérési úton, hogy hogy kell beparaméterezni a függvényt, hogy bármilyen helyen lévő fájlból tudjon dolgozni. 
 vagyis a felhasználó megadja az elérési utat és a fájlnevet, és nekem utána ebből kell dolgoznom.
- 
			
			  j0k3r! őstag válasz  WonderCSabo
							
							
								#1042
							
							üzenetére WonderCSabo
							
							
								#1042
							
							üzenetéreigazabol teljesen jogos, amit mondasz (tavaszi szunet alatt eleg sokat c-ztem, aztan ott nincs fstream osztaly, biztos ezert ugrott be ez elsonek), koszonom a korrigalast  
 szoval akkor fstream :: open (elso parameter valtozatlanul char *), fstream :: is_open, fstream :: close
- 
			
			  j0k3r! őstag válasz  FireKeeper
							
							
								#1040
							
							üzenetére FireKeeper
							
							
								#1040
							
							üzenetére
- 
			
			  FireKeeper nagyúr sziasztok! érdekelne, hogy hogy tudok fájlt megnyitni, ha mondjuk a felhasználótól bekérem az elérési utat és a fájlnevet egy stringbe (mondjuk "d:\mappa1\mappa2\file.txt")? 
- 
			
			  tamas60 csendes tag Kellene egy olyan program ami nagy négyzetbe optimálisan el tudna helyezni adatbázisban szereplő kis négyzeteket. 
 Akit érdekel a téma keressen meg.
- 
			
			  j0k3r! őstag válasz  DiscoStu
							
							
								#1036
							
							üzenetére DiscoStu
							
							
								#1036
							
							üzenetérechar *id vs. char id[5] char *id egy pointer, ami a kezdocime egy karakterlancnak (karaktertombnek), aminek nem tudjuk a hosszat (futasidoben dol el), ezt hasznaljuk dinamikus memoriafoglalasnal. amit te 2 lepesben tettel meg: 
 char *id; // definialtal egy pointert
 id=new char[5]; // megadtad a meretetazt o megtette 1 lepesben (kihasznalva, hogy tudjuk elore, hogy max 4 karakter lehet): 
 char id[5]; // 5 elemu karaktertombot hoz letrefontos! mindig n + 1 db char-t kell foglalni, mivel van a vegen egy lezaro \0 (amibol kovetkezik, hogy egy karakterlanc elejet a pointer, veget a lezaro \0 hatarozza meg). 
 egy kis olvasnivalo evvel kapcsolatban: [link]esetleg mitől függ hogy melyik verziót érdemes használni? attol, hogy tudod-e elore, hogy maximum (vagy pontosan) mekkora teruletet kell foglalnod. 
- 
			
			  DiscoStu csendes tag Helló C++ órán volt egy feladat. lényege annyi hogy van egy osztály, amiben van két adattag 
 mindkettő char. Az egyiknél megvan a max méret (4 karakter), a másiknál nincs és kell egy
 konstruktor.igy csináltam: class a{ 
 char *id;
 char *nev;
 public:
 a(char *id1, char *nev1){
 id=new char[5];
 strcpy(id, id1);
 nev=new char[strlen(nev1+1)];
 strcpy(nev, nev1);
 }
 };Tanár megoldásában így láttam: 
 class a{
 char id[5];
 char *nev;
 public:
 a(char id1[], char *nev1){
 strcpy(id, id1);
 nev=new char[strlen(nev1+1)];
 strcpy(nev, nev1);
 }
 };Mindekettő lefutott helyes kimenetekkel. Mégis mi a különbség? Teljesen jó megoldás 
 mindkettő? esetleg mitől függ hogy melyik verziót érdemes használni?előre is köszi 
- 
			
			  j0k3r! őstag válasz  Sk8erPeter
							
							
								#1033
							
							üzenetére Sk8erPeter
							
							
								#1033
							
							üzenetéretalan ez lesz az. 
- 
			
			  Sk8erPeter nagyúr válasz  WonderCSabo
							
							
								#1032
							
							üzenetére WonderCSabo
							
							
								#1032
							
							üzenetéreLehet, hogy kiveri a szememet, és csak én nem veszem észre, de a linken hol látható az API-ról a leírás?  Meg maguk az osztályok, stb.? Meg maguk az osztályok, stb.?
- 
			
			  WonderCSabo félisten válasz  memphis_19
							
							
								#1029
							
							üzenetére memphis_19
							
							
								#1029
							
							üzenetéreHát, pl. Mediainfo APIval. 
- 
			
			  Karma félisten válasz  FireKeeper
							
							
								#1030
							
							üzenetére FireKeeper
							
							
								#1030
							
							üzenetéreHibás a szintaxis. *this-t hamarabb próbálhatsz meg visszaadni. 
 Osztályreferencia nem nagyon van, szerintem objektumreferenciára gondoltál.
- 
			
			  FireKeeper nagyúr sziasztok! hogy tudok visszatérni egy osztály referenciájával? a 
 return this*; -ra emlékeztem, de azt aláhúzza.
- 
			
			  memphis_19 tag Sziasztok! Olyan kérdésem lenne, hogy egy videó fájlt kellene megnyitnom majd lekérdezni a video adatait(időtartam, képkockaszám), ezt hogyan tudnám megoldani? Köszi a segítséget. 
- 
			
			  Gyuri16 senior tag válasz  Gyuri16
							
							
								#1027
							
							üzenetére Gyuri16
							
							
								#1027
							
							üzenetéreok, ez igy hulyeseg  kozben rajottem, mi volt a lenyegi gond, tehat az operator[] fv-nek egy referenciat kell visszaadni, itt konkretan egy pointerre. 
 erre jutottam, leirom azoknak, akik az elozot elolvastak es nem ertik min kinlodok 
 (ha esetleg lehet jobban, szoljatok)#include <iostream> 
 #include <vector>
 using namespace std;
 class ChildList {
 private:
 vector<int *>* v;
 public:
 ChildList(int n) {v = new vector<int *>(n);}
 int* & operator[] (const int index);
 };
 int * & ChildList::operator[](const int index) {
 return (*v)[index];
 }
 int main(int argc, char **argv) {
 ChildList cl(10);
 int * a = new int(5);
 cl[0] = new int(5);
 cl[1] = a;
 cout << *cl[0] << *cl[1];
 return 0;
 }
- 
			
			  Gyuri16 senior tag segitseget kernek pointerek vs operator overloading temaban. egy fa adatstrukturat csinalok, ahol minden node-nak lehet valamennyi pointere a gyerekeire. ezt egy vector<Node*> segitsegevel kepzeltem. elore kell lefoglalni a kontruktorban megadott szamu pointernek a tombot (akkor is ha null lesz csak az erteke) es fokozatosan hozzaadni a gyerekeket (tudom, hogy lehet jobban is, azt kesobb csinalom. a feladat osszehasonlitani a kulonbozo megoldasokat). szeretnek a Node osztalynak egy [] operatort, amivel a gyerekekhez pointerekkent lehetne hozzaferni. egyelore mindig referenciakkal csinaltam hasonlot,megmutatom mire jutottam: class Node { 
 public:
 int sigma;
 // Node** child;
 vector<Node*>* child;
 int value;
 Node(int sigma);
 ~Node();
 Node& operator[](const int index);
 };
 
 Node& Node::operator[](const int index) {
 return *(*child)[index];
 }
 Node::Node(int sigma): sigma(sigma), value(0) {
 /* child = new Node *[sigma];
 for (int i = 0; i < sigma; i++) {
 child[i] = NULL;
 }*/
 child = new vector<Node*>(sigma);
 }
 Node::~Node() {
 /* for (int i=0; i < sigma; i++) {
 if (child[i] != NULL) {
 delete child[i];
 }
 }
 delete [] child;
 */
 for (vector<Node*>::iterator it = child->begin(); it < child->end(); ++it) {
 delete *it;
 }
 delete child;
 }ami a kommentarokban van, az a regi megoldas tombokkel ami mukodik is jol, olyat szeretnek csak vectorral es operatorral, tehat ami eddig n->child[i ] volt az legyen n[i ] . ezt az osztalyt kesobb szeretnem igy hasznalni: Node n = new Node(10); 
 Node n[0] = new Node(10);
 stb..remelem ertheto mi a problema, koszonom elore a segitseget. 
- 
			
			  dani0907 csendes tag Igen Szebihez járok  
 A héten kellett bemutatni a specifikációt, aztán nem irtam bele semmit az operátor-átdefiniálással kapcsolatban, de nem is szólt érte egyáltalán a lab vezér.
- 
			
			  Sk8erPeter nagyúr válasz  dani0907
							
							
								#1024
							
							üzenetére dani0907
							
							
								#1024
							
							üzenetéreHát amit én annak idején megcsináltam operátor-átdefiniálással, az a sorok tárolására szolgáló osztályban a következő: string& operator[] (int n) // Indexoperátor a tároló megadott elemének elérésére (pl. itt egy adott sor) 
 Ez_a_te_taroloosztalyod& operator= (const Ez_a_te_taroloosztalyod&) // egyenlőség operátor a másik tároló lemásolásáraa tárolóosztályon belüli belső iterátor osztályban ezek lehetnek: void operator++ () // pre-increment növelés 
 void operator++ (int n) // post-increment növelés
 bool operator== (const iterator &other) const // egyenlő-e a két iterátor
 bool operator!= (iterator &other) // egyenlő-e a két iterátor
 string & operator* () // iterátor indirekcióTehát mint látható, igazából az iterátor osztályhoz kell pár operátor-átdefiniálással járó cucc, de amúgy tényleg nem kell annyira erőltetni. 
 Legalábbis nekem most épp nem jut eszembe más, de aztán amikor a feladatot megoldogatod, küldözgethetsz ide státuszjelentéseket, ha nem klappol valami, vagy eszedbe jutott újabb dolog, és akkor lehet, hogy még felmerül, hogy mégis kéne valami operátor-átdefiniálós metódus.Egykori előadónk honlapján megtalálsz egy konkrét példát az iterátor osztályról: [link] Bár feltételezem a feladatleírásból, Te is BME-re jársz, Szebihez, vagy tévednék?  
- 
			
			  dani0907 csendes tag válasz  Sk8erPeter
							
							
								#1021
							
							üzenetére Sk8erPeter
							
							
								#1021
							
							üzenetéreEbben a feladatban kérnek még operátor átdefiniálást, és iterátort, csak azokat nem írtam oda. Na most operátor átdefiniálásnak ebbe a feladatban van értelme? csak mert minden feladathoz be van vágva szerintem ez a feladatrész. Monjduk a + két file-t összefűz vagy nemtudom mi lehetne még. Az iterátort pedig még nem tanultuk  
- 
			
			  bpx őstag válasz  Sk8erPeter
							
							
								#1021
							
							üzenetére Sk8erPeter
							
							
								#1021
							
							üzenetéreezt se hallottam még, hogy ennek a módszernek ilyen szép neve van, hogy "cirkuláris buffer"  
- 
			
			  dani0907 csendes tag válasz  Sk8erPeter
							
							
								#1021
							
							üzenetére Sk8erPeter
							
							
								#1021
							
							üzenetéreRendben, köszönöm  
- 
			
			  Sk8erPeter nagyúr válasz  dani0907
							
							
								#1020
							
							üzenetére dani0907
							
							
								#1020
							
							üzenetéreHehe, csak nem "Szoftver laboratórium 2." BME-n?  Az első mondat annak idején nálam is ugyanez volt, csak nekem a tail programot kellett elkészítenem. 
 A tetszőleges hosszúságú sorokból álló szöveges állományt reprezentáló objektum vizsgálgatásához én cirkuláris buffert készítettem, ami tulajdonképpen egy olyan tároló, amibe folyamatosan pakolgatod bele az elemeket (én a tároló egy adott "rekeszében" a sorokat tároltam \n-ig), és amikor a tároló megtelt, akkor elkezded újból elölről feltöltögetni a tárolódat, és ezen végezgeted a grep-vizsgálatot. Ez azért jó, mert tulajdonképpen tetszőleges hosszúságú sorokból álló szöveges állományt tudsz vizsgálgatni, nem állhat elő olyan helyzet, hogy már olyan brutálisan sok memóriát foglaltál, hogy egyszerűen nincs több szabad memória (mert mondjuk minden szart eltárolsz), viszont talán egész hatékonynak mondható módja a tárolásnak.
 Ja, és gondolom nálatok is úgy van, hogy STL-t nem lehet használni, így saját tárolót kell írni.A grep mondjuk elég összetett, ahogy a példa írja, válassz ki néhány megvalósítandó funkciót, ami nem tűnik olyan brutálnak (vagy ahogy érzed  ), amikhez a megfelelő kapcsolók tartoznak, és azokat írd meg. Kezdd el írni, és ha elakadtál, konkrétan kérdezz rá, hogy mire gondoltál, mi nem megy, hogy szeretnéd megvalósítani, és akkor tovább is tudunk segíteni remélhetőleg. ), amikhez a megfelelő kapcsolók tartoznak, és azokat írd meg. Kezdd el írni, és ha elakadtál, konkrétan kérdezz rá, hogy mire gondoltál, mi nem megy, hogy szeretnéd megvalósítani, és akkor tovább is tudunk segíteni remélhetőleg.
- 
			
			  dani0907 csendes tag Üdv! 
 Valaki el tudná mondani hogyan kéne nekiállni / (mi a lényege) ennek a feladatnak?Készítsen tetszőleges hosszúságú sorokból álló szöveges 
 állományt reprezentáló objektumot! Valósítsa meg a grep(1)
 nevű UNIX program néhány, Ön által kiválasztott funkcióját!
- 
			
			  #10382336 törölt tag Sziasztok! A következő kóddal lenne problémám. BSTR clsname = SysAllocString(L"Win32_OperatingSystem"); 
 BSTR MethodName = SysAllocString(L"Win32Shutdown");
 IWbemClassObject* pClsProc = NULL;
 IWbemClassObject* pInParams = NULL;
 IWbemClassObject* pOutMethod = NULL;
 IWbemClassObject* pClsProcInst = NULL;
 hres = pSvc->GetObject(clsname, 0, NULL, &pClsProc, NULL);if( SUCCEEDED(hres) ) { 
 hres = pClsProc->GetMethod(MethodName, 0, &pInParams,NULL);if( SUCCEEDED(hres) ) { 
 hres = pInParams->SpawnInstance(0, &pClsProcInst);if( SUCCEEDED(hres) ) { 
 VARIANT pcVal;
 VARIANT rsVal;
 VariantInit(&pcVal);
 pcVal.vt = VT_I4;
 pcVal.lVal = 1;
 VariantInit(&rsVal);
 rsVal.vt = VT_I4;
 rsVal.lVal = 0;
 hres = pClsProcInst->Put(L"Flags", 0,&pcVal, 0 );
 hres = pClsProcInst->Put(L"Reserved", 0,&rsVal, 0);if( SUCCEEDED(hres) ) { 
 hres = pSvc->ExecMethod(clsname, MethodName, 0, NULL, pClsProcInst, &pOutMethod, NULL);if(FAILED(hres)) { 
 cout << "Could not execute method. Error code = 0x" << hex << hres << endl;
 Console: eadLine(); eadLine();
 }
 }
 VariantClear(&pcVal);
 VariantClear(&rsVal);
 }
 }
 }[link]A kódot ennek az oldalnak a 6. pontja mintájára készítettem. 
 Az oldalon lévő eredeti kóddal nincs is probléma. Azonban a fenti kódot sehogy sem tudom működésre bírni.
 Futtatás alatt ahogy a "hres = pSvc->ExecMethod(clsname, MethodName, 0, NULL, pClsProcInst, &pOutMethod, NULL);" részhez ér, ezt a hibaüzenetet írja ki: 0x8004102f
 [link]Win32Shutdown -leírása itt.
 Ha valaki tudja a hiba okát, kérem segítsen.Köszi. 
- 
			
			  PazsitZ addikt válasz  Berenyimiki
							
							
								#1015
							
							üzenetére Berenyimiki
							
							
								#1015
							
							üzenetéreAzt, hogy megírod a progit, lefordítod és így hívod meg: prog AI-N10 
 így a programod parancssorból mint argumentum kapja meg a keresendő kódot.
 [link]
- 
			
			  WonderCSabo félisten válasz  Berenyimiki
							
							
								#1015
							
							üzenetére Berenyimiki
							
							
								#1015
							
							üzenetére
- 
			
			  Berenyimiki csendes tag Szép napot Mesterek! Egy olyan kérdéssel fordulok hozzátok, h van egy feladatom, ami így hangzik: "Az adat1.txt szöveges állomány legfeljebb 7 hasznos jelből álló kódokat tárol újsor jellel lezártan. 
 Írjon olyan programot, ami meghatározza, hogy az adat1.txt állományban hány darab adott kódú tétel szerepel! A kódot parancssori argumentumként adjuk meg (például legyen a kód AI-N10)!"
 Az lenne a kérdésem, h mit jelent az h "A kódot parancssori argumentumként adjuk meg (például legyen a kód AI-N10)!"Az adat1.txt így néz ki: AI-N10 
 AI-N10
 AG-L08
 AG-N10
 AM-L
 AG-L07
 AI-L10
 AG-L09
 AM-L08
 AG-N07
 AG-L09
 AI-N07
 AI-N10
 AI-N09
 AI-N09
 TMI-L09
 .
 .
 .Köszi a segítséget! 
- 
			
			  #10382336 törölt tag Sziasztok! Egy olyan kérdésem lenne, hogy dev-c++ -ban hogyan lehet a console ablakot eltüntetni? 
 Pl.: ha csak form, vagy egy alkalmazás elindítására szeretném használni.HWND hWnd = GetConsoleWindow(); 
 ShowWindow( hWnd, SW_HIDE );Ha ezt a két sort alkalmazom, akkor ugyan rövidebb ideig, de mégiscsak felbukkan az ablak.  
- 
			
			  Jester01 veterán válasz  Sk8erPeter
							
							
								#1009
							
							üzenetére Sk8erPeter
							
							
								#1009
							
							üzenetéreAzért van mert a csoda c++ nyelvben bizonyos dolgok kétértelműek. A te My_Mouse_Class MyMouse(); sorod egy függvény prototípus lett, mégpedig egy MyMouse függvényé ami nem vár paramétert és visszatér egy My_Mouse_Class példánnyal. 
- 
			
			  Sk8erPeter nagyúr Sziasztok! Van egy grafika házim, a lényege, hogy egérrel kell mászkálni labirintusban, nem is nagyon részletezném, igazából csak C++ szintaktikai kérdésem van: 
 ha így példányosítom az osztályt (globálisan elérhető lesz, mert a feladat miatt így kell most megcsinálnom):
 My_Mouse_Class MyMouse();
 és aztán így hívom meg egy függvényen belül:
 MyMouse.Display();Akkor Visual Studio hibaüzenete: 
 "Error: expression must have class type"Ha viszont így példányosítom: 
 My_Mouse_Class MyMouse;
 és ugyanúgy hívom meg:
 MyMouse.Display();
 akkor semmi baja.
 Egyetlen különbség a hibás változathoz képest a zárójel hiánya.A My_Mouse_Class konstruktora maga semmi különlegesség, egyelőre üres, csak inicializáló lista van ott: 
 My_Mouse_Class(void): mouse_x(0.0), mouse_y(0.0) {
 }Vajon a void kulcsszó miatt van az eredeti hiba? A fordító ilyenkor hibát érzékel, ha mégis a zárójeles módon hívjuk a konstruktort?Nem, a void tök mindegy, ott van-e. Legalábbis tippre amúgy is "odafordítódik".
 Vagy miért?
 Lehet, hogy rég volt C++, de hirtelen nem vágom a magyarázatot.
- 
			
			  PazsitZ addikt válasz  Dave-11
							
							
								#1005
							
							üzenetére Dave-11
							
							
								#1005
							
							üzenetéreNagyon nem ajánlom. cygwin-el nekem sem ment. 
 MinGW-t raktam fel végül, de az pedig olyan hibákat dobált, amelyeket nem is tudtam feloldani. Az időm nagy részét azzal k*rtam el, hogy ezeket próbáltam javítani/debuggolni.
 Kipróbálva winen dev-cpp-ben és linuxon gcc-vel a kódom simán fordult és amivel azelőtt napokig szenvedtem egy nap alatt összeraktam.
 Szóval max fejlesztésre, de fordításra nem ajánlom a netbeans esetleges megoldását. note: Azért próbálkoztam netbeans-el, mert addig php,java fejlesztésre ezt használtam, megszoktam és szeretem. 
- 
			
			  Dave-11 tag Sziasztok! 
 Letöltöttem egy NetBeans 6.9.1 -es verziót, és kéne hozzá compiler, ami leellenőrzi a készített fájlokat, meg amivel le tudnám futtatni őket, de sehogysem jön össze Próbáltam a cygwin nevű programmal. Ki kell választani a Beans mappájában a "base directory"-t, de azt írja nincs compiler azt adott mappában, pedig YouTube-os videótutorialokon ugyanezt csinálják. Nem értem Próbáltam a cygwin nevű programmal. Ki kell választani a Beans mappájában a "base directory"-t, de azt írja nincs compiler azt adott mappában, pedig YouTube-os videótutorialokon ugyanezt csinálják. Nem értem 
 Kérlek segítsetek!
- 
			
			  Jester01 veterán válasz  WonderCSabo
							
							
								#1002
							
							üzenetére WonderCSabo
							
							
								#1002
							
							üzenetéreVagy: if (strchr("+-*^/%", c)) 
- 
			
			  j0k3r! őstag válasz  WonderCSabo
							
							
								#1001
							
							üzenetére WonderCSabo
							
							
								#1001
							
							üzenetére#include <iostream> 
 using namespace std;
 int main()
 { char c='+';
 if(c == '+' || c == '-' || c == '*' || c == '^' || c == '/' || c == '%')
 {
 cout<<"jo";
 }
 else {cout<<"nem";}
 return 0;
 }nalam igy mukodik szerk: kozben latom meglett 
- 
			
			  WonderCSabo félisten válasz  WonderCSabo
							
							
								#1001
							
							üzenetére WonderCSabo
							
							
								#1001
							
							üzenetéreHülye vagyok, megvan: if(c == '+' || c =='-' || c =='*' || c =='^' || c =='/' || c =='%') 
- 
			
			  WonderCSabo félisten Üdv! Nagyon szégyellem magam, hogy felteszem ezt a kérdést, de nem tom miért nem működik a dolog.  Kezdek megőrülni. Egy bonyolult dolgot írok, de vmiért még az alapvető dolgok sem működnek. Lebontottam alap példára: 
 ha '+' vagy '-' stb a karakter, akkor írja ki "jo"
 ha egyéb más, akkor írja ki: "nem"Nekem ezzel a kóddal bmely karakterre "jo"-t ír, miért? :S #include <iostream> 
 using namespace std;
 int main()
 { char c='6';
 if(c == '+' || '-' || '*' || '^' || '/' || '%')
 {
 cout<<"jo";
 }
 else {cout<<"nem";}
 return 0;
 }
Új hozzászólás Aktív témák
● ha kódot szúrsz be, használd a PROGRAMKÓD formázási funkciót!
- LEGO klub
- Okos Otthon / Smart Home
- Filmvilág
- Windows 10
- Miért nem tűnik el soha a kalózkodás?
- Black Friday november 29. / Cyber Monday december 2.
- TCL LCD és LED TV-k
- Xiaomi 15 - kicsi telefon nagy energiával
- AMD K6-III, és minden ami RETRO - Oldschool tuning
- Munkahelyek tízezreit szünteti meg az AI
- További aktív témák...
- Telefon felvásárlás!! iPhone 13 Mini/iPhone 13/iPhone 13 Pro/iPhone 13 Pro Max
- Bomba ár! Lenovo ThinkPad L490 - i5-G8 I 16GB I 256SSD I 14" FHD Touch I HDMI I Cam I W11 I Gari!
- ÁRGARANCIA! Épített KomPhone i5 10400F 16/32GB/64GB RAM RTX 5050 8GB GAMER PC termékbeszámítással
- HIBÁTLAN iPhone 12 mini 128GB Black -1 ÉV GARANCIA - Kártyafüggetlen, MS3303
- Lenovo X13 Thinkpad Gen2 WUXGA IPS i5-1145G7 16GB RAM 256GB SSD Intel Iris XE Win11 Pro Garancia
Állásajánlatok
Cég: NetGo.hu Kft.
Város: Gödöllő
Cég: Promenade Publishing House Kft.
Város: Budapest
 
								 
							 
								


 
								 
							 
								 
							


 
								 
							 Ezt is felejtsd el. Ebben a topicban és a sima C-s topicban is már ötvenmilliószor volt szó róla, hogy ez nem jó.
 Ezt is felejtsd el. Ebben a topicban és a sima C-s topicban is már ötvenmilliószor volt szó róla, hogy ez nem jó. 
 
								 
							 
							 
								 
								 
							 
								
 
								
 
							![;]](http://cdn.rios.hu/dl/s/v1.gif)
 
								 
							 
							 
								 
							 )
)
 
							 
							 
								 
							 
								 
								 
								 
								 
							
 
								 
							 
							 
  
							 
								 
							
 
								
