Hogyan lehet C nyelvben megkeresni tömbökben a második legkisebb/legnagyobb, második legkisebb páratlan elemet, stb?
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.
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];
}
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
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;
}
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
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!