algoritmi_2010
-
Upload
askfordreams -
Category
Documents
-
view
215 -
download
0
description
Transcript of algoritmi_2010
-
1/14
ATESTAT 2010 ALGORITMI
1. Scriei un program Pascal/C/C++ care citete de la tastatur un vector a cu n (nv[i]; for(i=1;i
-
2/14
3. Scriei un program Pascal/C/C++ care citete de la tastatur un numr natural nenul n (n1000),
construiete n memorie i apoi afieaz pe ecran un tablou unidimensional a, avnd n elemente.
Tabloul a se completeaz cu numerele naturale de la 1 la n, astfel: se memoreaz valoarea 1 pe poziia 1, valoarea 2 pe poziia n, 3 pe poziia 2, 4 pe poziia n-1, 5 pe poziia 3, etc. Elementele
tabloului se afieaz pe ecran cu cte un spaiu ntre ele. Exemplu: pentru n=9 tabloul afiat este: 1 3 5 7 9 8 6 4 2
#include using namespace std; int main() { int n,i,k=1,v[100]; coutn; for(i=1;i
-
3/14
5. Se citete de la tastatur un numr natural nenul n care are cel mult 9 cifre. S se afieze pe ecran numrul k, natural, astfel nct produsul 1*2*3*...*(k-1)*k s aib o valoare ct mai apropiat
de numrul n.
Exemple: dac se citete numarul n=25 pe ecran se va afia 4
dac se citete numrul n=119 pe ecran se va afia 5
#include using namespace std; int main() { int n,fact=1,pfact=1,k=1; coutn; while (fact
-
4/14
} return 0; }
7. Scriei programul Pascal/C/C++ care citete de la tastatur un numr natural n (2
-
5/14
8. Se citesc de la tastatur dou valori naturale m i n (m,n
-
6/14
10. Scriei programul Pascal/C/C++ care citete de la tastatur un cuvnt de cel mult 15 litere mici ale
alfabetului englez i care afieaz pe ecran, pe linii distincte, cuvintele obinute prin tergerea succesiv a vocalelor din cuvntul citit, de la stnga la dreapta, ca n exemplu de mai jos: Exemplu: Dac se citete cuvntul examen se afieaz: xamen
xmen
Xmn
#include #include using namespace std; int main() { char cuv[100],voc[7]="aeiou"; int i=0; coutcuv; while (i
-
7/14
12. O matrice ptrat este mprit de cele dou diagonale n patru zone notate A, B, C, D, conform figurii
alturate. Elementele de pe cele 2 diagonale nu aparin
nici uneia dintre cele 4 zone. Scriei un program Pascal/C/C++ care citete de la tastatur un numr
natural n (n
-
8/14
14. Scriei programul Pascal/C/C++ care citete de la tastatur dou iruri de cel mult 30 de litere ale alfabetului englez i afieaz pe ecran mesajul DA dac cele dou iruri de caractere sunt anagrama celuilalt, sau NU, n caz contrar. De exemplu, dac se citesc irurile secetos i cetoses, se va afia DA.
#include #include using namespace std; int main() { char cuv[30],cuv1[30],i,*p,sw=1; coutcuv; coutcuv1; for (i=0;i
-
9/14
16.
Scriei un program Pascal/C/C++ care citete de la tastatur n iruri de caractere formate din litere
mici. S se afiseze toate perechile de iruri dintre cele citite, perechi de forma x,y n care irul x este
subsecven a irului y sau irul y este subsecven a irului x. Fiecare pereche determinat se va
scrie pe cte un rnd, irurile fiind separate printr-o virgul. Dac nu exist nici o astfel de pereche se va scrie textul FR SOLUIE.
Exemplu. Pentru n=4, dac se citesc: ari
calculator
mari
lat
se afieaz: ari,mari calculator,lat
#include #include using namespace std; int main() { int n,i,k=0,j; char t[100][30]; coutn; for (i=1;i
-
10/14
#include #include using namespace std; ifstream fin("date.in"); int main() { int a[100][100],n,m,i,j,k,l,s=0,q,r; fin>>n>>m; for (q=1;qa[q][r]; fin>>i>>j>>k>>l; if (i>0 && k>0 && i
-
11/14
19.
Scriei un program Pascal/C/C++ care citete de la tastatur dou iruri de caractere formate fiecare din cel mult 100 de litere ale alfabetului englez i afieaz literele care nu apar n niciunul din cele dou iruri . De exemplu, dac se citesc irurile alfabetazoid i abcdefghijklmqrsuv se va afia Npwxy
#include #include using namespace std; int main() { char s1[100],s2[100],i; cout
-
12/14
21. Scriei programul Pascal/C/C++ care citete de la tastatur un numr n i apoi n numere numere
reale pozitive i afieaz pe ecran numerele care au partea ntreag numr prim. Dac nici unul din numere nu are partea ntreag numr prim atunci se va afia mesajul NU EXISTA
De exemplu, dac se citesc numerele: n=6
12.095 31.567 5.789 789.834 1234.923 2.345
atunci se vor afia numerele: 31.567 5.789 2.345
#include using namespace std; int prim(int x) { int d; for (d=2;dx; v[i]=(int)x;} cout
-
13/14
23. Scriei un program Pascal/C/C++ care citete un numr natural nenul n (n
-
14/14
{ int n,v[100],x,i,k=0,j; coutn; for (i=1;i>x; if (verifica(x)) v[++k]=x; } for (i=1;i