April 14, 2005
Jag försöker göra ett program som räknar ut alla primtal upp till ett visst värde kan nån hjälpa mig att fixa till den här koden:
#include
#include
#include
using namespace std;
int main()
{
int intervall[250001];
int max;
int pos=0;
int i=0;
int x=0;
cout << "Mata in ovre grans for intervallet (max 250000): ";
cin >> max;
for (int n=0; n
}
intervall[max]=-1;
double rot=sqrt(max);
while(intervall[pos]<=rot){
while(intervall[i]!=-1){
if (intervall[i]%intervall[pos]==0 && intervall[i]!=intervall[pos]){
intervall[i]=0;
}
i++;
}
i=0;
for(x=pos+1; intervall[x]==0; x++){
}
pos=x;
}
int m=0;
while(intervall[m]!=-1){
if(intervall[m]!=0){
cout << intervall[m] << endl;
}
m++;
}
return 0;
}
June 29, 2004
öh, skriv vad problemetär alltså vad det är som händer / inte händer
#include <iostream>
#include <math.h>
#include <string>
using namespace std;
int main()
{
int intervall[250001];
int max;
int pos=0;
int i=0;
int x=0;
cout << "Mata in ovre grans for intervallet (max 250000): ";
cin >> max;
for (int n=0; n<max; n++){
intervall[n]=n+2;
}
intervall[max]=-1;
double rot=sqrt(max);
while(intervall[pos]<=rot){
while(intervall[i]!=-1){
if (intervall[i]%intervall[pos]==0 && intervall[i]!=intervall[pos]){
intervall[i]=0;
}
i++;
}
i=0;
for(x=pos+1; intervall[x]==0; x++){
}
pos=x;
}
int m=0;
while(intervall[m]!=-1){
if(intervall[m]!=0){
cout << intervall[m] << endl;
}
m++;
}
return 0;
}
jag skulle ta bort
return 0;
fast jag vet inte om det spelar nån störrer roll om man ttar vort den lr inte,,
jag skulle oxå sätta
System("pause");
före
return 0;
January 15, 2004
ändra till
double rot=sqrt((double)max);
Detta eftersom det finns flera float funktioner definierade. En som arbetar med float, en med double och en med long double. När du trycker in ett int så vet inte kompilatorn vilken av funktionerna som ska användas.
tar man bort
return 0;
så kan komplitaorn ge felmeddelande, då main-funktionen inte returnerar något.
Returvärde i mainfunktionen kan användas för att
returnera ett värde från den programmet vid dess avslutande till den startande processen.
system("paus");
är inte plattformsoberoende och resultatet av en körning på en Unixdator reulterade i följande utskrift.
sh: pause: not found
Maxstorleken på en int är plattformsberoende. En int är allt som oftast 32 bitar nuförtiden men man skall aldrig räkna med det.
Det var nog allt.
1 Guest(s)