Aiuto!!

di il
3 risposte

Aiuto!!

Questo programma deve visualizzare una tabella composta dai primi 100 numeri primi , potreste dirmi dove sbaglio, ci sto impazzendo sopra!!
#include <iostream>
using namespace std;
static int l=1; 
int primo( int n)
{
     if(n==1) return n;
     int i=2;
     for(; n%i!=0; i++);
     if(i==n) return n;  
     else primo(++n);
}

 
int main()
{
    
    int array[10][10];
    for( int j=0; j<10; j++)
    {
         for(int i=0; i<10; i++)
         {
                   array[j][i]= primo(l);
                   l++;
                    
         }
    }
    for( int j=0; j<10; j++)
    {
         for(int i=0; i<10; i++)
         {
                 cout<<array[j][i]<<'\t';
         }
         cout<<endl;
    }
    system("pause");
    return 0;
}

3 Risposte

  • Re: Aiuto!!

    Punto e virgola dopo il for nella funzione primo sono voluti?
  • Re: Aiuto!!

    Non ho capito bene il tuo codice.Se può essere di aiuto, io avevo creato una funzione in c apposita per riempire un vettore idealmente di qualsiasi dimensione, usando quelli gia trovati:
    
    void calcola_primi(int numero_primo[], int num_primi)
    {
    int i ,i_riemp,numero,primo;
    
    numero_primo[0]=2;
    i_riemp=1;
    numero=3;
    while(i_riemp<num_primi)
        {
        i=0; primo=VERO;
        while(i<i_riemp && primo)
            {
            if(numero%numero_primo[i]==0)
                primo=FALSO;
            else
                i++;
            }
        if(primo)
            {
            numero_primo[i_riemp]=numero;
            i_riemp++;
            }
        numero++;
        }
    return;
    }
    Puoi modificarla per quello che devi fare tu:)
  • Re: Aiuto!!

    Si, il punto e virgola era voluto, perchè in quella circostanza mi serviva che il ciclo for non facesse nulla; alla fine ho risolto il problema, sbagliavo ad incrementare una variabile, grazie comunque della disponibilità a quelli che mi hanno risposto!!
Devi accedere o registrarti per scrivere nel forum
3 risposte