#include <iostream>
using namespace std;
/** Afișați sumele cifrelor numerelor unui şir de n numere întregi ordonate
descrescător.
*/
int main()
{
int n,i,v[100],s,c,ok,w[100],x,k,aux;
cout<<"n=";
cin>>n;
for(i=1;i<=n;i++)
{
cout<<"v["<<i<<"]=";
cin>>v[i];
}
for(i=1;i<=n;i++)
cout<<v[i]<<" "<<endl;
for(i=1;i<=n;i++)
{
x=v[i];
s=0;
while(x!=0)
{
c=x%10;
s=s+c;
x=x/10;
}
if(v[i]!=s)
{
k++;
w[k]=s;
}
}
for(i=1;i<=k;i++)
cout<<w[i]<<" "<<endl;
do
{
ok=1;
for(i=1;i<=k;i++)
{
if(w[i]<w[i+1])
{
aux=w[i];
w[i]=w[i+1];
w[i+1]=aux;
ok=0;
}
}
}
while(ok==0);
for(i=1;i<=k;i++)
cout<<w[i]<<" "<<endl;
return 0;
}
using namespace std;
/**Se citeşte un şir de n numere întregi. Să se afişeze toate numerele ce au
suma cifrelor egală cu 10, ordonate crescător și toate numerele ce au
produsul cifrelor cuprins între 6 și 60, ordonate descrescător.
*/
int main()
{
int n,v[100],i,c,s,ok,k,w[100],x,aux,p,ok1,k1,u[100];
cout<<"n=";
cin>>n;
for(i=1;i<=n;i++)
{
cout<<"v["<<i<<"]=";
cin>>v[i];
}
k=0;
k1=0;
for(i=1;i<=n;i++)
{
x=v[i];
s=0;
while(x!=0)
{
c=x%10;
s=s+c;
p=p*c;
x=x/10;
}
if(s==10)
{
k++;
w[k]=v[i];
}
if(p<6 && p>60)
{
k1++;
u[k1]=v[i];
}
}
do
{
ok=1;
for(i=1;i<=k-1;i++)
if(w[i]>w[i+1])
{
aux=w[i];
w[i]=w[i+1];
w[i+1]=aux;
ok=0;
}
}
while(ok==0);
do
{
ok1=1;
for(i=1;i<=k1-1;i++)
if(u[i+1]>u[i])
{
aux=u[i];
u[i]=u[i+1];
u[i+1]=aux;
ok1=0;
}
}
while(ok1==0);
for(i=1;i<=k;i++)
cout<<w[i]<<" "<<endl;
for(i=1;i<=k1;i++)
cout<<u[i]<<" "<<endl;
return 0;
}
#include <iostream>
using namespace std;
/**Se citesc doi vectori a de dimensiune n și b de dimensiune m. Să se
afișeze de câte ori apare cel mai mic număr din vectorul a în vectorul b.
*/
int main()
{
int n,i,a[100],b[100],m,min=100000,nr=0;
cout<<"n=";
cin>>n;
for(i=1;i<=n;i++)
{
cout<<"a["<<i<<"]=";
cin>>a[i];
}
cout<<"m=";
cin>>m;
for(i=1;i<=m;i++)
{
cout<<"b["<<i<<"]=";
cin>>b[i];
}
for(i=1;i<=n;i++)
{
if(a[i]<min)
min=a[i];
}
for(i=1;i<=m;i++)
{
if(b[i]==min)
nr++;
}
cout<<"cel mai mic număr din vectorul a apare in vectorul b de
"<<nr<<"ori"<<endl;
return 0;
}
#include <iostream>
using namespace std;
/**Se dă un șir format din n numere naturale. Determinați numărul de
perechi de elemente consecutive din șir care au suma un număr prim.
*/
int main()
{
int n,v[100],i,x,ok,nr=0,j;
cout<<"n=";
cin>>n;
for(i=1;i<=n;i++)
{
cout<<"v["<<i<<"]=";
cin>>v[i];
}
for(i=1;i<=n-1;i++)
{
x=0;
x=v[i]+v[i+1];
ok=1;
if(x<=1)
ok=0;
for(j=2;j<=x/2;j++)
if(x%j==0)
ok=0;
if(ok==1)
nr++;
}
cout<<"numarul de perechi de elemente consecutive din sir care au suma un numar
prim este "<<nr;
return 0;
}
#include <iostream>
using namespace std;
/** Se dă un şir format din n elemente, numere naturale. Calculaţi suma
elementelor din secvenţa determinată de primul şi ultimul element prim.
*/
int main()
{
int n,i,v[100],s=0,pozp=0,pozu=0,ok,x,j;
cout<<"n=";
cin>>n;
for(i=1;i<=n;i++)
{
cout<<"v["<<i<<"]=";
cin>>v[i];
}
for(i=1;i<=n;i++)
{
x=v[i];
ok=1;
if(x<=1)
ok=0;
for(j=2;j<=x/2;j++)
if(x%j==0)
ok=0;
if(ok==1)
if(pozp==0)
pozp=i;
else
pozu=i;
}
for(i=pozp;i<=pozu;i++)
s=s+v[i];
cout<<" suma elementelor din secventa determinată de primul şi ultimul element
prim "<<s;
return 0;
}
#include <iostream>
using namespace std;
/**Se citește un șir de n numere întregi. Să se afișeze toate numerele prime,
ordonate descrescător.
*/
int main()
{
int n,i,v[100],ok,ok1,k,w[100],aux,x,j;
cout<<"n=";
cin>>n;
for(i=1;i<=n;i++)
{
cout<<"v["<<i<<"]=";
cin>>v[i];
}
k=0;
for(i=1;i<=n;i++)
{
ok=1;
x=v[i];
if(x<=1)
ok=0;
for(j=2;j<=x/2;j++)
{
if(x%j==0)
ok=0;
}
if(ok==1)
{
k++;
w[k]=v[i];
}
}
do
{
ok1=1;
for(i=1;i<=k-1;i++)
if(w[i]<w[i+1])
{
aux=w[i];
w[i]=w[i+1];
w[i+1]=aux;
ok1=0;
}
}
while(ok1==0);
for(i=1;i<=k;i++)
cout<<w[i]<<" ";
return 0;
}