Besten,
Ik ben een poging aan het doen om een programma in C te schrijven, printen naar het scherm gaat goed echter bij het schrijven naar een file, worden niet de waardes van het scherm naar het file geschereven.
Kan iemand mij verder helpen?
Ik ben een poging aan het doen om een programma in C te schrijven, printen naar het scherm gaat goed echter bij het schrijven naar een file, worden niet de waardes van het scherm naar het file geschereven.
Kan iemand mij verder helpen?
PHP:
//Schrijf een programma dat, na invoer van een getal x, alle priemgetallen berekent kleiner dan of gelijk aan x.
//Gebruik hiervoor de zeefmethode van Erastosthenes Schrijf het resultaat in een tekstfile.
#include <stdio.h>
#include <process.h>
#include <stdlib.h>
FILE *fpuit;
int main(int argc, char **argv)
{
int A, doorgaan;
while (doorgaan > 0) //repeat loop
{
fpuit = fopen("priem2.doc","w"); //open het bestand
printf("File geopened voor OUTPUT\n");
printf("geef het maximale priemgetal in:"); //Vraag om het maximale priemgetal en lees dit vervolgens in
scanf("%d", &A);
unsigned long long i,j,max = (argc == 2 ? atoll(argv[1]) : A);
char priem[max];
for(i = 1; i <= max; i++)
{priem[i] = 1; //Alle getallen op 1 instellen
priem[0]= priem[1]= 0;} //Nu gaan we de getallen 0 en 1 uitsluiten voor de priem getallen
/* opmerking:
alle veelvouden k*i van i met k kleiner dan i werden al weggestreept
als veelvoud van k (of beter: van k's kleinste priemdeler),
dus mag de ondergrens van j inderdaad i*i ipv 2*i zijn.
*/
for(i = 2; i * i < max; i++)
if(priem[i] == 1) // Als een getal een priem is
for(j = i * i; j <= max; j += i) //Nu gaan we de vermedigvuldigingen van de getallen weg strepen(de veelvoud van de getallen) tot aan het aangegegen priem getal
priem[j] = 0; //Als het priem getal gelijk is aan J word deze 0 en word deze dus weg gestreept
for(i = 1; i <= max; i++) //Vervolgens kijken we tot en met welk priem getal we zouden moeten weergeven
if(priem[i] == 1) //als het priem[i] gelijk is aan 1 moet deze na het geven van printf worden weer geven
//printf("%llu ",i); //nu geven we de opdracht om de priemgetallen op het scherm weer te geven
//printf("\n\n"); //Sla even een regel of wat over
printf("%d ",i);
fprintf(fpuit, "De priemgetallen zijn:\n");
fprintf(fpuit, "%d ", i); //schrijf naar het bestand
fclose(fpuit); //sluit het bestand weer
printf("\nFile gesloten!");
//printf("het maximale ingegeven getal was: %d\n", A);//Hiermee herinneren we de gebruiker wat ook al weer het ingeven getal was
{ //nu volgt er een vraag om veder te gaan of te stoppen
printf ("\nWilt u nog doorgaan? Ja = 1 en Nee = 0: ", doorgaan);
scanf ("%d", &doorgaan);
if (doorgaan == 0) //indien men niet veder wilt gaan komt er de volgende melding,
{printf ("\nHet programma stopt!!!\n\n");
system("PAUSE");
return 0; //na het bedienen van een toets zal het programma beeindigd worden
}
else{
printf("***************************************\n");//Sla even een regel over om vervolgens opnieuw te beginnen
}
}
}
}
Laatst bewerkt: