Sunteți pe pagina 1din 16

1.

Sa se scrie un program care calculeaza cifra de control a unui numar ntreg efectund suma
cifrelor sale, apoi suma cifrelor acestei sume etc. pna se obine o suma formata dintr-o singura
cifra.
Ex. Cifra de control a numarului 1971 este 9 ( 1971 -> 18 ->9).

#include<iostream>
using namespace std;
int suma(int n);
int main()
{int n;
cin>>n;
while(n>9)
n=suma(n);
cout<<n;
}
int suma(int n)
{int s=0;
while(n)
{s=n%10+s;
n/=10;
}
return s;
}

2. S se calculeze suma elementelor de pe diagonala principal i diagonala secundar dintr-o
matrice ptrat, dou cte dou ncepnd cu primele elemente de pe fiecare diagonal i s se
afieze valoarea minim i valoarea maxim din sumele astfel obinute. De exemplu:
2 5 9 1
4 2 7 3
6 4 5 7
3 9 4 2
S1=2+1, s2=2+7, s3=4+5, s4=3+2; min=3, max=9.

#include<iostream>
using namespace std;
int main()
{int a[10][10],i,j,n,min,max,s;
cin>>n;
for(i=1;i<=n;i++)
for(j=1;j<=n;j++)
cin>>a[i][j];
min=a[1][1]+a[1][n];
max=a[1][1]+a[1][n];
cout<<max<<" ";
for(i=2;i<=n;i++)
{s=a[i][i]+a[i][n-i+1];
cout<<s<<' ';
if(min>s)min=s;
if(max<s)max=s;}
cout<<min<<" "<<max;
}

3. S se introduc de la tastatur un ir de caractere din care s se elimine spaiile i apoi s se
verifice dac irul de caractere obinut este de tip palindrom, adic citit de la stnga la dreapta are
acelai neles cu cel citit de la dreapta la stnga. De exemplu:
Sir=O rama maro devine oramamaro.

#include<iostream>
#include<string>
using namespace std;
int main()
{char s[30],a[30];
int i,j=0;
cin.get(s,30);
for(i=0;i<=strlen(s)-1;i++)
if(s[i]!=' '){a[j]=s[i];j++;}
cout<<a<<endl;
if(strcmp(a,strrev(a))==0)cout<<"Palindrom";
}

4. S se verifice dac o matrice ptrat este tablou magic. ntr-un tablou magic suma
elementelor de pe fiecare linie este egal cu suma elementelor de pe fiecare coloan precum i cu
suma elementelor de pe fiecare din cele dou diagonale. De exemplu:
3 2 7
8 4 0
1 6 5

# include<iostream>
using namespace std;
int main()
{int a[10][10],i,j,n,s[50],k=0;
cin>>n;
for(i=1;i<=n;i++)
for(j=1;j<=n;j++)
cin>>a[i][j];
for(i=1;i<=n;i++)
{s[++k]=0;
for(j=1;j<=n;j++)
s[k]+=a[i][j];
}
for(j=1;j<=n;j++)
{s[++k]=0;
for(i=1;i<=n;i++)
s[k]+=a[j][i];
}
s[++k]=0;
for(i=1;i<=n;i++)
for(j=1;j<=n;j++)
if(i==j)
s[k]+=a[i][j];
s[++k]=0;
for(i=1;i<=n;i++)
for(j=1;j<=n;j++)
if(i+j==n+1)
s[k]+=a[i][j];
for(i=1;i<=k-1;i++)
if(s[k]!=s[k+1])
break;
if(i<k-1)cout<<"Nu este patrat magic";
else cout<<" este patrat magic";}

5. Se citete de la tastatur un ir de caractere. Se cere s se afieze cel mai lung subir( cuvnt)
din irul de caractere citit. De exemplu:
Sir=Ana are mere.; subsir=mere are un numar maxim de 4 caractere.

