- Honor Magic7 Pro - kifinomult, költséges képalkotás
- Honor 200 Pro - mobilportré
- Fotók, videók mobillal
- iPhone topik
- 45 wattos vezeték nélküli töltés jön az új iPhone-ba
- VoLTE/VoWiFi
- Bemutatkozott a Poco X7 és X7 Pro
- Milyen okostelefont vegyek?
- Xiaomi 14T Pro - teljes a család?
- Honor Magic6 Pro - kör közepén számok
Új hozzászólás Aktív témák
-
kispx
addikt
válasz
MiniXD55 #4431 üzenetére
vector<string> virag_szine(agyasokszama, "");
vector<int> virag_sorszam(agyasokszama, 0);
De linkelek egy tutorialt hozzá: https://www.codeguru.com/cplusplus/c-tutorial-a-beginners-guide-to-stdvector-part-1/ [link] , mert az eszközöket ismerete nélkül nem lehet programot írni.
-
-
kispx
addikt
válasz
Tomi_78 #4386 üzenetére
Nagyon sok éve nem láttam a Code :: Blocks-ot, így fejből nem tudom.
Ha még releváns ez a 2017-es fórum, akkor project szinten nem tudod beállítani, csak MAKE fájl szerkesztésével. Vagy globálisan (minden projectre kiterjedően) a #define fülön
A harmadik pontot pedig az Edit > File encoding menüponttal tudod elméletileg beállítani. -
kispx
addikt
válasz
Tomi_78 #4384 üzenetére
The wingdi.h header defines TextOut as an alias which automatically selects the ANSI or Unicode version of this function based on the definition of the UNICODE preprocessor constant. [link]
1) A project beállítások között definiáld a UNICODE preprocesszor konstanst.
2) használj wchar_t-n alapuló stringet: LPCWSTR (emiatt strlen helyett wcslen függvényt kell majd használnod kell majd használnod 5. paraméterként
3) a forrásfájl karakterkódolása is legyen Unicode -
kispx
addikt
válasz
m.zmrzlina #3899 üzenetére
Úgy, ahogy az std-ben szerepel: paraméterként átadod a rendezés feltételét.
Szer.: A "legjobb módszer" általában kontextusfüggő. Egy másik megközelítés: az utolsó paramétert lecseréled egy
bool isAscending
paraméterre. Így az olvasónak egyértelműbb, hogy mire szolgál az utolsó paraméter és nem is kellene külön függvényt írni a rendezés feltételeként. -
kispx
addikt
válasz
#74220800 #3893 üzenetére
0) fájl megnyitás után lekell ellenőrizni, hogy sikeresen megnyitotta-e a fájlt. Ha nem sikerült megnyitni a fájlt a program akkor is tovább fog menni. Ezt meg kell akadályozni.
if (!myfile) {
cerr << "Hiba: ...";
return 0;
}1)
int x[n][ m ];N = 1000 és M = 1000 esetén ennek a mérete: 1000*1000*sizeof(int) lesz. Valószínűleg a 4 byte az int mérete nálad. Így több mint 3,8 MB ennek a változónak a mérete. Túl nagy, nem fér bele a stackbe. Olvasnivaló. Helyezd át a heapre:
int n;
int m;
row>>n;
row>>m;
int **x = new int*[n];
for(int i = 0; i< n ; i++){
x[i] = new int[m];
}Majd ha már nem használod a tömböt a delete[] x; utasítással töröld.
-
-
kispx
addikt
válasz
Hunmugli #3779 üzenetére
kiir:
A függvények alapértelmezett visszatérési típusa int. Emiatt nincs kiírva az int és tér vissza int-tel.Amíg nem hívod meg a beallit() metódust, addig nem mindegyik fordítónál hiba. Amit megakarod hívni, undefined reference to asd::beallit hibaüzenetet kapsz.
double a = 4.3
Default member initializer -
kispx
addikt
válasz
Hannibhál #3748 üzenetére
Az eredeti kérdésedre a válaszolva: Stroustrup-nak van egy kezdőknek szánt könyve.
Viszont lehet, hogy jobban járnál egy másik nyelvvel. Pl.: C#, vagy Python
C# programozás lépésről lépésre
Nem akarok vallási háborút kiindítani, hogy ezt a két nyelvet ajánlottam, de általában a kezdők gyorsabban tudnak ezekkel haladni, mint a C++-szal. -
kispx
addikt
Be kell állítani a fordítót, amit a kiírt helyen megteheted.
Windows platformon van egy olyan szokása, hogy két fajta telepítő is van az oldalukon.
codeblocks-16.01-setup.exe
Ebben csak az IDE van.codeblocks-16.01mingw-setup.exe
Ebben az IDE és (mingw) fordító program is van. Ha az elsőt töltötted le, akkor fordítód nincs. Így érdemes a codeblocks-16.01mingw-setup.exe letölteni. (vagy külön egy mingw fordítót felrakni.) -
kispx
addikt
válasz
PumpkinSeed #2308 üzenetére
Egy fordítót is tölts mellé és állísd be.
-
kispx
addikt
-
kispx
addikt
Kifutottam a szerkesztési időből
A printf végén a %c és %i nem kell.
Ha a név több karakterből áll mint egy, akkor érdemesebb több karakternyi helyet lefoglalni a char nev[50]; utasítással (max 49 karakter lehet a név) és akkor a scanf("%c",&nev); helyett érdemes gets(nev); utasítással beolvasni.
-
kispx
addikt
válasz
playnsmile #1860 üzenetére
A nevet miért egy char-nak deklaráltad?
-
kispx
addikt
Sziasztok,
lenne a C++/Qt problémán (de inkább csak Qt-s)A Design nézetbe rápakolom a szükséges elemeket a QMainWindow-ra (2 db ListWidget és 2 db Graphics View). Beállítom a ezeknek a méretét és a helyét. Majd Layout-ba szeretném foglalni őket:
a 2 db Graphics View kerülne egy Horizontally Layout-ba, és az így keletkező layout a maradék 2 elemmel egy Vertically Layout-ba).De ekkor a már beállított méretűket felülírja. (És ezután meg nem lehet átméretezni egyenként az elemeket.) Layout-ot muszáj használni, mert azt akarom, hogy az ablak átméretezésekor méreteződjenek át az elemet, de úgy, hogy a méretarányukat megtartsák.
-
kispx
addikt
válasz
Dave-11 #1830 üzenetére
srand(); inicializálja a randomszámgenerátort. Mindig a legelső szám generálása előtt kell ezt megtenni.
"srand(12);" Konstanssal nem illik inicializálni, mert minden egyes futás során ugyanazokat a számokat fogja előállítani. Helyette olyan módszert kell választani, ami futásról futásra változik, pl idő:
srand ( time(NULL) );rand(), egy véletlen számot fog visszaadni 0 és RAND_MAX között.
Ha kisebb értéktartományon szeretnénk véletlen számot generálni akkor, akkor egy X számmal kell a maradékát képezni, pl
rand() % X ez [0; X-1] tartományban képez egy véletlen számot
Szerk.: látom túl sokáig írtam a hszt
-
kispx
addikt
válasz
Dave-11 #1820 üzenetére
Vannak olyan függvények amiknek nem kell visszaadnia értéket csupán csak valamit meg kell csinálniuk. (pl. clearerr) Ezeket eljárásoknak is nevezik.
C/C++-ban nincs külön kulcsszó a függvények és az eljárások megkülönböztetésére. C-ben ha eljárást szeretnénk csinálni akkor a visszatérési típusnak void-nak kell lennie. Ezzel jelezzük a fordítónak, hogy valójában semmit sem fog visszaadni a függvény. Egy ilyen függvényben értéket nem adhatunk vissza (pl.: return 1; ) mert ez fordítási hibához vezet. Viszont használhatjuk függvényből való visszatérésre a return; utasítást. (A függvényt lezáró kapcsos zárójel elé nem kötelező kitenni)
void f () { //.... }
az függvényt így hívjuk meg:
//...
f(); //változónak nem adhatunk vele értéketint g() { //.... return valami; }
a g függvényt így hívhatjuk meg:
int x = g(); //a g() visszatérési értékét az x változónak adjuk át
g(); // a g() visszatérési értékét minek sem adjuk át, így ez az érték elveszlikSzerk.:
"void Osztaly::Tag(){...}
Mondjuk ebben kiszámítok valamit, és a végére odaírom hogy: return vegeredmeny; Akkor hogy-hogy nem tér vissza semmi?"
Az fordítási hibához vezet.(#1821) dabadab
Régebben volt kezemben egy ősköri C++ fordító, ott lehetett main-nak void visszatérési értéke -
kispx
addikt
válasz
Dave-11 #1818 üzenetére
Függvény.
A main függvénynek lehet visszatérési értéke:
- ha int akkor program visszaad egy hibakódot az oprendszernek (hívó programnak). 0 a sikeres végrehajtás (ilyenkor egy fordítási hibaüzenetet fogsz kapni, ha elfelejtkezel a return 0; utasításról)
- void, visszatérési érték hiánya semmit sem ad vissza -
kispx
addikt
válasz
Dave-11 #1813 üzenetére
Karaktersorozat vagy string (szerk.: lehet, hogy a könyv jobban fog fogalmazni, mint a linkem)
"int main( ...,char* ) {"
Nem ezt láttad, hanem: int main(int argc, char *argv[]) vagy int main(int argc, char **argv)
-
kispx
addikt
válasz
Dave-11 #1811 üzenetére
Pontosan annyiszor használom őket ahányszor kellenek (se többször, se kevesebbszer
)
Feleslegesen nem fogom tele pointerezni a forráskódot, azért mert csak azzal is meglehet vele oldani a feladatot. Végig kell gondolni a programot, hogy éri meg lekódolni és aszerint fejleszteni.Legtöbbször használom: (hirtelen ennyi jutott eszembe)
- ha külső függvénykönyvtárok megkövetelik
- char*
- ha olyan paramétert adok át aminek az értékét meg kell változtatni (bár ha már C++ a nyelv, akkor inkább referencia) -
kispx
addikt
Ezért kell a másik tömb, ahol megjegyzed, hogy melyiket írtad ki.
Ja bocs, félreolvastam:
egyenletes elosztású véletlen-számot generálsz, azaz kevés az esély, hogy 6X ugyanazt kapod.De jutott eszembe egy egyszerú és gyorsabb megoldás: Ha már ott a lista, akkor csak megkell keverni.
-
kispx
addikt
Beolvasod egy vectorba az összes lehetséges köszönést. Majd csinálj egy ugyanolyan méretű vector/tömböt bool típusú elemekkel. Kezdetben mindegyik elemének az értéke false. Ennek a tömbnek az x-edik eleme fogja jelezi, hogy a vector x-edik elemét kiírtuk vagy sem.
Egy ciklusban generálj véletlen számokat és írasd ki a a vectornak a megfelelő elemét (ha a tömb ugyanazon sorszámú elemének az értéke true, akkor nem kell kiírni), majd a tömb megfelelő elemének true értéket adj.
-
kispx
addikt
Melyik könyvtár/technológiát szeretnéd használni?
Win32 API
Qt könyvtárt is lehet lehet visual studio alatt használni
Tudtommal az MFC is erre való.
Meg még a Winforms ami még eszembe jutott.
Ú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!
- Autós kamerák
- Motorolaj, hajtóműolaj, hűtőfolyadék, adalékok és szűrők topikja
- Honor Magic7 Pro - kifinomult, költséges képalkotás
- hdanesz: Hyundai Ioniq 28 kWh 2018 2. felvonás
- Gamepad
- Apple MacBook
- Milyen program, ami...?
- Honor 200 Pro - mobilportré
- Milyen belső merevlemezt vegyek?
- Audi, Cupra, Seat, Skoda, Volkswagen topik
- További aktív témák...
- Csere-Beszámítás! MSI Gaming X RTX 4060Ti 16GB GDRR6 Videokártya!
- Intel X540-T2 dual-port 10GbE RJ45 hálózati vezérlő (10Gbit, 2 port, áfás számla, garancia)
- Lenovo Thinkpad P16 G2 - i9-13980HX, 64GB, 1TB SSD, 16" WQUXGA (3840 2400), RTX 4090 (ELKELT)
- Honor X6b 128GB Kártyafüggetlen 1Év Garanciával
- AKCIÓ! ASROCK H310CM i5 9600K 32GB DDR4 500GB SSD RTX 3050 8GB DeepCool Tesseract SW 500W
Állásajánlatok
Cég: CAMERA-PRO Hungary Kft
Város: Budapest
Cég: Promenade Publishing House Kft.
Város: Budapest