You are on page 1of 7

1.

Sa se scrie un program care afiseaza la ecran:

*
**
***
****
*****
#include<iostream>
using namespace std;
int main()
{
int n,i,j;
cout<<"n=";
cin>>n;
for(i=0;i<n;i++)
{
for(j=0;j<n-i;j++)
cout<<" ";
for(j=0;j<i+1;j++) // или for(j=n-i+1;j<n;j++)
cout<<"*";
cout<<endl;
}

return 0;
}

2. Sa se calculeze π cu exactitatea Ɛ, utilizind formula lui Uolles :


#include<iostream>
#include<math.h>
using namespace std;
int main()
{
float p,p1,e;
int i;
cout<<"E=";
cin>>e;
p=1.0;
i=1;
do
{
p1=p;
p*=float((2.0*i*2.0*i)/((2.0*i+1)*(2.0*i-1)));
i++;
}
while(sqrt((p-p1)*(p-p1))>(e/2.0));
cout<<2.0*p;
return 0;
}

3. Sa se scrie un program, care afiseaza la ecran matricea A (n, n) in modul urmator :

#include<iostream>
#include<iomanip>
using namespace std;
int main()
{
int n,i,j;
int a[20][20];
cout<<"n=";
cin>>n;
for(i=0;i<n;i++)
for(j=0;j<i;j++)
a[i][j]=1;
for(i=0;i<n;i++)
for(j=i;j<n;j++)
a[i][j]=n-j+i;
for(i=0;i<n;i++)
{
for(j=0;j<n;j++)
cout<<setw(3)<<a[i][j];
cout<<endl;
}
return 0;
}
4. Se da o matrice patrata de numere intregi N*N (N – introdus de la tastatura). Sa se
elimine toate coloanele tabelului care contin zerouri.
#include<iostream>
#include<iomanip>
using namespace std;
int main()
{
int i,j,n,m,t;
int a[10][10],b[10][10];
cout<<"n=";
cin>>n;
for(i=0;i<n;i++)
for(j=0;j<n;j++)
cin>>a[i][j];
cout<<endl<<"Initial matrix"<<endl;
for(i=0;i<n;i++)
{
for(j=0;j<n;j++)
cout<<setw(3)<<a[i][j];
cout<<endl;
}
m=0;
for(j=0;j<n;j++)
{
t=1;
for(i=0;i<n;i++)
if(a[i][j]==0) t=0;
if(t)
{
for(i=0;i<n;i++)
b[i][m]=a[i][j];
m++;
}
}
cout<<endl<<"Final matrix"<<endl;
for(i=0;i<n;i++)
{
for(j=0;j<m;j++)
cout<<setw(3)<<b[i][j];
cout<<endl;
}
return 0;
}
5. Se de un numar natural N. Sa se scrie un program care determina numarul maxim care
poate fi compus din cifrele numarului N.
#include<iostream>
using namespace std;
int main()
{
int i,j,f,c;
unsigned long n;
int x[10];
cout<<"n=";
cin>>n;
i=0;
do{
x[i]=n%10;
n/=10;
i++;
}
while(n!=0);
do
{
f=0;
for (j=0;j<i-1;j++)
{
if (x[j]<x[j+1])
{
f=1;
c=x[j];x[j]=x[j+1];x[j+1]=c;
}
}
}
while (f);
for(j=0;j<i;j++) cout<<x[j];
return 0;
}
6. Se da un tablou unidimensional de numere intregi A (n). Sa se scrie un program care
aranjeaza in ordine descrescatoare elementele tabloului.
#include<iostream>
using namespace std;
int main()
{
int i,j,f,c;
unsigned long n;
int x[10];
cout<<"n=";
cin>>n;
i=0;
do{
x[i]=n%10;
n/=10;
i++;
}
while(n!=0);
do
{
f=0;
for (j=0;j<i-1;j++)
{
if (x[j]<x[j+1])
{
f=1;
c=x[j];x[j]=x[j+1];x[j+1]=c;
}
}
}
while (f);
for(j=0;j<i;j++) cout<<x[j];
return 0;
}

7. Se dau coordonatele punctelor (x,y). Sa se determine dupa coordonate in care patrime se


afla punctul.
#include<iostream>
using namespace std;
int main()
{
int x,y;

cout<<"input point (x,y)" <<endl;


cin>>x;
cin>>y;
if((x>0)&&(y>0)) cout<<"I";
if((x<0)&&(y>0)) cout<<"II";
if((x<0)&&(y<0)) cout<<"III";
if((x>0)&&(y<0)) cout<<"IV";
return 0;
}
8. Se dau trei numere reale. Sa se afiseze la ecran acele numere, care sunt pozitive. Daca asa
numere nu se contin, atunci sa se afiseze textul « NUMERE POZITIVE NU SINT».
#include<iostream>
using namespace std;
int main()
{
float a,b,c;

cout<<"a=" ;
cin>>a;
cout<<"b=" ;
cin>>b;
cout<<"c=" ;
cin>>c;
if((a<0)&&(b<0)&&(c<0)) cout<<"no number >0";
else
{
if(a>0) cout<<a<<" ";
if(b>0) cout<<b<<" ";
if(c>0) cout<<c<<" ";
}
return 0;
}
Colegiul de Informatica din Chisinau

