Ú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!
- Elemlámpa, zseblámpa
- Amit látnod kell 80’ – 90’ évek, egész estét betöltő mozi filmjei.
- Nem lesz olcsó a Realme GT 8 Pro Európában
- Formula-1
- Rémisztő árakkal szembesülnek a notebookgyártók az új mobil platformoknál
- Milyen egeret válasszak?
- Linux haladóknak
- Kínai és egyéb olcsó órák topikja
- Viccrovat
- Milyen videókártyát?
- További aktív témák...
- ÚJSZERŰ MSI PRO Z790 A MAX WIFI 7 PCIe gen5
- Bomba ár! HP ProBook 440 G6 - i5-8GEN I 8GB I 256SSD I HDMI I 14" FHD I Cam I W10 I Gari!
- Bomba ár! Dell Vostro 5490 - i5-10GEN I 16GB I 256SSD I 14" FHD I HDMI I Cam I W11 I Gari!
- Bomba ár! Dell Latitude 7420 - i7-1185G7 I 16GB I 256SSD I HDMI I 14" 4K I Cam I W11 I Garancia!
- Bomba ár! Dell Latitude 7280 - i5-6GEN I 8GB I 256SSD I 12,5" HD I HDMI I Cam I W11 I Garancia!
- Felújított laptopok számlával, garanciával! Ingyen Foxpost!
- HIBÁTLAN iPhone 14 Pro Max 256GB Purple -1 ÉV GARANCIA -Kártyafüggetlen, MS3932, 100% Akkumulátor
- Dell 14 Latitude 7450 WUXGA 2in1 Touch X360 Ultra5 135U 12mag 16GB 512GB Win11 Pro WiFi7 Garancia
- AMD AM4-es HP OMEN 25L GT12 alaplapok - B550 chipset
- Apple iPhone 15 Pro Max 512GB, Kártyafüggetlen, 1 Év Garanciával
Állásajánlatok
Cég: BroadBit Hungary Kft.
Város: Budakeszi
Cég: ATW Internet Kft.
Város: Budapest

