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
 11/18 A kérdező kommentje:

Nem egészen, a pontos feladatot leírtam pár sorral feljebb. Először is fel kell tölteni a tömböt páratlan számokkal 100-tól növekvő értékkel (pipa). Másodszor meg kell keresni a legnagyobb értékű elemet a tömbben (pipa). Harmadszor meg kell keresni a második legkisebb értékű elemet a tömbben (ez a kérdésem).

Ehhez gondolom először a legkisebbet kell megkeresni.

2014. ápr. 21. 00:24
 12/18 anonim ***** válasza:

Én döntően két megoldást látok erre, kezdjük először a butábbal.

Először megkeresed a legnagyobb elemet, ugye ez megy. Aztán megint végigmész a tömb elemein, és csak akkor rakod be a teszemazt maxB elembe a számot, ha az nagyobb, mint maxB addigi értéke ÉS nem egyenlő a maximummal.

Ennél talán okosabb, ha fogod az első két elemet, a nagyobbat berakod a max1-be, a kisebbet a max2-be, majd elkezdesz végigmenni a tömbön harmadik elemtől kezdve egy for ciklussal. Ha a t[i] nagyobb, mint max1, akkor max1-et berakod max2-be, ellenkező esetben megnézed, hogy max2-nél nagyobb-e, és ha igen, cseréled.

2014. ápr. 21. 00:32
Hasznos számodra ez a válasz?
 13/18 anonim ***** válasza:
Most nézem, maximummal írtam minimum helyett, de gondolom ez nem jelent problémát.
2014. ápr. 21. 00:32
Hasznos számodra ez a válasz?
 14/18 A kérdező kommentje:
Nem egészen, pár sorral leírtam a teljes feladatot. 100 elemű tömböt kell feltölteni páratlan számokkal 100-tól visszafelé (pipa). Meg kell keresni a legnagyobb értékű elemet a tömbben (pipa). Meg kell keresni a második legkisebb elemet a tömbben (ez a kérdésem). Ezeket kell megjeleníteni watches ablakban.
2014. ápr. 21. 10:14
 15/18 anonim ***** válasza:
És ezzel pontosan hol akadtál el?
2014. ápr. 21. 15:16
Hasznos számodra ez a válasz?
 16/18 A kérdező kommentje:

Erre gondoltál az első megoldásban:

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];

}

}


Ez nem lett jó, mert a min2-ben is a legkisebb elemet tölti be.

2014. ápr. 21. 16:32
 17/18 tabaki ***** válasza:
Jól értem? A rendezett tömb első, tehát garantáltan legkisebb elemét töltöd be indulásként a második legkisebb helyére is, és azt várod, hogy valami majdcsak lecseréli, mert még kisebb lesz?
2014. ápr. 21. 16:54
Hasznos számodra ez a válasz?
 18/18 A kérdező kommentje:
:S Oké, most már értem mi volt a baj... Most már jó a programm, köszönöm a segítséget!
2014. ápr. 21. 21:04
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!