Se da un vector V1. Sa se construiasca V2 cu elementele pare din V1, V3 cu elementele prime din V1 si V4 cu elementele care au suma cifrelor fiecarui element din V1 mai mare decat un x dat.
Răspunsuri la întrebare
#include <iostream>
using namespace std;
int n, i, k2, k3, k4, num, x, v1[100], v2[100], v3[100], v4[100];
int sumacif(int m)
{
int s=0;
while (m)
{
s=s+m%10; m/=10;
}
return s;
}
int prim(int t)
{
int p=1;
if (t==0 || t==1) p=0;
if (t>2)
{
if (t%2==0) p=0;
else
{
for (int j=3; j*j<=t; j+=2)
if (t%j==0) { p=0; break; }
}
}
return p;
}
int main()
{
int gasit2=0, gasit3=0, gasit4=0;
cout << "n= "; cin >> n;
cout << "x= "; cin >> x;
cout << " introdu " << n << " numere naturale \n";
for (i=1; i<=n; ++i)
{
cin >> num;
v1[i]=num;
if (num%2==0) { ++k2; v2[k2]=num; gasit2=1;}
if (prim(num)) { ++k3; v3[k3]=num; gasit3=1;}
if (sumacif(num)>x) { ++k4; v4[k4]=num; gasit4=1;}
}
cout << " vectorul parelor: \n";
if (gasit2==0) cout << "nu exista elemente...";
else
{
for (i=1; i<=k2; ++i)
cout << v2[i] << " ";
cout << "\n";
}
cout << " vectorul primelor: \n";
if (gasit3==0) cout << "nu exista elemente...";
else
{
for (i=1; i<=k3; ++i)
cout << v3[i] << " ";
cout << "\n";
}
cout << " vectorul elementelor cu suma cifrelor > x: \n";
if (gasit4==0) cout << "nu exista elemente...";
else
{
for (i=1; i<=k4; ++i)
cout << v4[i] << " ";
cout << "\n";
}
}