Kezdőoldal » Számítástechnika » Programozás » C++ lineáris keresés. Lefut,...

C++ lineáris keresés. Lefut, de hamis eredményt ír ki. Hol a hiba?

Figyelt kérdés

[link]

Adott a véletlenszerűen feltöltött 10 elemű tömb. Ebből kellene megkeresnie a páratlan számokat és megadni a helyüket.

#include <iostream>

#include <ctime>

#include <cstdlib>


using namespace std;


int main ()

{

srand (time(NULL));

int szamok[10];

int i;

for (i = 0; i <= 9; i++)

{

szamok[i] = rand()%(100-10+1)+10;

cout << szamok[i] << " ";

}

cout << endl;



while (szamok[i]%2!=0)

{

i++;

}

if(szamok[i]%2!=0)

{

cout<<"A paratlan szam a tomb "<<szamok<<". eleme";

} else {

cout<<"A paratlan szam nincs a tombben.";

}



return 0;

}



2017. márc. 26. 22:39
 1/2 anonim ***** válasza:

Két hiba:

1. while (szamok[i]%2!=0) ez azt jelenti, hogy addig fusson a ciklus, amíg a tömb i. eleme NEM páros. Magyarul akkor fog megállni a ciklus, amikor páros számhoz ér.

2. Hiányzik a ciklusfeltételből az intervallum végének ellenőrzése, az i változó simán túlindexelhet a tömbön.

2017. márc. 27. 02:14
Hasznos számodra ez a válasz?
 2/2 SimkoL ***** válasza:

#include <iostream>

#include <ctime>

#include <cstdlib>


using namespace std;


int main ()

{

srand (time(NULL));

int szamok[10];

bool van = false;

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

{

szamok[i] = rand()%(100-10+1)+10;

cout << szamok[i] << " ";

}

cout << endl;

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

if(szamok[i] % 2 != 0) {

cout<<"A paratlan szam a tomb "<< i + 1 <<". eleme\n" ;

van = true;

}

}

if(!van) cout << "A paratlan szam nincs a tombben.\n";

getchar();

return 0;

}

2017. márc. 27. 08:17
Hasznos számodra ez a válasz?

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!