Kezdőoldal » Számítástechnika » Programozás » Hol a hiba? (C++) Akár igaz...

Hol a hiba? (C++) Akár igaz akár hamis a feltétel, mégis mindketőt elvégzi, mit kell kijavitsak hogy ha nem tartalmazza akkár csak úrja ki amit megadtam a feltételbe?

Figyelt kérdés

for(int i=0;i<n;i++)

cin>>a[i];

cout<<"Add meg hogy melyik elemet toroljuk."<<endl;

cin>>k;

for(int i=0;i<n;i++)

if(a[i]!=k){

cout<<"Nincs ilyen szam a tombe!"<<endl;

break;

}

else {

for(int i=0;i<n;i++) {

if(a[i]==k)

for(int j=i;j<n;j++)

a[j]=a[j+1];


}

}

for(int i=0;i<n-1;i++)

cout<<a[i]<<" ";


return 0;



2016. jún. 25. 18:13
 1/2 anonim ***** válasza:

Nem végzi el mindkettőt, hanem végigmegy az összes tömbelemen, és valamelyik megegyezik k-val, valamelyik meg nem, és ha akár a 0. elem nem egyezik meg, akkor már kiírja, hogy nincs ilyen szám a tömbben, pedig ez nem igaz.

Ez helyett ebben az esetben (hogy a tömbben többször is előfordulhat ugyan az a szám) a kereső ciklusod előtt felveszel egy változót: bool vanK = false; és a cikluson belül akkor billented át igazra ( vanK= true; ), ha talált ilyen k elemet. A ciklus után meg 1 db if-fel megvizsgálod, hogy volt-e k

if (vanK != 1) { cout << "nincs ilyen szam" .....}

2016. jún. 25. 18:29
Hasznos számodra ez a válasz?
 2/2 A kérdező kommentje:
Köszönöm a segítséget! :)
2016. jún. 25. 18:59

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!