Documente Academic
Documente Profesional
Documente Cultură
1.Scriei un program PASCAL/C/C++ 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.
11111
12222
12333
12344
Type matrice=array[1..50,1..50]
Var a : matrice ;
I, m,n,j :integer ;
Read(n,m) ;
For i :=1 to n do
For j :=1 to m do
If i<j then a[i,j] :=i ;
Else a[i,j] :=j ;
For i :=1 to n do
For j :=1 to m do
Write(a[i,j], ) ;
Writeln ;
End.
2.Scriei un program Pascal care citete de la tastatur un cuvnt format din cel mult 20 de caractere,
doar litere ale alfabetului englez. Programul determin transformarea cuvntului citit prin eliminarea
fiecrei litere mici a cuvntului, restul literelor nemodificndu-se, ca n exemplu. Programul afieaz
pe ecran cuvntul obinut. n cazul n care cuvntul citit conine numai litere mici, programul va afia
mesajul CUVANT VID. Exemple:
- dac se citete cuvntul: baCALaUreaT se va afia pe ecran: CALUT
- dac se citete cuvntul: vara se va afia pe ecran: CUVANT VID
var s:string[20];
i:integer;
begin
readln(s);
i:=1;
while i<=length(s) do
if s[i] in [a..z] then delete(s,1,i);
else i:=i+1;
n:= n-1;
end;
if s[i]= then write(cuvant vid);
else write(s);
end.
3.Scriei un program PASCAL/C/C++ 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
Type matrice=array[1..50,1..50] ;
Var a :matrice ;
I,j,n :integer ;
Begin
Readln(n) ;
For i :=1 to n do
For j :=1 to n do
If i=j then a[i,j] :=0
Else a[j,i] :=n-i+1 ;
For i :=1 to n do
Begin
For j :=1 to n do
Write( a[i,j], ) ;
Writeln ;
End ;
End.
9. Se consider tabloul bidimensional cu n linii i n coloane ce conine numere naturale cu cel mult
patru cifre fiecare. Scriei programul PASCAL/C/C++ care citete de la tastatur numrul natural n
(2n23) i cele n*n elemente ale tabloului i apoi afieaz pe ecran elementele primului ptrat
concentric, separate prin cte un spaiu. Ptratul este parcurs n sensul acelor de ceasornic ncepnd
din colul su stnga-sus, ca n exemplu. Primul ptrat concentric este format din prima i ultima linie,
prima i ultima coloan a tabloului.
Exemplu: pentru n=5 i tabloul alturat
12345
67891
23456
78912
34567
se va afia: 1 2 3 4 5 1 6 2 7 6 5 4 3 7 2 6
Type matrice=array[1..100,1..100] of integer ;
Var a :matrice ;
Begin
Read(n) ;
For i :=1 to n do
For j :=1 to n do
11.Scriei un program PASCAL/C/C++ care citete de la tastatur dou valori naturale nenule m i n
(m10, n10) i apoi un numr de m*n numere naturale nenule cu cel mult 4 cifre fiecare,
reprezentnd elementele unei matrice cu m linii i n coloane. Programul determin apoi valorile
minime de pe fiecare linie a matricei i le afieaz pe o linie a ecranului separate prin cte un spaiu.
12 9 10
5 13
4
2
7
3
12.Scriei un program Pascal care citete de la tastatur un numr natural n (2<n<25) i apoi
construiete n memorie o matrice cu n linii i n coloane, numerotate de la 1 la n, ale crei elemente
primesc valori dup cum urmeaz: elementul din linia i i coloana j primete ca valoare ultima cifr a
produsului i*j (1in i 1jn).
Programul va afia matricea astfel construit 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 se va afia matricea alturat.
1234
2468
3692
4826
Type matrice=array[1..100,1..100] of integer ;
Var a:matrice:
I,j,n:integer;
Begin
Read(n);
For i:=1 to n do
For j:=1 to n do
A[I,j]:=i*j mod 10
For i:=1 to n do begin
For j:=1 to n do
Write(a[I,j]. );
Writeln;
End;
End.
14. Scriei un program PASCAL/C/C++ care citete de la tastatur un numr natural nenul cu exact 4
cifre, construiete n memorie i afieaz apoi pe ecran o matrice avnd 4 linii i 4 coloane, completat
astfel: elementele de pe prima coloan a matricei vor fi toate egale cu cifra unitilor numrului dat,
elementele de pe a doua coloan a matricei vor fi toate egale cu cifra zecilor numrului dat, elementele
de pe a treia coloan a matricei vor fi toate egale cu cifra sutelor numrului dat, iar elementele de pe a
patra coloan a matricei vor fi toate egale cu cifra miilor numrului dat.
Matricea va fi afiat pe ecran, cte o linie a matricei pe cte o linie a ecranului, iar elementele fiecrei
linii vor fi separate prin cte un spaiu.
Exemplu: dac se citete numrul 1359, matricea construit va fi cea alturat.
15. Scriei un program PASCAL/C/C++ care citete de la tastatur un numr natural cu exact 5 cifre
i construiete n memorie o matrice cu 5 linii i 5 coloane, numerotate de la 1 la 5, format astfel:
- elementele de pe linia 1, au toate valoarea egal cu cifra unitilor numrului citit;
- elementele de pe linia 2, au toate valoarea egal cu cifra zecilor numrului citit;
- elementele de pe linia 3, au toate valoarea egal cu cifra sutelor;
- elementele de pe linia 4, au toate valoarea egal cu cifra miilor;
- elementele de pe linia 5, au toate valoarea egal cu cifra zecilor de mii.
Programul afieaz pe ecran matricea astfel construit, cte o linie a matricei pe cte o linie a
ecranului, elementele de pe aceeai linie fiind separate prin cte un spaiu.
Exemplu: dac se citete numrul 28731 matricea construit va fi cea alturat.
11111
33333
77777
88888
22222
Type matrice=array[1..100,1..100] of integer ;
Var a:matrice:
I,j,n:integer;
Begin
Read(n);
For i:=1 to 5 do begin
For j:=1 to 5 do
A[I,j]:=n mod 10;
N:= n div 10;
End;
For i:=1 to 5 do begin
For j:=1 to 5 do
Write(a[I,j], );
Writeln;
End;
End.
16. Scriei un program PASCAL/C/C++ care citete de la tastatur un numr natural n (2<n<16),
construiete n memorie i afieaz pe ecran o matrice cu n linii i n coloane, n care elementele de pe
cele dou diagonale sunt egale cu 4, iar restul elementelor sunt egale cu 3. 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.
43334
34343
33433
34343
43334
Type matrice=array[1..100,1..100] of integer ;
Var a :matrice ; I ,j,n :integer ;
Begin
Read(n);
For i :=1 to n do
19. Scriei un program PASCAL/C/C++ 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, numerotate de la 1 la n,
n care fiecare element aflat pe o coloana impar este egal cu suma dintre numrul liniei i numrul
coloanei pe care se afl i fiecare element aflat pe o coloan par este egal cu numrul liniei pe care se
afl.
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.
21416
32527
43638
54749
6 5 8 5 10
Type matrice=array[1..100,1..100] of integer ;
Var a :matrice ;
I ,j,n :integer ;
Begin
Read(n) ;
For i :=1 to n do
For j :=1 to n do
If j mod 2=1 then a[I,j]:=i+j
Else a[I,j]:=i;
For i :=1 to n do
Begin
For j:=1 to n do
Write(a[i,j], ) ;
20. Scriei un program PASCAL/C/C++ care citete de la tastatur un numr natural n (2<n<10),
construiete n memorie i afieaz pe ecran o matrice cu n linii i n coloane, numerotate de la 1 la n,
n care fiecare element aflat pe prima linie sau pe prima coloan din matrice este egal cu suma dintre
numrul liniei i numrul coloanei pe care se afl, iar fiecare dintre celelalte elemente este egal cu
suma dintre elementul vecin aflat pe aceeai linie cu el, dar pe coloana din stnga sa i elementul vecin
aflat pe aceeai coloan cu el, dar pe linia de deasupra sa.
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 obine matricea alturat.
2 3 4
5
6
3 6 10 15 21
4 10 20 35 56
5 15 35 70 126
6 21 56 126 252
Type matrice=array[1..100,1..100] of integer ;
Var a :matrice ;
I ,j,n :integer ;
Begin
Read(n) ;
For i :=1 to n do
For j :=1 to n do
If (i-1) and (j-1) then a[I,j]:=i+j
Else a[I,j]:=a[I,j-1]+a[i-1,j];
For i :=1 to n do
Begin
For j:=1 to n do
Write(a[i,j], ) ;
Writeln ;
End ;
End.
21. Se consider un text alctuit din cel mult 250 de caractere, n care cuvintele sunt formate doar din
litere mici ale alfabetului englez i sunt separate prin unul sau mai multe caractere *. Scriei un
program PASCAL/C/C++ care citete de la tastatur textul i afieaz pe ecran, pe cte o linie, toate
secvenele formate din cte dou litere identice, ca n exemplu.
Exemplu: dac textul citit este:
se afieaz perechile alturate.
ii
ii
oo
22. Scriei un program PASCAL/C/C++ care citete de la tastatur numerele naturale m i n din
intervalul [1,20], apoi construiete n memorie i afieaz pe ecran un tablou bidimensional cu m linii
i n coloane astfel nct prin parcurgerea acestuia linie cu linie de sus n jos i fiecare linie de la stnga
la dreapta, se obin n ordine descresctoare toate numerele naturale de la 1 la m*n, ca n exemplu.
Fiecare linie a tabloului este afiat pe cte o linie a ecranului, elementele aceleiai linii fiind separate
prin cte un spaiu.
Exemplu: pentru m=4 i n=3 se va construi i afia tabloul alturat.
121110
987
654
321
Type matrice=array[1..50,1..50] of integer ;
Var a :matrice ;
I ,j,n ,m,s:integer ;
Begin
Read(n,m) ; s:=m*n;
For i :=1 to m do
For j :=1 to n do begin
A[I,j]:=s;
S:=s-1;
End;
For i :=1 to m do
Begin
For j:=1 to n do
Write(a[i,j], ) ;
Writeln ;
End ;
End.
23. Un tablou bidimensional A cu m linii i n coloane (1m100, 1n100) conine pe prima linie
numerele 1,2,...,n, iar pe prima coloan numerele 1,2,...,m. Celelalte elemente ale tabloului sunt date
de relaia: A[i][j]=A[i-1][j]+A[i][j-1]. Scriei un program PASCAL/C/C++ care citete de la tastatur
numerele m i n i afieaz pe ecran elementul de pe ultima linie i ultima coloan a tabloului.
Exemplu: pentru m=3 i n=4 se va afia 5 deoarece elementele tabloului A sunt:
1 2 3 4
24711
371425
Type matrice=array[1..50,1..50] of integer ;
Var a :matrice ;
I ,j,n ,m,:integer ;
Begin
Read(n,m) ;
24. Scriei un program PASCAL/C/C++ care citete de la tastatur dou iruri de caractere formate
din maximum 100 litere mici ale alfabetului englez i afieaz pe ecran cel mai lung sufix comun al
celor dou iruri de caractere. Dac cele dou iruri nu au niciun sufix comun, atunci programul va
afia pe ecran mesajul NU EXIST.
Exemplu: pentru irurile marina i elena se va afia na
Var t,s,p:string[100];
ok:boolean;
i,j:integer;
begin
readln(s);
readln(t);
p:=; ok:=true;
while (i>=1) and (j>=1) and (ok=true) do begin
if s[i]=t[i] then p:=p+s[i]
else ok:=false;
i:=i-1; j:=j-1;
end;
if p= then write(nu exista)
else for i:=lenght(p) downto 1 do
write(p[i]);
end.
25.Se consider un tablou bidimensional cu m linii i n coloane (1m100,1n100), ale crui
elemente aparin mulimii {0,1,2}. Scriei un program PASCAL/C/C++ citete de la tastatur valorile
m, n i elementele tabloului i care afieaz pe ecran numerele de ordine ale coloanelor pentru care
produsul elementelor situate pe ele, este maxim. Liniile i coloanele tabloului se numeroteaz de la 1
la m respectiv de la 1 la n. Numerele se vor afia separate prin cte un spaiu.
Exemplu: pentru m=4 i n=4 i tabloul alturat
2110
1111
2221
1211
se va afia, nu neaprat n aceast ordine: 12
26. Scriei un program PASCAL/C/C++ care citete de la tastatur un numr natural n (2<=n<=9) i
elementele unui tablou bidimensional A cu n linii i n coloane, care memoreaz numere naturale mai
27. Scriei un program PASCAL/C/C++ care citete de la tastatur un numr natural n (2<n<=10) i
construiete n memorie o matrice A cu n linii i n coloane n care toate elementele de pe prima linie,
prima i ultima coloan au valoarea 1 i oricare alt element Aij din matrice este egal cu suma a 3
elemente situate pe linia i-1: primul aflat pe coloana j-1, al doilea pe coloana j, iar al treilea pe coloana
j+1, ca n exemplu. Matricea va fi
afiat pe ecran, linie cu linie, numerele de pe aceeai linie fiind separate prin cte un spaiu.
Exemplu: pentru n=5 , se afieaz matricea alturat.
28. irul de caractere s2 este clona irului de caractere s1 dac se poate obine din s1 prin
eliminarea tuturor apariiilor unei singure vocale. Se consider vocal orice liter din
mulimea {a,e,i,o,u}. Scriei programul Pascal care citete de la tastatur un cuvnt format din
cel mult 20 litere mici ale alfabetului englez i afieaz pe ecran (dac exist), toate clonele
acestui cuvnt,
fiecare pe cte o linie a ecranului.
Exemplu: pentru cuvntul informatica se afieaz, nu neaprat n aceast ordine, clonele
scrise mai jos:
nformatca
infrmatica
informtic
29. Un tablou bidimensional A cu n linii i m coloane (1m100, 1n100) conine pe prima linie
numerele 1,2,...,m, iar pe prima coloan numerele 1,2,...,n. Celelalte elemente ale tabloului sunt date
de relaia: A[i][j]=A[i-1][j]+A[i][j-1]. Scriei un program PASCAL/C/C++ care citete de la tastatur
numerele m i n i afieaz pe ecran elementul de pe ultima linie i ultima coloan a tabloului.
Exemplu: pentru n=3 i m=4 se va afia 5 deoarece elementele tabloului A sunt:
1 2 3 4
24711
371425
30. Scriei un program Pascal care citete de la tastatur un numr natural n (2<n<=15) i
construiete n memorie o matrice A cu n linii i n coloane n care orice element aflat pe prima
linie sau pe primacoloan are valoarea 1 i oricare alt element Aij din matrice este egal cu
suma a dou elemente din matrice, primul aflat pe linia i i pe coloana j-1 iar cel de-al doilea
pe coloana j i pe linia i-1. Matricea va fi afiat pe ecran, linie cu linie, numerele de pe
aceeai linie fiind separate prin cte un spaiu.