-
Fototrend

Új hozzászólás Aktív témák
-
bpx
őstag
válasz
gman907
#4089
üzenetére
igen, erről beszéltem, hogy csak egy irányba működik: ugyanis amit én írtam ide kódot, az csak az alacsonyból (800 alatti) magasba (1000 feletti) való átmeneteket vizsgálja, fordítva nem
(gondoltam kiindulásnak jó lesz, aztán azért dolgozzál vele te is
)ahhoz, hogy a mindkét irányba működjön, pár dolgot változtatni kell rajta:
- start/stop változókat érdemes pl. alacsony/magas-ra módosítani (ugye itt már egy megtalált 800 alatti vagy 1000 feletti érték lehet egy vizsgálandó "szakasz" eleje vagy vége is)
- távolságnál az abszolút értéket kell vizsgálni, mivel fordított sorrend is lehetséges
- feltételeken kell módosítani (pl. sorrendet nem kell kikötni)az meg ha egyáltalán nem talál a feltételeknek megfelelő helyet, úgy vehető észre, hogy a start/stop (vagy az átalakított változatban alacsony/magas) változók a kezdeti értékükön maradnak
-
Gyuri16
senior tag
válasz
gman907
#4089
üzenetére
-Zeratul- kodja majdnem kesz van, innen ha erted mit irt nem lehet problema befejezned.
megjegyzed az utolso 800 alatti es 1000 folottit is, nem csak a 800 alattit. tehat (-Zeratul- valtozoinal maradva) lesz egy akt_start800 es akt_start1000. ezutan ha jon pl egy 1000 folotti, akkor megnezed milyen messze van az akt_start800-tol, ha kozelebb mint eddigi legjobb akkor megjegyzed, es azutan atirod a start1000 valtozot. ugyanez forditva ha 800 alatti jon
abban az esetben ha nincs ilyen hely, azt egyszeruen kiszurod ugy, hogy a start es stop valtozoid nullak maradtak -
bpx
őstag
válasz
gman907
#4086
üzenetére
amit én szakasznak hívtam, annak semmi köze a feladat szövegében definiált folyószakaszhoz/szakaszhoz csak nem tudtam jobb elnevezést

a feladat szövege is azt mondja, hogy határozd meg a ... helyét
na most ezt a helyet valójában 2 pont határozza meg, ezért is neveztem szakasznak -
Gyuri16
senior tag
válasz
gman907
#4081
üzenetére
ez az N pont ahol merik a vizallast egysegnyi tavolsagra van egymastol, vagy a tavolsagokat is beolvasod?
eleg sokmindent irtal, de ebbol nekem az jott le, hogy csak meg kell hataroznod egy tombben az egymashoz legkozelebb levo 1000 folotti es 800 alatti pontot (ezt akkor ha egysegnyi tavolsagra vannak egymastol a pontok)
mi az amit megcsinaltal, es mit nem tudsz?mod: megeloztek, -Zeratul- megoldasat csak kicsit ki kell pofozni es meg is van (mindket iranyba mukodjon)
-
bpx
őstag
válasz
gman907
#4083
üzenetére
az elejétől kezdve egyesével vizsgáld a tárolt értékeket
ha találsz egy 800 alatti értéket, ott kezdődhet egy lehetséges szakasz - 1000 felettinél meg végződhet (bár ez a feladattól is függ, hogy kell-e mind2 irányba keresni)
közben tárold el a már megtalált legrövidebb szakaszt (elejét és végét)
ha a vizsgálat közben találsz egy olyan szakaszt ami jó lehet, azt azzal hasonlítsd össze, ha annál jobb, cseréld le az újjalvalahogy így (ez sem tökéletes, és csak egy irányba működik):
{
...
const int N = 100;
int folyo[N];
...
int start = 0, stop = N-1, akt_start = 0, akt_stop = 0;
int i = 0;
while (i < N)
{
if (folyo[i] < 800) akt_start = i;
if (folyo[i] > 1000) akt_stop = i;
if ((akt_stop - akt_start < stop - start) &&
(akt_stop > akt_start) && (folyo[akt_start] < 800))
{
start = akt_start; stop = akt_stop;
if (stop-start == 1) break;
}
i++;
}
cout << "Start: " << start << ", Stop: " << stop << endl;
...
}
Új hozzászólás Aktív témák
● olvasd el a téma összefoglalót!
- AMD Navi Radeon™ RX 7xxx sorozat
- BestBuy topik
- One otthoni szolgáltatások (TV, internet, telefon)
- Vezetékes FEJhallgatók
- Samsung Galaxy A54 - türelemjáték
- 18. helyet ért a Samsung Galaxy S26 Ultra kamerarendszere a DxOMarknál
- Samsung Galaxy Watch7 - kötelező kör
- Kertészet, mezőgazdaság topik
- iPhone topik
- Amlogic S905, S912 processzoros készülékek
- További aktív témák...
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest

)