#include<iostream>
#include<string>
using namespace std;
int main()
{char s[50];
unsigned int i,k=0,max=0,b;
cin.get(s,50);
for(i=0;i<strlen(s);i++)
if(s[i]>='A'&& s[i]<='z')k++;
else {if(k>=max)
{max=k;
b=i;}
k=0;
}
for(i=b-max;i<b;i++)
cout<<s[i];
}
6. Se citesc de la tastatur dou iruri de caractere. S se elimine din fiecare ir caracterele care
sunt comune celor dou irui i s se afieze alipirea celor dou iruri astfel obinute. De
exemplu:
Sir1=implementare, sir2=informatica i se obine sir=pleeefoc.

#include<iostream>
#include<string>
using namespace std;
int main()
{char a[20],b[20], c[20];
unsigned int i, j, s, k=0;
cin>>a>>b;
for(i=0;i<=strlen(a)-1;i++)
{s=0;
for(j=0;j<=strlen(b)-1;j++)
if(a[i]==b[j])s++;
if(s==0){c[k]=a[i]; k++;}}
for(i=0;i<=strlen(b)-1;i++)
{s=0;
for(j=0;j<=strlen(a)-1;j++)
if(b[i]==a[j])s++;
if(s==0){c[k]=b[i]; k++;}}
for(i=0;i<=k-1;i++)cout<<c[i];}

7. Sa se afieze toate numerele prime de trei cifre care citite invers, sunt tot numere prime.
Ex. Un astfel de numar este 761 (761 este prim i 167 este tot prim).
#include<iostream>
using namespace std;
int prim(int n)
{int d,ok=1;
for(d=2;d<=n/2;d++)
if(n%d==0){ok=0;break;}
return ok;}

int main()
{int i,j;
for(i=100;i<=999;i++)
if(prim(i)==1)
{j=(i%10)*100+((i/10)%10)*10+i/100;
if(prim(j)==1)cout<<i<<" "<<j<<endl;
}}
8. Se spune ca n este deosebit daca exista un numar natural m astfel nct n=m+S(m), unde
S(m) este suma cifrelor lui m. Sa se scrie un program care verifica daca un numar natural n dat
este deosebit.
Ex. 1235 este deosebit (1235=1225+10).
#include<iostream>
using namespace std;
int sc(int x)
{int s=0;
while(x!=0)
{s+=x%10;
x/=10;}
return s;}
int main()
{int n;
cin>>n;
if(n-sc(n)>0)cout<<DA;
else cout<<NU;}

9. Sa se determine daca doua numere naturale date sunt termeni consecutivi ai irului Fibonacci.
Ex. 55 i 89 sunt termeni consecutivi n irul Fibonacci.
#include<iostream>
using namespace std;
int fibo(int a,int b)
{if(a==1&&b==1) return 1;
else if(a>b) return 0;
else return fibo(b-a,a);
}
int main()
{int a,b;
cin>>a>>b;
if(fibo(a,b)==1)cout<<DA;
else cout<<NU;
}

10. Se numesc numere super prime, acele numere ale caror prefixe sunt toate numere prime.
Sa se verifice daca un numar este super prim i sa se afieze prefixele sale n acest caz.
Ex: 239 este super prim deoarece 2, 23 i 239 sunt prime.
#include<iostream>
using namespace std;
int prim(int n)
{int d,ok=1;
for(d=2;d<=n/2;d++)
if(n%d==0){ok=0;break;}
return ok;}
int main()
{int n,c=1,a;
cin>>n;a=n;
while(n&&c==1)
if(prim(n)==0)c=0;
else n/=10;
if(n==0)while(a){cout<<a<<endl; a/=10;}}

11. Se da n numar natural. Sa se afieze cel mai apropiat numar prim f de n. Programul va
conine cel puin un subprogram.
#include<iostream>

using namespace std;
int prim(int n)
{int d,ok=1;
for(d=2;d<=n/2;d++)
if(n%d==0){ok=0;break;}
return ok;}
int main()
{int n,p,q,a=1;
cin>>n;
p=n;q=n;
while(a==1)
{if(prim(p)==1){a=0;cout<<p;}
else {p--;if(prim(q)==1){a=0;cout<<q;}
else q++;}}
}
12. Sa se verifice daca un vector dat este o mulime (n sensul cunoscut din matematica), iar
daca nu este, sa se transforme acest vector n mod corespunzator.
Ex. Vectorul x=(1, 2, 9, 4, 2, 6, 5, 1, 20, 3) nu este o mulime. Dupa transformarea acestuia se
obine mulimea x=(1, 2, 9, 4, 6, 5, 20, 3).
#include<iostream>
using namespace std;
int main()
{int j,i,v[20],n,aux,ok=1;
cin>>n;
for(i=1;i<=n;i++)
cin>>v[i];
for(i=1;i<=n-1;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&&ok==1;i++)
if(v[i]==v[j])ok=0;
if(ok==1)cout<<"e multime";
else cout<<"nu e multime";
}

