24.2.3.24011640. Koristeći odgovarajuće funkcije iz biblioteke “algorithm”, napraviti program koji određuje koliko u nizu cijelih brojeva unesenih sa tastature ima brojeva koji su potpuni kvadrati (tj. kvadrati nekog drugog cijelog broja), i koji prepisuje u drugi niz sve elemente koji nisu potpuni kvadrati. Program treba na ekranu da ispiše broj traženih potpunih kvadrata, kao i sve elemente prepisane u drugi niz.

Opis rješenja:

Listing programa:

#include <iostream>
#include <conio.h>
#include <cmath>
#include <algorithm>
using namespace std;
using namespace std;
bool F(int p){
if(p==sqrt(double(p))*sqrt(double(p)))return true;
return false;
}


int main(){
int a[20],b[20],n;
cin>>n;
for(int i=0;i<n;i++)
    cin>>a[i];
for(int i=0;i<n;i++){
    b[i]=0;}   
cout<<endl;
int k;
k=count_if(a,a+n,F);
cout<<k<<endl;
if(k==0){
for(int i=0;i<n;i++)
    cout<<a[i]<<" ";
}
else{
int *pok;
pok=remove_copy_if( a,a+n,b, F);
cout<<endl;
int *c=&b[0];
while(c<pok){
    cout<<*c<<" ";
    c++;
    }
}

getch();
return 0;
}    

Ispis na ekranu:

Riješeni zadaci 2    Index