Kezdőoldal » Számítástechnika » Programozás » Segitene valaki?

Segitene valaki?

Figyelt kérdés

Kene egy c++ programot irjak amely [-20,+20] intervallumban generál számokat, ezeket kiirja a képernyőre 0 végjelig, és a generált prim számokat összeadja, majd pedig kiirja ezek összegét.


Jelenleg igy néz ki:


#include <iostream>

#include <math.h>

#include <time.h>

#include <stdlib.h>

using namespace std;


int main()

{int a,osszeg=0,i;

srand(time(0));

while (a!=0){

a=rand()%41-20;

cout<<a<<endl;

for (i=2;i<=sqrt(a);++i){

if(a%i==0){

break;}

if ((a%i==0)&&(a!=2)){}

else osszeg=osszeg+a;}


}

cout<<("A prim szamok osszege: ")<<osszeg<<endl;

return 0;

}



Lefutni lefut, de az összegnek hibás eredményt ad



#program #C++ #plshalp
2014. okt. 22. 15:14
 1/2 anonim ***** válasza:

Nyilván a prím ellenőrzéssel van a baj.

Emeld ki egy függvénybe, és nézd át kicsit, mert ez nagyon gány.

Valamint érdemes lenne átgondolni, hogy negatívakra hogy működik ez.

2014. okt. 22. 16:25
Hasznos számodra ez a válasz?
 2/2 anonim ***** válasza:
A [-20,20] intervallumba eső prímszámok: -19, -17, -13, -11, -7, -5, -3, -2, 2, 3, 5, 7, 11, 13, 17, 19. Tedd be őket egy tömbbe; ha egy szám benne van, akkor prím.
2014. okt. 23. 20:31
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!