Problem z liczbami pierwszymi

0

Witam, mam problem dotyczący mojego zadania (niestety tablica musi być 20x20, tak kazał nauczyciel).
Jeżeli liczba z pierwszej tablicy jest liczbą pierwszą do to drugiej tablicy ma być przepisana "1", jeżeli nie to "0". - Tą część udało mi się napisać, problem tkwi w tym, że pod drugą tablicą mają być wypisane wszystkie liczby pierwsze z tej pierwszej tablicy i nie wiem jak to zrobić.
Z góry dziękuję za wskazówki.

#include <cstdio>
#include <iostream>
#include <iomanip>
#include <ctime>
#include <cstdlib>
using namespace std;

bool czy_pierwsza(int n);


int main()
{
	int tab1[20][20];
	int tab2[20][20];
	srand(time(NULL));
	cout<<"Tablica pierwsza: "<<endl;
	for(int i=0;i<20;i++)
	{
		pierwsze[i]=0;
		for(int j=0;j<20;j++)
		{
			pierwsze[i]=0;
			tab1[i][j]=(rand()%62)+3;
			if(czy_pierwsza(tab1[i][j])==1)
			{
				tab2[i][j]=1;	
			}
			else
			{
				tab2[i][j]=0;
			}
			cout<<setw(4)<<tab1[i][j];
		}
		cout<<endl;
	}
	cout<<endl;
	cout<<"Tablica druga: "<<endl;
	for(int i=0;i<20;i++)
	{
		for(int j=0;j<20;j++)
		{
			cout<<setw(4)<<tab2[i][j];
		}
		cout<<endl;
	}
	cout<<endl;
	
	getchar();
	return 0;	
}

bool czy_pierwsza(int n)
{
	int e=0;
	
	for(int i=1;i<=n;i++)
	{
		if(n%i==0)
		{
			e++;
		}
	}
	if(e==2)
	{
		return true;
	}
	else
	{
		return false;
	}
}

1
Jakub Lipiński napisał(a):

problem tkwi w tym, że pod drugą tablicą mają być wypisane wszystkie liczby pierwsze z tej pierwszej tablicy i nie wiem jak to zrobić.

Przelatujesz pętlą po tab2 i jeśli tab2[x][y] == 1 to wypisujesz tab1[x][y].

0

Dzięki wielkie za szybką pomoc, problem rozwiązany:)

1 użytkowników online, w tym zalogowanych: 0, gości: 1