13. Se citesc de la tastatura doi vectori cu elemente numere ntregi de dimensiune n, respectiv m.
Sa se afieze cte elemente din al doilea vector sunt strict mai mici dect toate elementele din
primul vector.
#include<iostream>
using namespace std;
int main()
{int a[100],b[100],i,n,m,min,c=0;
cin>>n>>m;
for(i=1;i<=n;i++)
cin>>a[i];
for(i=1;i<=m;i++)
cin>>b[i];
min=a[1];
for(i=2;i<=n;i++)
if(min>a[i])min=a[i];
for(i=1;i<=m;i++)
if(b[i]>min)c++;
if(c>0)cout<<"Toate";}

14. Se considera un vector cu n componente. tiind ca el conine doua subsecvene de
numere ordonate crescator, sa se ordoneze ntregul vector prin interclasarea celor doua
subsecvene.

#include<iostream>
using namespace std;
void main()
{
int i,j,k,n,m,a[50],b[50],c[100];
cin>>n;
cin>>m;
for(i=0;i<n;i++) {
cout<<"a["<<i<<"]=";
cin>>a[i];
}
for(j=0;j<m;j++) {
cout<<"b["<<j<<"]=";
cin>>b[j];
}
i=0; j=0; k=0;
while(i<n && j<m) {
if(a[i]<b[j]) {
c[k]=a[i];
i=i+1;
}
else {
c[k]=b[j];
j=j+1;
}
k=k+1;
}
if(i<n)
while(i<n) {
c[k]=a[i];
k=k+1; i=i+1;
}
else
while(j<m) {
c[k]=b[j];
k=k+1; j=j+1;
}
for(k=0;k<n+m;k++)
cout<<c[k]<<" ";
cout<<endl;
}
15. Fie v un vector de numere ntregi. Sa se construiasca un vector w, astfel nct w[i]=numarul
de
apariii ale lui v[i] n vectorul v. Sa se afieze cei doi vectori, fiecare pe cte o linie.
Ex. Pentru v=(1, 5, 2, 1, 5, 7, 2, 1, 5) se obine w=(3, 3, 2, 3, 3, 1, 2, 3, 3).
#include<iostream>
using namespace std;
int main()
{int a[100],b[100],i,n,j,c;
cin>>n;
for(i=1;i<=n;i++)
cin>>a[i];
for(i=1;i<=n;i++)
{c=0;
for(j=1;j<=n;j++)
if(a[i]==a[j])c++;
b[i]=c;}
for(i=1;i<=n;i++)
cout<<b[i]<<" ";}

16. Sa se construisca o matrice A cu n linii i n coloane ce se completeaza cu termenii irului
lui Fibonacci. Completarea se va face pe linii. Nu se vor folosi structuri de date auxiliare.
Ex. Pentru n=3 se va afi a matricea :
1 1 2

3 5 8

13 21 34.

#include<iostream>
using namespace std;
int n;
int fib(int n)
{if(n==1)return 1;
else if(n==2)return 1;
else return fib(n-1)+fib(n-2);}
int main()
{int a[100][100],i,m,j,n=1;
cin>>m;
for(i=1;i<=m;i++)
for(j=1;j<=m;j++)
{a[i][j]=fib(n);
n++;}
for(i=1;i<=m;i++)
{for(j=1;j<=m;j++)
cout<<a[i][j]<<" ";
cout<<endl;
}}

17. Se da o matrice de ordinul n. Se considera ca diagonalele sale mpart matricea n 4 zone:
nord, sud, vest i est. Se cere sa se calculeze suma elementelor impare din zona de nord a
matricei.

