- Samsung Galaxy S21 és S21+ - húszra akartak lapot húzni
- Honor Magic7 Pro - kifinomult, költséges képalkotás
- Samsung Galaxy A54 - türelemjáték
- Milyen okostelefont vegyek?
- Telekom mobilszolgáltatások
- Honor 400 Pro - gép a képben
- Apple iPhone 16 Pro - rutinvizsga
- India felől közelít egy 7550 mAh-s Redmi
- Xiaomi 13T és 13T Pro - nincs tétlenkedés
- Xiaomi 15 - kicsi telefon nagy energiával
Ú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
Hirdetés
● ha kódot szúrsz be, használd a PROGRAMKÓD formázási funkciót!
- Ingatlanos topic!
- Melyik tápegységet vegyem?
- Samsung Galaxy S21 és S21+ - húszra akartak lapot húzni
- LEGO klub
- exHWSW - Értünk mindenhez IS
- Horgász topik
- Kivégzi a Firewire-t az új macOS verzió?
- Vezetékes FEJhallgatók
- Counter-Strike: Global Offensive (CS:GO) / Counter-Strike 2 (CS2)
- Milyen TV-t vegyek?
- További aktív témák...
- BESZÁMÍTÁS!Gigabyte B650M R7 7800X3D 64GB DDR5 1TB SSD RTX 3080Ti 12GB Corsair 4000D Airflow TG 750W
- Oneplus Nord 5G
- REFURBISHED - HP USB-C Universal Dock G1 docking station (DisplayLink)
- BESZÁMÍTÁS! XFX MERC 310 RX 7900 XTX 24GB videokártya garanciával hibátlan működéssel
- Samsung SyncMaster 205BW Monitor
Állásajánlatok
Cég: CAMERA-PRO Hungary Kft
Város: Budapest
Cég: Promenade Publishing House Kft.
Város: Budapest