Potrzebuje pomocy w odpowiednim wyświetleniu wygenerowanych danych, które są sortowane algorytmem flagi polskiej, tak że najpierw są wyświetlane liczby pierwsze, a potem złożone (nieważna kolejność rosnąco/malejąca). Chcę żeby w funkcji polska wyświetlały się dane w sposób: Liczby pierwsze: *, *, , liczby złożone: ,,,
#include <iostream>
#include <cstdlib>
#include <time.h>
using namespace std;
bool pierwsza(int n);
int polska(int *tab, int size);
int main(){
srand(time(NULL));
int size = rand()%(12-4+1)+4;
int *tab = new int [size];
for (int i=0;i<size;i++){
tab[i]=rand()%(5-3+1)+3;
cout<<tab[i]<<endl;
}
polska(tab,size);
/* for(int i=0;i<size;i++){
cout<<tab[i]<<" ";
} */
delete [] tab;
return 0;
}
int polska(int *tab, int size){
int i;
int j;
i=0;
j=size-1;
while(i<j){
while(pierwsza(tab[i])==true && i<j){
i++;
}
while(pierwsza(tab[j])==false && i<j)
{j--;
}
swap(tab[j],tab[i]);
i++;
j--;
}
cout<<"Liczby pierwsze: ";
for(int k=0;k<j;k++){
cout<<tab[k]<<" ";}
for(int k=j;i<j;k++){
cout<<tab[k]<<" ";}
cout<<endl<<"Liczby zlozone: ";
for(int k=j;k<size;k++){
cout<<tab[k]<<" ";}
}
bool pierwsza(int n)
{
for(int i=2;i<n;i++)
if(n%i==0)
return false;
return true;}