honda4life
Nieuwe gebruiker
- Lid geworden
- 14 nov 2007
- Berichten
- 2
We moeten een klein programma schrijven om priemgetallen te berekenen (moest op deze manier), kan misschien hier en daar nog wat efficienter maarja...
graag zou ik weten hoe ik zo'n groot mogelijke array size kan nemen, want als ik de array naar 2000 breng, en wil priemgetallen berekenen tot 2000, krijg ik een processorfout (geen ramp voor school maar wil da gewoon weten)
Het is geschreven in borland 4.5 (oldscool maja
lekker voordelig voor school die abandonware
)
edit: heeft het er soms met te maken dat de instructieset op 80386 staat, of data algnment op byte?
graag zou ik weten hoe ik zo'n groot mogelijke array size kan nemen, want als ik de array naar 2000 breng, en wil priemgetallen berekenen tot 2000, krijg ik een processorfout (geen ramp voor school maar wil da gewoon weten)
Het is geschreven in borland 4.5 (oldscool maja


Code:
#include <stdio.h>
main()
{
int intBovengrens;
int array[1000];
int i;
int j;
int k;
printf("Priemgetallen berekenen met behulp van de zeef van Eratosthenes \n");
printf("Geef ge bovengrens in (kleiner of gelijk aan 1000: \n");
scanf("%d", &intBovengrens);
printf("\n");
// array opvullen tot bovengrens
for(i=0; i<intBovengrens; i++)
{
array[i]=i;
}
// array leegmaken
for(j=0; j<intBovengrens; j++)
{
if (j<2)
{
array[j]=0;
}
else
{
for(k=j+1; k<intBovengrens; k++)
{
if (array[k]%j == 0)
{
array[k] = 0;
}
}
}
if (array[j] != 0)
{
printf("%d\t", array[j]);
}
// else
// {
// printf("\t");
// }
}
return 0;
}
edit: heeft het er soms met te maken dat de instructieset op 80386 staat, of data algnment op byte?
Laatst bewerkt: