- Samsung Galaxy S25 Ultra - titán keret, acélos teljesítmény
- Milyen hagyományos (nem okos-) telefont vegyek?
- „Új mérce az Android világában” – Kezünkben a Vivo X300 és X300 Pro
- Ha Kínában repülsz, és nem ilyen a hordozható töltőd, elveszik a reptéren!
- iPhone topik
- Samsung Galaxy S24 Ultra - ha működik, ne változtass!
- One mobilszolgáltatások
- Samsung Galaxy Z Fold7 - ezt vártuk, de…
- Határtalan erő - szabadjára engedve
- Samsung Galaxy A56 - megbízható középszerűség
Új hozzászólás Aktív témák
-
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.
Ú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!
- Samsung Galaxy S25 Ultra - titán keret, acélos teljesítmény
- Videó stream letöltése
- Házimozi haladó szinten
- Kormányok / autós szimulátorok topikja
- Debrecen és környéke adok-veszek-beszélgetek
- Milyen egeret válasszak?
- Luck Dragon: Asszociációs játék. :)
- sziku69: Fűzzük össze a szavakat :)
- Apple asztali gépek
- Vicces képek
- További aktív témák...
- !Akció! Klipsch R-120SW Sub / Mélynyomó
- BMW gyári alufelni, téli gumival
- iPad Air 5th gen (2022) 11" Blue M1 Cellular, ESR Rebound Hybrid Case 360 tok, 5in1 Type-C Hub
- AKCIÓ!!! Új SONOS ACE - Dolby Atmos vezetéknélküli fejhallgató, dupla BT, Sonos rendszer nélkül is m
- ÚJ iPhone 16 Pro Max 256GB Black Titanium (1 év Apple Care+)
- DELL PowerEdge R730xd 16LFF 160TB+400GB 2U rack - 2xE5-2683v4 (16c/32t),256GB RAM,2x10G NET,HBA330
- AKCIÓ! Nintendo Switch OLED 64GB fehér játékkonzol garanciával hibátlan működéssel
- 20.000 - tól RÉSZLETFIZETÉS. BANKMENTES. Új noblechairs EPIC műbőr FEKETE - KÉK . 2 év garancia!
- BESZÁMÍTÁS! ASROCK B650M R5 7600X 32GB DDR5 2TB SSD RX 6900XT 16GB Zalman Z1 PLUS GIGABYTE 850W
- Samsung C27JG50QQU Monitor
Állásajánlatok
Cég: NetGo.hu Kft.
Város: Gödöllő
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest