Hogyan tudnám le ellenőrizni/megszámozni hogy egy adott tömb tetszőleges eleme, a tömb hányadik helyét foglalja el?
Int j = 4,p = 0
Int[] a = new int[8]
Foreach(i in a){
If(i == j)
Break
++p
}
Úgy képzeltem el, hogy például egy négy elemű egydimenziós tömböt for ciklussal beolvasok.
PL. tomb[4]={7, 6, 2, 9}
majd ezt egy másik ciklusban megszámzni:
Pl. tomb[1]=7
tomb[2]=6
tomb[3]=2
tomb[4]=9
Hasonlóan szeretném megoldani ha lehetséges általánosítva "ciklusosan"
Lineáris kereséssel pl.
"majd ezt egy másik ciklusban megszámzni:"
Ez meg valami vicc? Ez egy tömb alapból tudja, ettől tömb többek között, hogy indexelni lehet.
Itt van c++ nyelven.
#include<iostream>
using namespace std;
int main(int argc, char** argv) {
int tomb[]={1,5,7,9,15,6,8,7,3};
int n=9;
int keresett=15;
int i=0;
while(tomb[i]!=keresett && i<=n){ i++;}
if(i!=n){cout<<i+1;} else{cout<<"Nincs a tömbben ilyen szám";}
return 0;
}
Magyarázatul az int tomb[] sorban megadod a tömböt és a benne lévő elemeket
az int n=9; sor jelzi, hogy a tömb 9 elemes
int keresett sorban megadod mit keresel
int i=0; a számláló
Ezt követően a while ciklus addig megy a tömb elemein míg nem talál egy olyat ami egyenlő a keresett számmal (tomb[i]!=keresett) vagy amíg a végére nem ér (i<=n)
Ha a szám szerepelt a tömbben kiírja, hogy hányadik if(i!=n){cout<<i+1;} Itt azért ad hozzá egyet, mert a tömb indexelésekor az első szám a 0. Ha nem talált ilyen számot, tehát elment n-ig akkor meg kiírja hogy nincs benne. Remélem érthető volt
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!