Kezdőoldal » Számítástechnika » Programozás » C++ tömb számok vizsgálata és...

C++ tömb számok vizsgálata és eldöntése lehet ilyet csinálni?

Figyelt kérdés

Sziasztok!

az lenne a feladatom hogy egy számot megállapítsak hogy benne van e a tömbe és írassam ki hogy van-e benne vagy nincs noh idáig eljutottam(kód lentebb) csak itt minden indexet megvizsgál hogy lehet azt megcsinálni hogy ne minden indexet vizsgáljon át hanem az egész tömböt és utána fusson le a többi kód?

kód:

bool van-e= false;

for (a=0; a<10; a++)

if (szam==tomb[a])

bool = true;


if(bool == true)

cout << "benne van a szám ";

else

cout << "nincs benne a szám";



2014. okt. 15. 17:58
1 2
 1/15 anonim ***** válasza:
50%

Gyakorlatilag a keresés tételét valósítod meg. Még annyit lehetne módosítani, hogy ha megtalálta akkor break; hiszen nem kell tovább vizsgálni.


Viszont nem értem mit akarsz a tömbön vizsgálni. Azok csak egymás utáni számok. Viszont ezt a kódot kiteheted egy külön függvénybe.

2014. okt. 15. 18:08
Hasznos számodra ez a válasz?
 2/15 A kérdező kommentje:

egészet rosszul mondtam sorry :D nos azt a számot kell keresnem ami a tömben nincs benne és akkor a kód is másképp lesz kód:

bool van-e= false;

for (a=0; a<10; a++)

if (szam!=tomb[a])

bool = true;


if(bool == false)

cout << "benne van a szám ";

else

cout << "nincs benne a szám";

2014. okt. 15. 18:16
 3/15 anonim ***** válasza:
Ez így egészen biztosan nem jó. Szerintem egymásba ágyazott ciklus fog kelleni. Vagy egy segédtömb.
2014. okt. 15. 18:21
Hasznos számodra ez a válasz?
 4/15 anonim ***** válasza:
Első változata jobb lenne. Az utóbbi false positive eredményt fog adni.
2014. okt. 15. 18:24
Hasznos számodra ez a válasz?
 5/15 anonim ***** válasza:
30%

"if(bool == true)"

Ehhez külön gratulálok.

2014. okt. 15. 18:35
Hasznos számodra ez a válasz?
 6/15 A kérdező kommentje:

Köszi a segítséget ha hazaérek megprobálom segéd tömbbel azt csak rájövök hogy kell :)

#5 mi a bajod azzal? remélem azért észrevetted hogy nem rég kezdtem a programozást :) és szerinted hogy kéne írni?

2014. okt. 15. 18:40
 7/15 SimkoL ***** válasza:

A bool egy típus:

[link]

2014. okt. 15. 19:19
Hasznos számodra ez a válasz?
 8/15 anonim ***** válasza:

bool van-e= false;

for (a=0; a<10; a++)

if (szam!=tomb[a])

bool = true; //a bool a változód típusa, nem a neve! A nevét kell itt megadni bal operandusként


if(bool == false) //szintén. A változódat vizsgálod, nem a típust. (Zárójelben jegyezném meg, hogy logikai változónál inkább negálni "illik". Tehát:

!van-e

van-e == false

helyett)

cout << "benne van a szám ";

else

cout << "nincs benne a szám";

2014. okt. 15. 21:54
Hasznos számodra ez a válasz?
 9/15 anonim ***** válasza:
Bocsánat, a formázást megette az oldal motorja :-( Remélem azért érhető marad.
2014. okt. 15. 21:56
Hasznos számodra ez a válasz?
 10/15 anonim ***** válasza:

Az eredeti megoldásod a jó, annyival egészítsd ki, hogy ha megvan, akkor lépj ki a for ciklusból(nem értek c++hoz, de sok nyelvben egy break épp ezt csinálja, nézz utána, hogy c++ ban mit használnak erre).


A második megoldásod azért nem jó, mert végigmegy az összes elemen, mindegyiket vizsgálja, és az éppen aktuális szám alapján állítja be a "van-e" változódat(elég kretén változónév egyébként, nézz utána a szabványoknak, hosszú távon jobban jársz), tehát ha az utolsó vizsgált elem ugyanaz, mint a "szam", csak akkor fogja azt csinálni, amit akarsz, minden más esetben rosszat fog kiírni.


Az if(bool==true) pedig azért rossz, mert a bool egy típus, te az if(van-e == true) ra gondoltál(de valóban érdemesebb az if(van-e) -t használni).

2014. okt. 15. 23:16
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!