#include<iostream>
using namespace std;
int main()
{int a[100][100],i,n,j,s=0;
cin>>n;
for(i=1;i<=n;i++)
for(j=1;j<=n;j++)
{cin>>a[i][j];
if(a[i][j]%2==1&&i<j&&i+j<n+1)
s+=a[i][j];}
cout<<s;}

18. Se citete de la tastatura un cuvnt de lungime cel mult 20 de caractere, format numai din
litere mari. Sa se afieze toate cuvintele distincte ce se pot forma prin eliminarea cte unui
singur
caracter din cuvntul dat.
Ex. Pentru cuvntul BINE se vor afia, nu neaparat n aceasta ordine, cuvintele: INE,
BNE, BIE, BIN.

#include<iostream>
#include<string>
using namespace std;
int main()
{char a[20];
unsigned i,j;
cin>>a;
for(i=0;i<=strlen(a)-1;i++)
{for(j=0;j<=strlen(a)-1;j++)
if(i!=j)cout<<a[j];
cout<<endl;}}


19. Se citete de la tastatura un text, precum i doua cuvinte c1 i c2. Sa se nlocuiasca n text
toate apariiile cuvntului c1 cu cuvntul c2, iar apoi sa se tipareasca noul text obinut.

#include<iostream>
#include<string>
using namespace std;
int main()
{char s[251],S[251],s1[25],s2[25],*pt;
unsigned int u,i,p;
cin.get(s,250);
cin.get();
cin.get(s1,24);
cin.get();
cin.get(s2,24);
do{pt=strstr(s,s1);
if(!pt){for(i=u;i<strlen(s);i++)
strncat(S,s+i,1);break;}
p=pt-s;
for(i=u;i<p;i++)S[i]=s[i];
for(i=p;i<p+strlen(s1);i++)
s[i]='!';
for(i=p;i<p+strlen(s2);i++)
strncat(S,s2+i-p,1);
u=p+strlen(s1);}while(1);
puts(S);
}

20. Scriei un program care citete de la tastatura doua numere naturale n, m i scrie n
fiierul text DATE.TXT toate numerele prime din intervalul deschis (n,m). Numerele se scriu
n ordine crescatoare, cte 10 numere pe fiecare linie a fiierului, numerele dintr-o linie fiind
desparite ntre ele prin cte un spaiu.
Ex. Pentru n=87 i m=241, fiierul DATE.TXT va conine :
89 97 101 103 107 109 113 127 131 137
139 149 151 157 163 167 173 179 181 191
193 197 199 211 223 227 229 233 239 .

#include<iostream>
using namespace std;
int prim(int n)
{int d,ok=1;
for(d=2;d<=n/2;d++)
if(n%d==0){ok=0;break;}
return ok;}

int main()
{int n,m,i,k=1;
cin>>n>>m;
for(i=n+1;i<m;i++)
{if(prim(i)==1){cout<<i<<" ";k++;}
if(k==11){cout<<endl;k=1;}
}}

21. Pentru un numar natural n dat sa se construiasca recursiv triunghiul de numere ca n
exemplul de mai jos :
1
1 2
1 2 3
1 2 3 4 .....................
1 2 3 4 ... n

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

22. Cte cifre comune au doua numere citite de la tastatur ? Afisati care sunt aceste cifre.
Ex. Numerele 21348 si 14513 au 3 cifre comune si anume 1, 3, 4.

#include<iostream>
using namespace std;
int main()
{int n,m,i,k,t,x,y,s=0;
cin>>n>>m;
for(i=0;i<=9;i++)
{k=0;t=0;x=n;y=m;
while(x&&k==0)
if(x%10==i)k=1;
else x/=10;
while(y&&t==0)
if(y%10==i)t=1;
else y/=10;
if (k==1&&t==1){cout<<i<<" ";s++;}
}
cout<<s;}