Scenariul concursului:

Ultimul erou la C++


Concurs la limbajul de programare C++

Data: 4 februarie 2015

Profesori: Irina Sarapanovscaia


Gairunova Natalia
Mindrigan Dumitru

 
Disciplina : Limbajul de programare C++

Participanti :

Studentii grupelor I- 1324, I-1325, I -1321, I-1322, I- 1323, I-1326

Obiectivele concursului extracurricular:

1. Sa dezvolte spiritul de echipa, sprijinul reciproc, gindirea creativa ;


2. Sa fie motivati de a invata limbajul de programare C++ ;
3. Sa utilizeze cunostintele primite de la lectii in situatiile nestandarte ;
4. Sa imbunatateasca cunostintele ;

Obiectivul de baza : Sa cistige concursul si sa primeasca numele de Ultimul erou la C++

Conditiile jocului :

Ultimul erou la C++ - este joaca intre echipele grupelor de anul II la disciplina Limbajul
de programare C++.
Numarul de studenti in echipa - 4. Echipelor li se da sa joace 4 concursuri, pe care ei
singuri le aleg. In fiecare concurs se da cite o insarcinare pe care trebuie sa o indeplineasca timp
de 7-10 minute. In concurs cistiga acea echipa care a rezolvat in timp mai scurt. Dupa fiecare
concurs din echipa va pleca cite un jucator. Echipa cistigatoare are dreptul de a alege din
echipele ce au pierdut cite un jucator care va pleca, cistigatorii la fel trebuie sa aleaga cine va
pleca de la ei din echipa. Daca echipele nu au dat un raspuns corect, atunci conducatorul jocului
trebuie sa aleaga cine pleaca din echipe. Pina la urma ramine cite un jucator in fiecare echipa
care ramin sa raspunda la ultima insarcinare. Acel care rezolva corect si rapid va fi ultimul erou
la C++.

Materiale utilizate : Calculatorul, proiectorul, ecranul, figuri geometrice colorate pentru fiecare
echipa.
Intrebari pentru spectatori in timp ce echipele rezolva insarcinarile:

1. Pe masa erau 3 pahare umplute cu visine. O fetita a mincat un pahar de visine. Cite pahare
au ramas pe masa ?
2. Poate oare un barbat sa se casatoreasca cu sora vaduvei lui ?
3. Ardeau 7 luminari. 3 s-au stins. Cite luminari au ramas ?
4. Un stapin are 10 oi. Toate in afara de 9 au murit. Cu cite oi a ramas stapinul ?
5. De obicei luna se finiseaza cu ziua a 30-a sau a 31-a. In ce luna este data de 28 ?
6. Un fir trebuie taiat in 12 bucati. Cite taieturi vor fi facute ?
7. Sub ce tufa sta un iepure cind ploua ?
8. Intr-o colivie sunt 3 iepuri. 3 fetite au cerut sa li se dea cite un iepure. Fiecare a primit cite
un iepure. Dar unul a ramas in colivie, cum de s-a intimplat asa ?
9. Raspundeti repede :
8=56
7=42
6=30
5=20
3= ?

10. Cu ce se termina ziua si noaptea ?


11. Un tamplar era foarte grabit. Trebuia sa lucreze cat se poate de repede si sa taie o bucata de
lemn de 10 metri in 10 parti egale. Daca ii ia 50 de secunde pe taietura, cate minute o sa ii
ia pentru a taia lemnul in 10 bucati egale?
12. Doua avioane decoleaza in acelasi moment. Ele zboara peste Atlantic. Unul dintre ele
pleaca din New York catre Paris si zboara cu o viteza de 750 km/h. Celalalt pleaca din
Paris catre New York dar merge cu doar 700 km/h (din cauza conditiilor meteorologice).
Care dintre ele va fi mai aproape de Paris cand se intalnesc ?
13. In garajul sau, un milionar avea masini. Se stie ca dintre ele doar doua nu erau albe, doar
doua nu erau verzi si doar doua nu erau rosii. Cate masini avea milionarul in garajul sau?
14. Doi parinti si doi fii au mers la pescuit. Fiecare a prins un peste si niciunul dintre ei nu a
prins acelasi peste. Totusi, au prins in total doar trei pesti. Cum e posibil ?
15. Citi ani va avea un bunel cind va sarbatori a 20-a zi de nastere ?
16. Un melc se ridica intr-o zi 5 metri inaltime, noaptea luneca in jos 3 metri. Daca melcul va
incepe sa urce pe un stilp de 10 metri, cit timp va avea nevoie pentru a atinge virful
stilpului?

You might also like