- Nvidia GPU-k jövője - amit tudni vélünk
- AMD Ryzen 9 / 7 / 5 9***(X) "Zen 5" (AM5)
- Samsung Galaxy Tab S10 Ultra - más dimenzió
- NVIDIA GeForce RTX 5080 / 5090 (GB203 / 202)
- Canon EOS DSLR topic
- Intel Core i5 / i7 / i9 "Alder Lake-Raptor Lake/Refresh" (LGA1700)
- Forrmell.enn
- Vélemény: nem úgy tűnik, de Lip-Bu Tan most menti meg az Intelt
- AMD Navi Radeon™ RX 5xxx sorozat
- HiFi műszaki szemmel - sztereó hangrendszerek
Ú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!
- Xbox Series X|S
- sziku69: Szólánc.
- Nvidia GPU-k jövője - amit tudni vélünk
- LEGO klub
- Google Pixel 8 Pro - mestersége(s) az intelligencia
- Luck Dragon: Asszociációs játék. :)
- sziku69: Fűzzük össze a szavakat :)
- Debrecen és környéke adok-veszek-beszélgetek
- Milyen routert?
- D1Rect: Nagy "hülyétkapokazapróktól" topik
- További aktív témák...
- SZÉP Lenovo ThinkPad P15 G2 Tervező Laptop -75% 15,6" i9-11950H 64/2TB RTX A4000 8GB UHD OLED
- Szép! Lenovo Thinkpad T14s G2 Üzleti "Golyóálló" Laptop 14" -50% i7-1185G7 4Mag 16GB/512GB FHD IPS
- Eladó Apple MacBook Pro 13" A1706 (Late 2017, Silver - EMC 3163)
- Amazfit GTR 2 Classic okosóra dobozában töltőkábellel
- Mac mini M1 chip 8 magos CPU-val, 8 magos GPU-val
- Xiaomi Redmi Note 14 Pro 256GB, Kártyafüggetlen, 1 Év Garanciával
- Beszámítás! Sony PlayStation 5 825GB SSD lemezeskonzol extra játékokkal garanciával hibátlan működés
- LG 48C4 - 48" OLED evo - 4K 144Hz - 0.1ms - NVIDIA G-Sync - FreeSync - HDMI 2.1 - A9 Gen7 CPU
- Xiaomi Redmi Note 11 Pro 128GB, Kártyafüggetlen, 1 Év Garanciával
- Üzleti Fujitsu Lifebook u7510 15,6" FHD IPS 2021/08. havi gyártás
Állásajánlatok
Cég: Promenade Publishing House Kft.
Város: Budapest
Cég: CAMERA-PRO Hungary Kft
Város: Budapest