Forum: Nybörjarproblem!

Forum huvudsida -> Programmering -> Nybörjarproblem!

Sidor: 1

Till botten

f1r3 01:19 - 27:e November 2007 | Post #1
Medlem
Inlägg: 1


Skicka PM
Hej! Jag har bara läst lite c++ och fick ett ryck och skrev ett litet program för att räkna ut de första 100 primtalen men det gick inte så bra. Felet jag får är att alla elementen i vektorn primtal får det konstiga värdet :primtal 0012FAD8. Detta verkar jätteskumt eftersom jag har definierat den som intSmiley.

Det kryllar säkert av fel i koden och den är absolut inte skriven på ett bra sätt men jag uppskattar all hjälp jag kan få!

here goes:




#include <iostream>
using namespace std;

int main()
{

int n;

cout<<"primtal upp till? (max 100) n ";
cin>>n;

if(n<=100)
{
int i;
int heltal [100];
heltal [1]=1; //heltal [2]=2;
int primtest [100];
int primtal [100];// används för att spara primtalen
primtest [1]=1; //primtest [2]=2;
int j=1; int restkoll=1;

for( i=2; i <= n; i++) //denna for-loop sätter alla element till motsvarande heltalsvärde.
    {
     primtest[i] =primtest[i-1]+1;

     heltal[i] = heltal[i-1]+1;

     while(restkoll != 0 && j < i) // här kollas om talet är delbart
     {
     restkoll = heltal[i]%primtest[j];

     if( restkoll == 0)
        {
         primtal[i] = heltal[i];
        }
     else
        {
         primtal[i] = 0;
        }
    
     j =+1;
     }
    }

// skriv ut primtalen

for(i=0; i<=n; i++)
    {
     cout<<"primtal ";
    
     if( primtal[i]!= 0)
     {

    
     cout<< primtal;
     cout<<"n";
    
     }
    }
}
else
cout<<"Du valde ett för stort antal! ";


cin.get();


return 0;
}



Tacksam för all hjälp jag kan få! Mvh En uppsalabo.




Dread 07:16 - 27:e November 2007 | Post #2
Medlem
Inlägg: 135


Skicka PM
var ett tag sen jag sysslade med c++, men tror felet ligger i:


cout<< primtal;

som det är nu skriver du ut minnesaddressen till arrayen primtal, du ska skriva
cout<< primtal[i];


-------------------------
c++



Sidor: 1

Forum huvudsida -> Programmering -> Nybörjarproblem!
Atom feed

Du får inte posta i den här tråden | Till toppen