23. Se da un vector cu n elemente numere reale. Sa se introduca intre oricare doua elemente
media lor aritmetica (fara a folosi alt vector).
#include<iostream>
using namespace std;
int main()
{float m,v[100];
int n,i,j;
cin>>n;
for(i=1;i<=n;i++)
cin>>v[i];
i=1;
while(i<=n)
{m=(v[i]+v[i+1])/2;
n++;
for(j=n-1;j>i;j--)
v[j+1]=v[j];
v[i+1]=m;
i=i+2;
}
cout<<n<<endl;
for(i=1;i<=n-1;i++)
cout<<v[i]<<" "; }

24. S se verifice dac un vector contine elemente n ordinea : negativ, negativ, pozitiv, negativ,
negativ, pozitiv, .
Ex. Vectorul (-1, -2, 3, -5, -6, 2, -8) are aspectul cerut.
Vectorul (-1, 2, -3, -4) nu are aspectul dorit.
20. Fie un vector cu n elemente numere intregi. Sa se afle si afiseze cele mai mici trei elemente
din vector (fara sa se schimbe ordinea elementelor).
21. Scriei un program care citete de la tastatur dou numere naturale n i m
(2m10, 2n10) i care construiete n memorie i apoi afieaz o matrice A cu n linii
(numerotate de la 1 la n) i m coloane (numerotate de la 1 la m) cu proprietatea c fiecare
element Aij memoreaz cea mai mare dintre valorile indicilor i i j (1in, 1jm).
Matricea se va afia pe ecran, cte o linie a matricei pe cte o linie a ecranului, elementele
fiecrei linii fiind separate prin cte un spaiu.
Exemplu: pentru n=4 i m=5 se va afia matricea alturat.
1 2 3 4 5
2 2 3 4 5
3 3 3 4 5
4 4 4 4 5
22. Scriei un program care citete de la tastatur un numr natural n (2<n<20),
construiete n memorie i afieaz pe ecran o matrice cu n linii i n coloane, n care
fiecare element de pe diagonala secundar are valoarea n, fiecare element aflat deasupra
diagonalei secundare este mai mic cu o unitate dect vecinul aflat pe aceeai linie n
dreapta lui i fiecare element aflat sub diagonala secundar este mai mare cu o unitate
dect vecinul aflat pe aceeai linie n stnga lui.
Elementele matricei vor fi afiate pe ecran, cte o linie a matricei pe
cte o linie a ecranului cu cte un spaiu ntre elementele fiecrei linii.
Exemplu: pentru n=5 se va afia matricea alturat.
1 2 3 4 5
2 3 4 5 6
3 4 5 6 7
4 5 6 7 8
5 6 7 8 9
23. Scriei un program care citete de la tastatur un ir de cel mult 50 de caractere (litere mici i
mari ale alfabetului englez, cifre i spaii), determin i afieaz pe ecran cte litere mari, cte
litere mici i cte caractere nu sunt litere n irul citit.
Exemplu: dac se citete irul: Voi lua 9 la matematica si 10 la informatica atunci se va afia:
1 32 11.
24. Scriei programul PASCAL care citete de la tastatur un numr natural n (1n10), apoi
n*n numere ntregi, mai mici dect 32000, reprezentnd elementele unui tablou bidimensional cu
n linii i n coloane, i care determin i afieaz pe ecran ultima cifr a produsului numerelor
pare de pe diagonala principal a tabloului sau mesajul imposibil dac nu exist numere pare.
25. Scriei un program care citete de la tastatur numerele ntregi m i n (150, 1n50) i
elementele unui tablou bidimensional cu m linii i n coloane, numere ntregi distincte de cel mult
4 cifre fiecare, i elimin din tablou, la nivelul memoriei, linia i coloana corespunztoare
elementului de valoare minim. Programul va afia tabloul obinut pe ecran pe m-1 linii,
elementele fiecrei linii fiind separate prin cte un spaiu.
Exemplu: pentru m=3 i n=4 i tabloul de mai jos
2 7 1 4
14 6 12 3
9 22 8 5
Pe ecran se va afia:
14 6 3
9 22 5
26. Scriei un program care citete de la tastatur un ir avnd maximum 30 de caractere i
afieaz pe ecran mesajul DA n cazul n care irul conine numai litere i spaii,iar n caz contrar
afiez mesajul NU.
Exemplu: dac se citete de la tastatur irul:
Ana, Bogdan au 18 ani.
atunci programul va afia mesajul Nu.


