Kezdőoldal » Számítástechnika » Programozás » Hogyan lehet C nyelvben...

Hogyan lehet C nyelvben megkeresni tömbökben a második legkisebb/legnagyobb, második legkisebb páratlan elemet, stb?

Figyelt kérdés
Előre is köszönöm a segítséget! Már próbálkoztam többféleképpen, eddig sikertelenül.

2014. ápr. 19. 18:23
1 2
 1/18 anonim ***** válasza:
Egy próbálkozást másolj be, valószínűleg könnyen kijavítható.
2014. ápr. 19. 18:28
Hasznos számodra ez a válasz?
 2/18 anonim ***** válasza:

Szerintem ez attól függ.


Ha kicsi a tömböd, olcsó rendezni, akkor megrendezed a kívánt irányba, és értelemszerűen utána megindexeled.


Ha nagy, esetleg nem lehet módosítani, átmásolni meg drága lenne, akkor az n-edik legnagyobbat, legkisebbet n-db lineáris kereséssel tudod megtalálni. Azokat az elemeket, amik nem érdekelnek, gyűjtöd közben, és úgy keresel maximumot, minimumot, hogy kihagyod.

2014. ápr. 19. 18:32
Hasznos számodra ez a válasz?
 3/18 A kérdező kommentje:

Inkább leírom ide az egész feladatot:

Töltsön fel egy egész típusú 100 db elemet tartalmazó tömböt páratlan számokkal 100-tól növekvő

értékkel! Keresse meg a legnagyobb értékű elemet a tömbben! Keresse meg a második legkisebb elemet

a tömbben!


A legnagyobb értékű elemig megtudom csinálni.

Legutóbbi próbálkozásomez volt:



for (i=0; i<100; i++)

{

min=t[0];

if (t[i]<min)

{

min=t[i];

}

}

for (i=0; i<100; i++)

{

min2=t[0];


if(t[i]<min2 && min2!=min)

{

min2=t[i];

}

2014. ápr. 19. 19:12
 4/18 anonim ***** válasza:
Egy ciklusban menjél végig, és mindig a régi maximum értékét add át a második legkisebb elemnek, mielőtt átállítod az értékét az új maximumra.
2014. ápr. 19. 21:45
Hasznos számodra ez a válasz?
 5/18 tabaki ***** válasza:
Én értem félre a feladatot? A leírás alapján nekem úgy jön le, hogy eleve rendezett tömböt hozol létre, mégpedig csupa páratlan számmal feltöltve. Akkor viszont nincs szükség a kérdésben megfogalmazott általános megoldásra. A második legkisebb a sorban a második, a második legnagyobb meg az utolsó előtti. Mondjuk t[100] tömb esetén t[1] a második legkisebb, t[98] a második legnagyobb, nem? Mondom, lehet, hogy én vagyok hülye, meg késő van, meg nem is ismerem a C-t...
2014. ápr. 19. 22:51
Hasznos számodra ez a válasz?
 6/18 anonim ***** válasza:
#5: feladat leírása alapján valóban ez lenne a logikus. Ugyanakkor tudom, hogy vannak helyek (pl Kandó), ahol feladatot kiadó nem szereti az eféle élesszemű meglátásokat - öcsém legalábbis mondta, hogy anno nem fogadták el neki.
2014. ápr. 19. 23:06
Hasznos számodra ez a válasz?
 7/18 tabaki ***** válasza:
Nekem nyóc, a többibe jobb, ha nem ártom bele magamat, de szvsz adott esetben lehetőleg add be mindkét megoldást. Lehet, hogy máshol meg épp azon csúszol el, hogy egy ilyen ordító lehetőséget nem veszel észre -- nyilván nem elemezted kellően a feladatot, csak ráhúztál valami bebiflázott, bonyodalmas szokványmegoldást.
2014. ápr. 20. 10:57
Hasznos számodra ez a válasz?
 8/18 A kérdező kommentje:

Először is köszönöm az eddigi válaszokat.

#4: Nem egészen értem, azt hittem hogy a maximum ugyanaz marad.

#5: Nagyon is jól látod a feladatot. Nem azzal van a baj, hogy megmondjam, hogy melyik a második legkisebb értékű elem a tömbben, hanem, hogy azt megjelenítsem watches ablakban.

#6: Igen, ez egy kandós feladat:D

2014. ápr. 20. 20:00
 9/18 A kérdező kommentje:

Ez a feladat első két része:


int main()

{

int t[100], i, j, max=0;

for (i=0, j=100; i<100; j++)

{

if (j%2)

{

t[i++]=j;

}

}

for (i=0; i<100; i++)

{



max=t[0];


if (t[i]>max)

{

max=t[i];

}

}

return 0;

}

2014. ápr. 20. 20:13
 10/18 anonim ***** válasza:
Akkor az ablakozásnak kell nekiveselkedni, és a második legkisebb második legnagyobb akart lenni.
2014. ápr. 20. 22:17
Hasznos számodra ez a válasz?
1 2

Kapcsolódó kérdések:




Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu

A weboldalon megjelenő anyagok nem minősülnek szerkesztői tartalomnak, előzetes ellenőrzésen nem esnek át, az üzemeltető véleményét nem tükrözik.
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!