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.
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.
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
Kapcsolódó kérdések:
Minden jog fenntartva © 2025, 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!
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!