27. Scriei un program care citete de la tastatur un text format din cel mult 200 de litere ale
alfabetului englez, n care cuvintele sunt separate printr-un singur spaiu i afieaz pe ecran
numrul de cuvinte din textul citit, care au prima, respectiv ultima liter, vocal. n cazul n care
n text nu exist un astfel de cuvnt, se va afia pe ecran mesajul NU EXISTA. Se consider
vocal orice liter din mulimea {a,A,e,E,i,I,o,O,u,U}.
Exemplu: dac textul introdus este:
Eratostene a sugerat ca anii bisecti se repeta la fiecare patru ani
pe ecran se va afia :
28. Scriei un program care citete de la tastatur un numr natural n (2<n<10) i care
construiete n memorie i afieaz pe ecran un tablou bidimensional cu n linii i n coloane astfel
nct parcurgndu-l linie cu linie de sus n jos i fiecare linie de la stnga la dreapta se obin
primele n2 numere pare nenule n ordine strict cresctoare, ca n exemplu. Exemplu: pentru n=4,
se construiete i se afieaz tabloul alturat.
2 4 6 8
10 12 14 16
18 20 22 24
26 28 30 32
4
29. Scriei un program care citete de la tastatur o fraz de maximum 255 de caractere (litere
mari ale alfabetului englez i spaii), ale crei cuvinte sunt desprite prin cte un spaiu i
afieaz pe primul rnd al ecranului numrul total al cuvintelor din fraz, iar pe rndul urmtor
de ecran, n ordine alfabetic, scrise o singur dat, consoanele care au aprut n fraz (consoane
sunt toate literele alfabetului englez, mai puin A, E, I, O, U). Literele afiate sunt separate prin
cte un spaiu.
Exemplu: dac se citete fraza LA BACALAUREAT SUBIECTELE AU FOST USOARE
se va afia:
6
B C F L R S T
30. Scriei programul care citete de la tastatur dou valori naturale m i n (1<m, n<51) i
construiete n memorie i apoi afieaz o matrice cu m linii, numerotate de la 1 la m, i n
coloane, numerotate de la 1 la n; liniile matricei, dou cte dou, sunt completate alternativ
numai cu 0 sau numai cu 1, ca n exemplu. Astfel,
- elementele liniei 1 i 2 sunt egale cu 0;
- elementele liniei 3 i 4 sunt egale cu 1;
- elementele liniei 5 i 6 sunt egale cu 0; i aa mai departe.
Matricea astfel obinut se va afia pe ecran, cte o linie a matricei pe o linie a ecranului, cu cte
un spaiu ntre elementele fiecrei linii.
Exemplu: pentru m = 7 i n = 5 se va afia matricea alturat.
0 0 0 0 0
0 0 0 0 0
1 1 1 1 1
1 1 1 1 1
0 0 0 0 0
0 0 0 0 0
1 1 1 1 1
31. Scriei un program care citete de la tastur un numr natural n cu cel mult 8 cifre (n10) i
care creeaz fiierul text NR.TXT ce conine numrul n i toate prefixele nenule ale acestuia, pe
o singur linie, separate prin cte un spaiu, n ordine descresctoare a valorii lor.
Exemplu: pentru n=10305 fiierul NR.TXT va conine numerele:
10305 1030 103 10 1
32. Scriei programul care citete de la tastatur dou numere naturale nenule n i k (n100,
k100) i afieaz pe ecran, n ordine descresctoare, cei mai mici k multipli naturali nenuli ai
numrului n. Numerele afiate sunt separate prin cte un spaiu.
Exemplu: pentru n=6 i k=5 se afieaz 30 24 18 12 6.
33. Fiierul text bac.in conine pe prima linie un numr natural n (0<n<5000), iar pe a doua linie,
separate prin cte un spaiu, n numere naturale, formate din cel mult 4 cifre fiecare. Scriei un
program care determin i scrie n fiierul bac.out toate numerele de pe a doua linie a fiierului
care apar o singur dat pe aceast linie. Numerele determinate se vor afia n ordinea
cresctoare a valorilor lor, separate prin cte un spaiu.
Exemplu: dac pe prima linie a fiierului bac.in se afl 10, iar pe linia a doua se gsesc numerele
2 4548 568 4548 57 89 5974 2 89 32 atunci valorile cutate sunt 32 57
568 5974.
34. Scriei un program Pascal care citete de la tastatur un numr natural nenul n , (n<=100),
apoi un ir de n numere naturale distincte cu cel mult 4 cifre fiecare, i afieaz pe ecran irul i
cele n-1 iruri ce se pot obine prin permutrile circulare, ctre stnga, ale elementelor irului.
Fiecare ir se afieaz pe cte o linie, elementele irului fiind separate prin cte un spaiu.
Exemplu: dac n=4 , iar irul are coninutul alturat 10 20 30 49, atunci se
vor afia irurile:
10 20 30 49
20 30 49 10
30 49 10 20
49 10 20 30
35. Scrieti programul Pascal /C++ care construieste in memorie o matrice patratica de
dimensiune n, formata numai din valori 1 si 2 astfel: elementele de pe diagonala principala cat si
cele de pe diagonala secundara sa fie egale cu 1, iar restul elementelor sa fie egale cu 2. Valoarea
lui n (n numar natural, 2<n<23) se citeste de la tastatura iar matricea se va afisa pe ecran cate o
linie a matricei pe cate o linie a ecranului cu un spatiu intre elementele fiecarei linii.

