Egy egydimenziós, rendezetlen, mondjuk 100 elemű tömbben, hogyan keresem, meg a második legkisebb elemet?
Figyelt kérdés
Ha lehet kérek algoritmusokat is! :) (Lehetőleg c nyelven)2016. máj. 15. 16:28
1/5 anonim válasza:
Végigjárod a tömböt és egy-egy változóban nyilvántartod a legkisebb és a második legkisebb elemet, azaz a bejárás közben folyamatosan aktualizálod az értékeiket.
2/5 anonim válasza:
A) Kicsit megbuherálod a minimum kiválasztás tételt, úgy, hogy a 2 legkisebb elemet tartsa nyilván.
B) Rendezed a tömböt, aztán veszed a 2. elemet.
3/5 anonim válasza:
Minden programozási nyelv szerepel a kulcsszavak között csak a C nem amiben kéne neked.
4/5 A kérdező kommentje:
Eddig sikerült, de a második legkisebb sehogy sem megy:
#include <stdio.h>
#include <stdlib.h>
int main()
{
int tmb[100],min,i,k=100,max,j;
for(i=0;i<100;i++){
if(k%13==0 && k%7==0){
tmb[i]=k;
printf("%d\n",tmb[i]);
}else{
i--;
}
k++;
}
max=tmb[0];
for(i=0;i<100;i++){
if(max<tmb[i])max=tmb[i];
}
printf("\t%d\n",max);
min=tmb[0];
for(i=0;i<100;i++){
if(min>tmb[i]){
min=tmb[i];
}
}
printf("\t%d\n",min);
return 0;
}
2016. máj. 15. 18:41
5/5 anonim válasza:
Ha most eltekintünk attól, hogy a kódod valami rettenetesen ronda, akkor a megoldás igen egyszerű. Felveszel egy max2 és min2 változót is, és mielőtt a tömb i. elemét berakod a max ileltve min változóba, a max/min értékét berakod a max2/min2-be. Így számontartod a maximális, és a második legnagyobb értéket is. Az elejére még kell egy olyan szösszenet, hogy megnézed a tömb 0. vagy 1. eleme kisebb, és aszerint berakod a két kezdőértéket a max és max2 változóba.
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!
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!