mboost-dp1
hurtig hjælp mangler til primtals beregner i C++
- Forside
- ⟨
- Forum
- ⟨
- Programmering
jeg har lavet et stykke kode som bare ikke vil virke, hvad er der galt!
den kan fin exekvere, men beregner alt som værende ikke primtal!
på forhånd tak!
Ps. jeg ved godt der er andre metoder, men hvorfor virker denne ikke?
den kan fin exekvere, men beregner alt som værende ikke primtal!
på forhånd tak!
#include <iostream>
#include <cstdlib>
#include <cmath>
using namespace std;
int main()
{
int t, c, rest;
char i;
cout<<"Tast det tal du vil ha testet for primtalisme, tast derefter enter:\n\n";
cin>> t;
c=t;
if (t==0,t==1,t==2)
{
cout<< "ja, ";
cout<< c;
cout<< " lider af primtalisme012\n\n";
return 0;
}
else
{
for(i=2; i<=(c-1); i++)
{
if (c%i==0)
{
rest=0;
break;
}
else
{
rest=1;
}
}
if (rest==0)
{
cout<<"ja, ";
cout<< c;
cout<<" lider af primtalisme andre\n\n";
}
else
{
cout<< "nej, ";
cout<< c;
cout<<" lider ikke af primtalisme\n\n";
}
}
return 0;
}
Ps. jeg ved godt der er andre metoder, men hvorfor virker denne ikke?
Du har skrevet dit første if statements forkert.
skal være
if ( i == 0 || i == 1 || i == 2 )
Bemærk to pipes || i stedet for ,
Og den kommer aldrig ind i dit for-loop da i er at typen char, da du sammenligner med en int skal i også være af den type.
Og dit sidste if statement med rest ser ud til at være vendt forkert.
Hvis rest == 0, så er du løbet ind i et andet tal der går op i det indtastede tal, men du spørger om det modsatte.
skal være
if ( i == 0 || i == 1 || i == 2 )
Bemærk to pipes || i stedet for ,
Og den kommer aldrig ind i dit for-loop da i er at typen char, da du sammenligner med en int skal i også være af den type.
Og dit sidste if statement med rest ser ud til at være vendt forkert.
Hvis rest == 0, så er du løbet ind i et andet tal der går op i det indtastede tal, men du spørger om det modsatte.
Gå til top
Opret dig som bruger i dag
Det er gratis, og du binder dig ikke til noget.
Når du er oprettet som bruger, får du adgang til en lang række af sidens andre muligheder, såsom at udforme siden efter eget ønske og deltage i diskussionerne.