Kezdőoldal » Számítástechnika » Programozás » Miért nem jó a program? Többi...

Miért nem jó a program? Többi lent

Figyelt kérdés

Írtam 1 programot melynek az a dolga,hogy generálok 5 számot és írja ki ,hogy hány prím van közöttük ,de amikor futtatom valamiért leáll a működés,feltételezem azért mert nincs jól megírva a program :/


Így néz ki:#include <stdio.h>

#include <stdlib.h>

#include <time.h>

#define N 5


int main()

{

int i,T[N],prim,odb,j;

srand(time(0));

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

T[i]=rand()%20+1;


printf("\na generalt szamok: ");

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

printf("%d ",T[i]);


printf("\n");



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

{ odb=0; prim=0;


for(j=i;j<=T[i];j++)

if(T[i]%j==0) odb++;

if(odb==2) prim++;


printf("\n a primek szama: %d",prim);


}



return 0;

}



2016. nov. 8. 00:33
 1/4 anonim ***** válasza:

"for(j=i;j<=T[i];j++)

if(T[i]%j==0) odb++;"


Legelső lefutásnál a j nulla is lesz, azzal pedig nem definiált a maradékos osztás.

2016. nov. 8. 01:00
Hasznos számodra ez a válasz?
 2/4 anonim ***** válasza:
Primszám keresésnél amúgy sem kell végig menni 1-től n-ig. Elég 2-től négyzetgyök n-ig vizsgálni és ha akárcsak egy osztót találsz, ki is léphetsz a ciklusból, mert nem prímszám.
2016. nov. 8. 08:58
Hasznos számodra ez a válasz?
 3/4 A kérdező kommentje:
Köszönöm a válaszokat,de akkor mit kéne átírni a programban,hogy működjön?
2016. nov. 8. 22:12
 4/4 anonim ***** válasza:
Értelemszerűen.
2016. nov. 14. 09:37
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!