- Android szakmai topik
- Samsung Galaxy Watch6 Classic - tekerd!
- Google Pixel topik
- Most a Galaxy S25 FE megjelenésére tippelnek
- Realme GT 2 - aláírjuk
- Szakít a OnePlus és a Hasselblad?
- Samsung Galaxy Buds3 Pro - szárat eresztettek a babok
- Samsung Galaxy S23 Ultra - non plus ultra
- Samsung Galaxy Watch (Tizen és Wear OS) ingyenes számlapok, kupon kódok
- Honor 200 Pro - mobilportré
Hirdetés
Új hozzászólás Aktív témák
-
PumpkinSeed
addikt
válasz
bandi0000 #3662 üzenetére
Egy jó tanács a kezdetekre. Vannak a változóid:
int i2, db, ossz2=0, jegy[20], jelesdb=0;
Ha a jövőben programot írsz akkor törekedned kell arra, hogy a változónevek egyértelműen a funkciójuk alapján legyenek elnevezve. Ez az egyik legnehezebb része a programozásnak. Én például van, hogy 10 percet ülök egy változónév felett.Miért kell ez a baszakodás? - Teszed fel magadban a kérdést. A programozásnak nem az a lényege, hogy egy kódot megírsz, elkészítesz, vagy álmatlan éjszakádon kiokomulálsz és az a végtelenségig tökéletesen fog működni. Olykor-olykor megesik az, hogy fél évvel később vissza kell térned, hogy változtass valamit, és nézed a kódot, ami majd 5000 sor, ahol olyan változók vannak mint a
jegy[20]
vagy a barátai mellette. Na ebben az ilyen esetekre kell normális változó és később függvény, metódus neveket adni.Általában a for ciklus index változóit ami ebben az esetben "i2" (el nem tudom képzelni miért), i-vel szoktuk jelölni, ha véletlen egymásba ágyazott ciklusaid vannak, ami amúgy kerülendő a komplexitás növekedésének elkerülése végett, akkor használhatsz j-t vagy a következő betűket az angol abc-ből.
Törekedni kell az angol elnevezésre is, de ez opcionális. Illetve a camelCase használata változók, függvények és metódusok közben. A camelCase azt jelenti, hogy az első szó kis kezdőbetűs míg a többi nagy, pl.: mintEzItt. Ezt a metodikát követve, illetve értelmesebb neveket adva a változóidnak:
db -> pieceOfSomething // El nem tudom képzelni minek a darabja
ossz -> countOfSomething // Szintén nem tudom minek az összege
jegy -> marks[20] // Mivel tömb ezért többesszámba kell tenni
jelesdb -> countOfALevel // Ez godolom a meglévő ötös érdemjegyek darabszámát jelzi.Ha valaki jobb neveket tud a kód mivoltának tudatában, akkor javítson ki.
-
PumpkinSeed
addikt
válasz
attis71 #2573 üzenetére
Mivel a fejlődésed érdekében nem szeretném megcsinálni helyetted itt egy részletes magyarázat:
(Ha bárminemű hibát találtok benne javítsátok én se vagyok túl nagy szakértő, illetve a kódom nem egy professzionális kód amelynek a futásideje n elemű tömb esetén is 1 nanomásodperc, úgy kérném véleményezni, hogy kezdő vagyok.)Adott az a[] tömb amiben bizonyos számú szám tárolódik. Ezen kívül létrehozol egy tömböt ami ugyan annyi elemet tárol mint az a tömböd, legyen mondjuk res[sizeof(a)]; Ha jól tudom C++-ban a sizeof függvény határozza meg a tömb méretét. Azért kell ugyan annyi eleme legyen a result tömbnek mint az eredeti tömbnek, mert tegyük fel, hogy egy ismétlődő elem sincs ezért mindent át kell másolni. (Nem tudom, hogy C++-ban hogyan néznek ki a dinamikus tömbök, vagy vektorok, vagy van-e megoldás erre.) Majd következik a program lényegi része. Kezdődik egy for ciklussal, amely végig indexeli a result tömböt i-től sizeof(a)-ig. Mivel az első elem átmásolásakor biztos nem lesz ismétlődés így egy if feltételben akár meg is lehet adni, hogy csak a második lefutás után vizsgálja meg az értéket, így az első futás egyszerűen res = a(i);. A következő futás lesz az érdekes ugyanis ide kell egy új for ciklus ahol ismét beindexeled a res[] tömböt, de j-től csak i-ig mész el. Itt megvizsgálod, hogy a[k] == res[j];,(a k változó a későbbiekben lesz érdekes érdemes 1-re deklarálni.) ha igen akkor egy változót ami most mondjuk cnt növeled eggyel, cnt++. Ha ennek a for ciklusnak a végén a cnt értéke 0 akkor a res tömbben az adott a(i) még nem szerepel ha 0-nál nagyobb akkor már szerepel. Értelemszerűen jól működő kód esetén ez nem lehet nagyobb 1-nél. Majd a cnt változót nullázod, ugyanis ha mindig benne hagynád az értéket akkor az első egyezés után soha többet nem másolna át értéket.
Itt fontos rész következik, ha a cnt értéke mint már mondottam 0-nál nagyobb akkor k++ ha viszont 0 akkor előbb átmásolod res(i) = a[k]-val az értéket majd utána k++.Remélem érthető volt és tudtam vele segíteni.
-
PumpkinSeed
addikt
válasz
attis71 #2566 üzenetére
Én úgy valósítanám meg, hogy az egészet elkezdem belemásolni egy új tömbbe, és minden elem másolása előtt megnézem, hogy a régi tömbben benne van-e már az átmásolandó elem. Ha mondjuk benne van akkor megszakítod a ciklust, ha nincs akkor átmásolod. Ha elakadnál a megvalósítással kérdezz.
-
PumpkinSeed
addikt
válasz
wowpegazus #2520 üzenetére
Valamilyen programozási nyelv, mondjuk JAVA elsajátítását ajánlom.
-
PumpkinSeed
addikt
válasz
-Faceless- #2418 üzenetére
2. fejezet - Egyszerű feladatok Innen vannak feladatok, bár c-s megvalósítással, de nem nehéz áttenni c++-ba.
-
PumpkinSeed
addikt
Ez egy amatőr kérdés, de leszedtem a netbeans-t majd létrehoztam egy új projectet benne egy új állománnyal, de úgy sikerült, hogy a header fájlokat nem találja. Ezeket honnan tudom beszerezni?
-
PumpkinSeed
addikt
A rendszer információs függvényekhez milyen header fájlokat kellene definiálni?
-
PumpkinSeed
addikt
válasz
FiFixD94 #2286 üzenetére
Google: 8 királynő probléma.
-
PumpkinSeed
addikt
C++-ban is létezik ternáris műveletjel? (igaz?igaz:hamis)
-
PumpkinSeed
addikt
Nem nagyon értek még az osztályokhoz, de próbálkozom, viszont azt se értem, hogy mi is a tényleges lényege ennek.
Itt mi a hiba?
#include <iostream>
using namespace std;
class teglalap
{
public:
double lenght;
double width;
double eredmeny;
double teg_szam()
{
return lenght*width;
}
}
int main()
{
teglalap t;
cout<<"Kell ketto szam:"<<endl;
cin>>t.lenght;
cout<<endl<<"Most a másik!"<<endl;
cin>>t.width;
cout<<endl<<t.teg_szam(t.lenght,t.width)<<endl;
system("pause");
return 0;
} -
PumpkinSeed
addikt
Cinkézést szeretnék megvalósítani.
Így nézne ki a kód, ahol adtam egy cimkét a for-nak mint ciklus, és a switch default utasításrésszel befejezem azt. De nem működik, biztos valami szintaktikai hiba van, mert le se futott.ciklus:for(;;)
{
eredmeny = 0;
cout<<"1. Osszeadas (1)"<<endl;
cout<<"2. Kivonas (2)"<<endl;
cout<<"3. Szorzas (3)"<<endl;
cout<<"4. Osztas (4)"<<endl;
cout<<"5. Kilepes (5)"<<endl;
cin>>menu_switch;
switch(menu_switch)
{
case 1: osszead();
break;
case 2: kivon();
break;
case 3: szoroz();
break;
case 4: oszt();
break;
default: break:ciklus;
break;
}
}
Ú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!
- Sorozatok
- Ingatlanos topic!
- Témázgatunk, témázgatunk!? ... avagy mutasd az Android homescreened!
- sziku69: Fűzzük össze a szavakat :)
- India és az AI a McDonald's jövője?
- BestBuy ruhás topik
- Bambu Lab 3D nyomtatók
- Luck Dragon: Asszociációs játék. :)
- Android szakmai topik
- Samsung Galaxy Felhasználók OFF topicja
- További aktív témák...
- Csere - Beszámítás! ASUS TUF Gaming laptop : I5-11400H / 32GB DDR4 / RTX 3050 Ti / 144Hz - GARANCIA!
- P14s Gen5 14" FHD+ IPS Ryzen 7 PRO 8840HS Radeon 780M 16GB 512GB NVMe ujjlolv IR kam gar
- P15 Gen2i 15.6" FHD IPS i7-11850H RTX A3000 32GB 1TB NVMe ujjlolv IR kam gar
- GIGABYTE G27F 2 165Hz IPS gaming monitor /2026.12.12-ig Garis/
- Lenovo ThinkPad Yoga 2in1 Touch Laptop! AMD Ryzen 7 PRO 7730U / 16GB 3200MHz / 256GB NVMe
- 8 GB GeForce RTX 3070 Ti - garanciával
- Lenovo ThinkPad T15 Gen 1 Intel Core i5-10210U
- HIBÁTLAN iPhone 13 128GB Midnight -1 ÉV GARANCIA - Kártyafüggetlen, MS3033, 100% Akkumulátor
- LG 27GR83Q-B - 27" IPS / QHD 2K / 240Hz & 1ms / NVIDIA G-Sync / FreeSync / DisplayHDR 400
- BESZÁMÍTÁS! Asus TUF B360-Pro i7 9700 16GB DDR4 512GB SSD RTX 4060 8GB ZALMAN S3 TG Zalman 500W
Állásajánlatok
Cég: FOTC
Város: Budapest