Documente Academic
Documente Profesional
Documente Cultură
else
g<<"numalul k este "<<k-1;
g.close();
}
27.Scriei un program care citete un numr natural n>1 cu maximum 9 cifre, si afieaz
valoarea celui mai mic divizor prim a lui n, precum si puterea la care acest divizor apare in
descompunerea in factori primi a numrului n.
#include<iostream.h>
int n,p,c;
void cmmd(int n)
{int gasit=0,d=2;
while((d<n/2)&&(gasit==0))
{if(n%d==0)
{c=d;
gasit=1;}
else
d++;}
p=0;
while(n%c==0)
{n=n/c;
p=p+1;}}
void main()
{cout<<"n=";cin>>n;
cmmd(n);
cout<<c<<" la puterea "<<p;
}
28.S se scrie un program care s calculeze i s afieze pe ecran produsul cifrelor pare i
suma cifrelor impare a unui numr natural n citit de la tastatur.
#include<iostream.h>
unsigned int n, s, p=1, c;
void main()
{
cin>>n;
while(n)
{
c=n%10;
if(c%2==0)
p=p*c;
else
s=s+c;
n=n/10;
}
cout<< p <<" "<< s;
}
29.Sa se verifice daca doua cuvinte introduse de la tastatura (cuvintele avnd maxim 50 de
caractere fiecare) sunt rime, adic ultimele p caractere ale celor doua cuvinte coincid, unde p
(2<=p<=10) este dat.
#include<iostream.h>
#include<string.h>
char s1[51], s2[51];
int p, x, y, ok=0;
void main()
{
cin>> s1>>s2>>p;
x=strlen(s1)-1;
y= strlen(s2)-1;
for( int i=1;i<=p && ok==0 ;i++)
{
if(s1[x]!=s2[y])
ok=1;
x--;
y--;
}
if(ok)
cout<<"Nu sunt rime";
else
cout<<"Sunt rime";
}
30.Scriei un program care construiete o matrice ptrat de ordin n format din valorile 1 si 2
astfel nct elementele de pe diagonala principala si secundar sa fie egale cu 1 iar restul
elementelor cu 2. Valoarea lui n se citete de la tastatur: n numr natural (2<23), iar matricea
se va afia pe ecran, cate o linie a matricei pe fiecare rnd pe ecran cu spatii intre elementele
fiecrei linii.
Exemplu: Fie n=5. Se va afia:
12221
21212
22122
21212
12221
#include<iostream.h>
int a[10][10], i, j, n;
void main()
{
cin>>n;
for(int i=1;i<=n;i++)
for(int j=1;j<=n;j++)
if(i==j || i+j==n+1)
a[i][j]=1;
else
a[i][j]=2;
for(i=1;i<=n;i++)
{
for(j=1;j<=n;j++)
cout<< a[i][j];
cout<< endl;
}
}
probleme rezolvate atestat informatica p1
probleme rezolvate atestat informatica p3
probleme rezolvate atestat informatica p4
Probleme rezolvate c++ atestat informatica 2011
1.Scriei programul care citete un numr natural nenul n cu cel mult 4 cifre i determin cel
mai mic numr prim mai mare dect n
2. Se citeste un numar intreg strict pozitiv cu cel mult noua cifre. Sa se verifice daca cifrele
lui sunt in ordine strict crescatoare.
elemente din tabloul unidimensional care aparin intervalului nchis determinat de primul i
respectiv ultimul element al tabloului.
Exemplu: dac tabloul are 6 elemente i este de forma (12,27,6,8,9,2), subprogramul va
returna valoarea 5.
15. Se citeste de la tastatura un numar natural n (1<n<100) si un sir x de n valori intregi. Sa
se ordoneze crescator pana la o pozitie k citita de la tastatura si descrescator de la pozitia k la
n.
REZOLVARI
1)
#include<iostream.h>
void
{int
cin>>n;
do
{ok=0;
n=n+1;
for(i=2;i<=n/2;i++)
if(n%i==0)
ok=1;}
while(ok==1);
cout<<n;
}
main()
i,n,ok=0;
2)
#include<iostream.h>
void
{int
cin>>n;
n1=n;
while(n!=0)
{v[j]=n%10;
j++;
n=n/10;}
for(i=1;i<j-1;i++)
if(v[i]<=v[i+1])
c=0;
if(c)
cout<<"cifrele
numarului
main()
n,c=1,i,v[20],j=1,n1;
"<<n1<<"
sunt
in
ordine
crescatoare";
else
cout<<"cifrele numarului "<<n1<<" nu sunt in ordine crescatoare";}
3)
#include<iostream.h>
void
{int
cin>>a;
cin>>b;
while(a!=b)
{if(a>b)
a=a-b;
else
b=b-a;}
cout<<a;}
main
()
a,b;
4)
#include<iostream.h>
void
{int
cout<<"n=";cin>>n;
for(i=1;i<=n;i++)
{cout<<"v["<<i<<"]=";cin>>v[i];}
for(i=1;i<=n;i++)
if(v[i]%2==0)
{j=j+1;
y[j]=v[i];}
for(i=1;i<=j;i++)
cout<<y[i]<<" ";}
main()
v[20],n,i,y[20],j=0;
5)
#include<iostream.h>
void
{int
cout<<"n=";cin>>n;
cout<<"a=";cin>>a;
for(i=1;i<=n;i++)
{cout<<"v["<<i<<"]=";cin>>v[i];}
for(i=1;i<=n;i++)
if(v[i]==a)
{nr=nr+1;
main()
v[20],a,n,i,j=0,x[20],nr;
j=j+1;
x[j]=i;}
cout<<"nr
"<<a<<"
apare
in
vector
cout<<endl;
for(i=1;i<=j;i++)
cout<<"nr "<<a<<" apare pe pozitia "<<x[i]<<endl;}
de
"<<nr<<"
ori";
6)
#include<iostream.h>
void
main()
{int
v[20],m=0,a,b,n,i,j=1,x[20],nr;
cout<<"n=";cin>>n;
cout<<"a=";cin>>a;
cout<<"b=";cin>>b;
for(i=1;i<=n;i++)
{cout<<"v["<<i<<"]=";cin>>v[i];}
for(i=1;i<=n;i++)
if(v[i]>=a
&&
v[i]<=b)
m=m+1;
else
{x[j]=v[i];
j=j+1;}
cout<<"elementele cuprinse intre "<<a<<" si "<<b<<" sunt in numar de "<<m;}
7)
#include<fstream.h>
void
{int
cout<<"n=";cin>>n;
fstream
while(f>>v[i])
main()
n,v[20],i,c=0;
f("bac.txt",ios::in);
{if(v[i]%n==0)
{cout<<v[i]<<"
c=1;}
if(c==0)
cout<<"nu exista";}
";
8)
#include<iostream.h>
void
main
()
{int
for(i=1;i<=3;i++)
{cout<<"v["<<i<<"]=";cin>>v[i];}
for(i=1;i<=2;i++)
{for(j=2;j<=3;j++)
if(v[i]>v[j])
{aux=v[i];
v[i]=v[j];
v[j]=aux;}}
if((float)(v[2]/v[1])==(float)(v[3]/v[2]))
cout<<"progresie
else
cout<<"nu este progresie geometrica";}
v[10],i,j,aux;
geometrica";
9)
#include<fstream.h>
void
{int
fstream
cin>>n;
if(n>=10
while(n!=0)
{n=n/10;
f<<n;
}}
main()
i,n;
f("NR.TXT",ios::out);
&&
n<=9999999)
10)
#include<iostream.h>
void
{int
cout<<"n=";cin>>n;
cout<<"m=";cin>>m;
for(i=1;i<=n;i++)
{for(j=1;j<=m;j++)
if(i<j)
a[i][j]=i;
else
a[i][j]=j;}
for(i=1;i<=n;i++)
{for(j=1;j<=m;j++)
cout<<a[i][j]<<"
cout<<endl;}}
main
()
n,m,i,j,a[20][20];
";
11)
#include<iostream.h>
#include<stdio.h>
#include<string.h>
void
{int
char
cin.get(v,250);
puts(v);
for(i=0;i<strlen(v);i++)
if(v[i]==c1)
v[i]=c2;
else
if(v[i]==c2)
v[i]=c1;
puts(v);}
main()
i;
c1='a',c2='o',v[250];
12)
#include<iostream.h>
#include<stdio.h>
#include<string.h>
void
{int
char
cin.get(v,20);
for(i=0;i<strlen(v);i++)
{for(j=0;j<strlen(a);j++)
if(v[i]==a[j])
v[i]=v[i]-32;}
puts(v);
}
main()
i,j;
v[20],a[5]="aeiou";
13)
#include<iostream.h>
float
i
int
count
{float
for(i=1;i<=b;i++)
s=s+a[i];
m=s/b;
cout<<s;
,n
,nr=0
(float
,v[100],
a[100],float
s=0,m=0;
b)
x=0;
cout<<m;
for(i=1;i<=b;i++)
if(m<=a[i])
x=x+1;
return
void
{cout<<"n=";cin>>n;
for(i=1;i<=n;i++)
{cout<<i<<":";cin>>v[i];}
cout<<count(v,n);
}
x;}
main()
14)
#include<iostream.h>
int
int
interval(int
{int
a=x[1];
b=x[u];
if(a<b)
for(i=1;i<=n;i++)
{if(x[i]>=a
m=m+1;}
else
for(i=1;i<=n;i++)
{if(x[i]>=b
m=m+1;}
return
void
{
cin>>n;
for(int
{cout<<"v["<<i<<"]=";cin>>v[i];}
cout<<interval(v,n);
}
x[100],int
v[100],n;
u)
a,b,i,m=0;
&&
x[i]<=b)
&&
x[i]<=a)
m;}
main()
i=1;i<=n;i++)
15)
#include<iostream.h>
void
{int
cout<<"n=";cin>>n;
cout<<"k=";cin>>k;
main()
n,j,k,i,v[20],aux;
for(i=1;i<=n;i++)
{cout<<"v["<<i<<"]=";cin>>v[i];}
for(i=1;i<k-1;i++)
for(j=i+1;j<k;j++)
if(v[i]>v[j])
{aux=v[i];
v[i]=v[j];
v[j]=aux;}
for(i=k+1;i<n;i++)
for(j=i+1;j<=n;j++)
if(v[i]<v[j])
{aux=v[i];
v[i]=v[j];
v[j]=aux;}
for(i=1;i<=n;i++)
cout<<v[i]<<" ";}