Ú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!
- ARCTIC Liquid Freezer III 360 A-RGB Processzor vízhűtő
- Phanteks Eclipse P600S Black Számítógép ház
- Corsair 32GB KIT DDR5 6000MHz CL30 Vengeance RGB Grey AMD EXPO / XMP
- Iphone 16 PRO 256GB Titanium BLACK - Garanciás - Akku: 94%
- Esport Gaming PC (Intel i5-9400F, 32GB RAM, RTX 2060, 500GB SSD) Eredeti Windows11 Pro
- ÁRGARANCIA! Épített KomPhone i5 12400F 16/32/64GB RAM RTX 5050 8GB GAMER PC termékbeszámítással
- BESZÁMÍTÁS! Apple Mac Mini 2023 M2 16GB 256GB számítógép garanciával, hibátlan működéssel
- ÁRGARANCIA!Épített KomPhone Ryzen 5 7500F 32/64GB DDR5 RTX 5060 8GB GAMER PC termékbeszámítással
- Samsung Galaxy A34 5G 128GB,Újszerű,Dobozával,12 hónap garanciával
- ÁRGARANCIA! Épített KomPhone i5 12400F 16/32/64GB RAM RTX 3060 12GB GAMER PC termékbeszámítással
Állásajánlatok
Cég: BroadBit Hungary Kft.
Város: Budakeszi
Cég: ATW Internet Kft.
Város: Budapest