Exemplu: n=4 1 2 2 1
2 1 1 2
2 1 1 2
1 2 2 1
36. Scrieti un program care citeste de la tastatura un cuvant format din cel mult 20 de litere mici
ale alfabetului englez si care afiseaza mesajul DA daca sirul e format dintr-un numar egal de
consoane si vocale si respectiv NU in caz contrar.
Exemplu: bacalaureat: 6 vocale, 5 consoane NU

37. Se citesc de la tastatura 2 valori, numere naturale, m si n (n,m 100) si apoi mn numere
intregi mai mici decat 32.000 reprezentand elementele unei matrici cu m linii si n coloane. Sa se
afiseze in bac.out valorile maxime de pe fiecare linie despartite printru-un spatiu.

Exemplu: m=3, n=5
bac.out:
1 9 3 4 7
9 6 12 5 10 9 12 7
5 2 7 1 3
38. . Scriei un program Pascal care citete de la tastatur dou numere naturale nenule n i m
(2m10, 2n10) i care construiete n memorie i apoi afieaz o matrice A cu n linii
(numerotate de la 1 la n) i m coloane (numerotate de la 1 la m) cu proprietatea c fiecare
element Aij memoreaz cea mai mic dintre valorile indicilor i i j (1in, 1jm).
Matricea se va afia pe ecran, cte o linie a matricei pe cte o linie a ecranului, elementele
fiecrei linii fiind separate prin cte un spaiu.
Exemplu: pentru n=4 i m=5 se va afia matricea alturat.
1 1 1 1 1
1 2 2 2 2
1 2 3 3 3
1 2 3 4 4
39. Scriei un program Pascal care citete de la tastatur un numr natural nenul x si n numere
intregi i care afieaz pe ecran, separate prin cte un spaiu, toate numerele care sunt divizibile
cu X. Dac nu exista nici un astfel de numr, atunci se va afia pe ecran mesajul NU EXISTA.
Exemplu: dac x=10, n=9 si numerele: 3 100 40 70 25 5 80 6 3798,
atunci pe ecran se va afia: 100 40 70 80
40. Scriei un program Pascal care citete de la tastatur un numr natural n (2n24) i
construiete n memorie o matrice cu n linii i n coloane ale crei elemente vor primi valori dup
cum urmeaz:
- elementele aflate pe diagonala principal a matricei vor primi valoarea 0
- restul elementelor primesc ca valoare numarul liniei pe care se afla
Programul va afia matricea astfel construit pe ecran, cte o linie a matricei pe cte o linie a
ecranului, cu cte un spaiu ntre elementele fiecrei linii (ca n exemplu).
Exemplu: pentru n=4 se va afia matricea alturat.
0 1 1 1
2 0 2 2
3 3 0 3
4 4 4 0

S-ar putea să vă placă și