Immagazzinare elementi in un array bidimensionale

di Anonimizzato28981 il
5 risposte
Come si può leggere dal titolo, sto avendo delle difficoltà in un esercizio che mi richiede di immagazzinare in un array bidimensionale i primi 100 numeri primi.

#include <iostream>
using namespace std;

int controlla(int primo);

int main()
{
int n=1, j=1, x;
int ArrayBid[10][10];
while (j <= 100)
{
   n++;
   x = controlla(n=;
   if( x == 0)
   {
     for(int r = 0; f < 10; r++)
        for(int c = 0; c < 10; c++)
            ArrayBid[r][c] = n;
    }
  j++;
}
cout << ArrayBid << endl;
return 0;
}

int controlla(int primo)
{
int i, p=0;
for(i = 2; i <= primo -1; i++)
{
if(primo % i == 0)
p = 1;
}
return p;
}
Questo è il codice che ho buttato giù finora e non riesco trovare l'errore/ gli errori. Non linciatemi nel caso ci fossero delle bestialità, sono ancora alle prime armi . Grazie in anticipo dell'aiuto

5 Risposte

  • Ci sono errori banali, ad esempio
    x = controlla(n=;
    oppure qua
    for(int r = 0; f < 10; r++)
    perchè hai messo la f? per questo non compila
  • [CODE] cout << ArrayBid << endl; ?
  • Comunque non puoi fare una logica in questo modo.
    Fai un indice p che va da zero a 99 e che incrementi per ogni primo che trovi, primo che metterai nell'array in posizione [ p/10 ][ p%10 ]

    Edit: va bene j ma deve partire da zero
  • Grazie a tutti per le risposte, ora correggo subito tutto. (la f nel ciclo for era solo un errore di battitura :-/)
  • Ma è sbagliato anche generare il candidato da controllare fuori dal for
    Ed entrare nei due for nidificati solo se si trova un candidato primo


    Quel programma è da rivedere

    Poi basterebbe usare un solo array monodimensionale, perché serve matrice bidimensionale?
Devi accedere o registrarti per scrivere nel forum
5 risposte