-
!" Se consideriimsrechi de liniii{mrente ale luco&oand
.WvmPlu:mcotru n=3, rP[p, matricea A :t6 ' l621474l3 5
Toole celelaltem'notonie.
I lvar I2 | a:arraY[1";;- r ln,r , i , j ,4r I nt,ok:bo{S lbegtn
I6 | readln (o,{? | nr :=o;C I for i :=t {9 l tor j :=11fOl for
1:=1 t.1'1 [ for i: =]l:M I mt: =a Iln"13l ok:=tru1r I for j :=f f
l t r (a[16 I ol(:
l rz[ i r ok tlLla I end;I l l I wr i te lntrllzo lcna.
3. Se considerl
g5511;vn=4,m=4S matricea A:$679:14591781)37
$ntorizandu-se
i l r1Er lL. " 10, 1 ' . 101of, byte;to"n i r : - - :eger;
rdlhulEr ;65' r :=L to (n+1)div 2 do
fu f :== Co n-r+1 do baginatr , : l :=t i a ln-r+l , j l :=r
;
d;:6" i ;==-1- !o n-r do begin
alr , , r - :=r i a I i , n-r+1] : =r ;d,;
d;
a) Care vor fi elementele tabloului Apentru t? = 4?b)
Determinati o valoare a lui n astfelinc6t elementele pe linii sd
formezegiruri monoton crescAtoare saudescrescf,toare?c) Modifica{i
instrucfiunea de atribuirede pe linia 5 astfel incAt,
completdndelenrentele dupi aceeagi regulf,, cea maimici valoare din
matrice s[ fie 0.d) Realiza{i programul in limbajul deprogramare
studiat Pascal/C/C++.
#include gned char a[10] [10j ;
j .nt n,L, j , r ;main0 i
c in>>n, 'for ( r=l- , ' r
-
iui A
rstfel
buireetAnda mai
ul de
ul vade
2' Se considerd un tablou bidimensional cu n linii qi ru
coloane. Sd se determine numdrul deperechi de linii monotone. Doud
linii se numesc monotone dacd oricare pereche deelemente ale lor
situate pe aceeagi coloand respecta monotonia elementelor dL pe
primacoloand.Exemplu: se va afiga :Pentru n=3, nt=4 IgimatriceaA i
Linii le I gi 3 formeazi o pereche de l inii867 6 monorone.21 47423
5
Solutie: Algoritmul testeazi pentru orice pereche de doui linii
dacd sunt monotone. pentruaceasta se memoreazl ?n variabila nxt
relatia de monotonie dintre primele doud elemente.Toate celelalte
m-l perechi de elemente de pe cele doud linii irebuie sd aib6
aceeasimonotonie.
I lvar2' l a:arrayt i - . . 10, 1. .10lof byre;3 l r r , I , i ,
j , nr , m: integer, .4 | mt, ok:boo1ean,.5 lbegtn5 | readln(n,m);7
| nr : .=0;8 | for i :=1 t 'o n do9 | for j :=L !o m do read(at i ,
j l ) ;101 Eor 1:=L to n-1 do11 | for i : =1+1 to n do begin121
mt:=a[1,1]>n>>m,. na=Q,.for ( i=0; iat i l t j I ;for
(1=0,. 1+1
-
1 lvrr2 | a:arrayt1. .10,1 ' .10lof byte;3 | n, L, L, j ,nr
,m'max, c 'x,Y,t :byte;4 lbegtn5 I readLn(n,m;; max:=0, 'e I for i
:=L to n do7 | f ,or j :=L to m do read(al i , j l ) ;8 | for i :=1
tso n-1 do9 | for j := i+l to n do begi .nLO I nr : =0;L7l for c:=1
to m doL2l for E:=1 to m do13 | t f , at i ,c l=6[ j , t ) t t rgr
inc(nr) ;141 if nr>max ehen begln151 max:=nr i x:=a; Y:=f i
| 16 | cnd,'I tz I end;| 1A I wr i te ln(x, ' ' ,Y) ; end.
#include lnt at10l t10l ,n, 1, i , j ,nr ,m,max,C, x, Y, t ,
'vol.d main O t
c in>>n>>m;max=0;for ( i=0; i>a t i1 t j 1 ;for (
i=0; i+1
-
lax,
I
I t i I .
Ii
I
5. Fie un tablou bidimensional de n linii gi m coloane. SI se
gteargd toate liniile care incepcu un element ce se regdsegte pe
prima linie. Valorile elementelor sunt naturale mai micidecAt
1000,Exemplu: Pentru n=4, m=45i matricea A :867 97145927 8423 7
Solutie: Algoritmul folosegte un vector suplimentar s cu indici
mai mici ca 1000, ale cdruielemente sunt 0 sau 1. Astfel, s[i]=l
dacd valoarea i se glsegte pe prima linie in matrice.gtergerea unei
linii r se face prin deplasarea tuturor liniilor x+1,.,.n cu o
pozilie mai sus.Valoarea variabilei i care indicd linia curentd ln
prelucrare, se incrementeazd cu o unitate,numai dacd linia
respectivd nu a fost gtears[. Fiecare opera{ie de gtergere este
inso}it[ de odecrementare a numdrul de linii a tab-loului.
se va afiga :86794237
sevaaf iga:8888145899999852
Il r++;Di,
I
I
[te ofri cuI
1 -lvar2 | a:array[ ] . . .10,1. .101of bYte;3,1 s:arr tyt0. .
10001of byt ,e;4 | n,L, L, j ,nr ,m: integer, '5 lbcstn5 |
readln(n,m) ;7 | f ,or i :=1 to n doS I for j :=1 tso m do read(al
i , j l )9, , ' l for i :=1 !omdo sla[1, i ] l :=L;70 | i t=2;lJ I
whtlc i>n>>m,'I for ( i=0; iat i l t j l ;
; l tor ( i=0, ' i
-
Fiecare operalie de inserare este insoliti de o incrementare a
numdrul de linii a tabloului.
#include char atL0l tL0l ;
ints ok,w,n, 1, i , j ,m, c,v, 'main0 {
cin>>n>>m,'for ( i=0 ,. icn, ' i++ )
for ( j=0; jcm;j++)cin>>at i l t j l ;
. i -n.
whi le ( ia t i l t j I ;
Solutie: Algoritmul liniarizeazd matricea folosind vectorul
auxiliar v. Astfel, oricareelement al tabloului bidimensional a[ll]
se va regAsi ln vector pe pozilia (i-l)*m+j.
108
I for i :=I for j :I vt ( iI for i :=I x: =vl l
I v l i l :I vtm*lI cnd;I for i :=I for j :I at i ,I for i : .I
writelI for j :I end;lend.
Realizati unrEspective pot
afiga baza mini
Exemplu:Petgi matriceaA:t23101789
glulie: inelementuldecAt acesta-
1 lvar2 I a:arn3 | n,b, i ,I ,lbegtas I readbel for i :7 l for
j8 l for i :9 | b:=al10 | nr :=l111 for l121 t f t13 I inc (t141
for l15| nr16 | writt17t cnd;18lcnd.
-
Exemplu: Penffu n=3, m=3gi matricea A:r23101789
for ( i=0 ; i
-
g. La un concurs de patinaj ce con{ine '|| probe, participa n
sportivi id.entificati
prin numerede la I la n (n,m
-
[mereI celeri, in
2.Seconsideriuntabloubidimensionalcunl ini ig incoloane.cecont
inenumerenaturale.Realizatiunprogram.ur.a.trr,r,in6elementulru*i*depediagonalaprincipalf,amatriceigi
linia pe care acesta este situat'
3.ScrieliunprogramcarecompleteazdelementeteunuitabloupItraticdeordinnastfel:-
elementele diagonalei principale sunt egale cu 0;- elementele
situate sub iiagonala principald sunt egale cu I
elementele situate deasupi diagonalei principale sunt egale cu
2
Exemplu: Pentru n=3 se va afiga:022r02r10
4. Se considerl dou6 tablouri bidimensionale de dimensiuni
identice (n'trn)' S[ se afigeze
transpusa matricei ,orni.-i.unrpusa unei matrice se obline prin
schimbarea liniilor cu
;
rul dercdtor
i=1;
,use
rale.Fr de
24r353 160 157 630
coloanele.Exemplu: Pentru n=3,233449
m=2;i tablourile:561100
Se va afipa:7 44959
5.Real iza{ iunprogramcaredetermin[numlrul l in
ieicucelemaimulteelementepare,alunei matrice p6tratice o. Ji*.nriun
e n n. DacA iiistl mai multe
linii cu num6r maxim de
elemente pare se va afiga una singur6'";;;;;i;,';;;tru
n=3 eimatriceal I se va afiea2'r2 r304150678900
r r 115
3 150678900
6. Se considerd un tablou bidimensional cu n linii gi n coloane'
Realizali un program care
identificd linia cu ..f, *ii .uii. .it*.n,. divizibile cu primul
element situat pe ea'
i""rrptrrPentru n=3,nx=3 9i matricea: I se va aft$2'
7. Realizali un program care determina cel mai mare divizor
comun al elementelor situate
pe fiecare coloand, a unei matrici pdtratice'
I"-:-^:::;:.:;-:;., *r qi marricea: I se va afiga I 2
15'Exemplu;Pentru n=3 $i matricea:
g. Realizali un program care ordoneaz[ crescf,tor doar
elementele pare' situate pe liniile cu
""tat at ordine pi, ut unui tablou bidimensional cu n linii 9i
rn coloane'
'[i*pt"tPentrulr=3' m=4gimatricea:
I ;t;l;i"24t32 l ' ,241612 161122416?30z \ \6?302
111
-
9. Realizali un program care ordoneazd descrescf,tor elementele
de pe prima linie a unuitablou bidimensional numai prin operalia de
interschimbare a coloanelor.
10. Realizali un program care permut[ circularliniite unui
tablou bidimensional cu n linii 9ila coloane, cu o pozilie mai
sus:
Exemplu: Pentru n=3, m=4 9i matricea:24r32316013167 302
Exemplu: Pentru n=3, m=4 9i matricea:24 t32316013167 302
se va afigat3 42260r313307 162
se va afiga3r6013t67 30224 t32
sevaaf igaL2 1e+5)
11. Se consider6 un tablou bidimensional pitratic cu n linii. Sd
se determine c.m.m.d.c alvalorilor ce reprezintd suma elementelor
de-sub diagonala principald 9i suma elementelor dedeasupra
diagonalei princiPale.Exemplu: Pentru n:3 9i matricea:160916991
se va afiga 3
12. Se considerd un tablou bidimensional pdtratic cu n linii. Si
se determine elementelecare sunt situate pe linii qi coloane de
sum6 egal[. Un element a[ii] va fi afi;at dacd sumape linia i este
egal6 cu suma pe coloanaj.13. Se considerf, un tablou bidimensional
pltratic cu n linii. Sd se determine toateelementele ce reprezinti
puncte 'ga'(element minim pe linie 9i maxim pe coloana pe careeste
situat).14. Se considerl o matrice pitraticd de n linii. S[ se
afiqeze suma elementelor situate pecele doud diagonale alf,turate
celei principale.Exemplu: Pentru n:4 9i
matricea:1-2342r2332'J-24321
15. SI se afigeze toate elementele dintr-o matrice de n linii 9i
m coloane care au to$ veclnllnumere pu.". El"."ntele vecine lui
n[ii] sunt a[i-li/, alii-l], a[i+ll] 9i a[i,1i1], daciexistd.
16. Se considerf, o matrice pdtratic[ de n linii. S[ se gteargi
toate liniile din tablou careincep cu un num[r divizibil cu l0'17,
S[ se determine elementul cu numtrr maxim de aparilii al unui
tablou bidimensional cun linii gi rn coloane.Exemplu: Pentru n=3,
m=4 9i matricea:24 13234604t6 430 4
se va afiga ' 4 apare de 5 ori '
18. SI se
Exemplu:243346143
coloane cuExemplu:'A' , 'B' , 'C' ;
Exemplu:
elementeExemplu:' r 63144383666456
acesrc001 Il00ll l l00l0l0000
23. Secomponeteformi deExemplu:01110201032203 320 40304440
ttz
-
.c alnde
[elelma
18. Sd se determine mullimea format[ din elementele distincte de
pe marginea unui tabloubidimensional pdtratic.Exemplu: Pentru n=3
gi matricea:243346t43
sevaaf igal2346
19. Se considerli un vector de n*m caractere. Si se completeze o
matrice de n linii gi rrcoloane cu codurile ASCII asociate
caracterelor respective.
20. Realizali un program care afigeazl o matrice pltraticd de
ordin n ale clrei elemente suntnumerele de la 1 la n', completate
in ordine incepdnd cu prima linie.
Exemplu: Pentru n=3, m:4 qi vectorul'A ' r 'B ' r 'C'r 'D'r 'a '
, 'b ' r 'c ' r 'd ' r 'A ' , 'a ' , 'B ' , 'b '
se va afiga matricea:65 66 67 6897 98 99 10065 97 6698
: Pentru m=5,n:4 gi tabloul:se va afiga:391450
se va afiga:Suma(zl)=4Suma(22)=8Suma(23)=llSuma(24)=lf
Exemplu: Pentru n=3 se va afiga: se va afiga
matricea:123456189
21. Se considertr un tablou bidimensional cu n linii gi n
coloane (1
- 2{.Seconsideraunmbloubidimensionalcunl in i ig
inrcoloane(1
-
31. Realizali un program care completeazd elementele unui tablou
bidimensional A(n,nt) cuvalori consecutive pi linii, incepdnd de la
numdrul de ordine al liniei respective'Exemplu: Pentru n=3 gi m=4
elementele tabloului A vor fi :t23 423453456
32. Se consider[ o matrice A(n,m) ce contine numere intregi.
Ordonali crescdtor elementele
luanafutte
istdlinia
telor
pare situate pe ultima coloan[, prin interschimbdri de
linii.-Exempluz Pentru n=3, m=4 9i matricea A : I se va afiga :1234
| 34522345 123453452 | t23433. Fie un tablou bidimensional A(n,n).
Realizali un prognm care inverseazd elementele depe liniile care
lncep cu un numf,r prim.Exemplu; Pentru n=3, m=4 9i matricea A :42
3723453452
34. Determinafi numerele de ordine alecontin cele mai multe
valori palindrom.Exemplu: Pentru n=3, m=4 9i matricea A:r r 2t 33
43223 4t4 52324 5352
liniilor unui tablou bidimensional AQt,nt) carc
Prmantele
se va afiga :423 75 43225 43
se va afiga :23
se va afiga ;2 4W65 5r2
35. Fie un tabtou bidimensional cu n linii 9i n coloane cu
elemente numere naturale maimici decst 10000. Un element din tablou
are ca vecini, elementele situate in imediatavecinltate pe
vertical[ Pi orizontal[. S[ se identifice dou[ elemente din matrice
care auproprietatea cd produsul vecinilor lor reprezintb cele mai
mari doud valori ce se pot obline'Pentru fiecare element determinat
se vaafi9a valoarea acestuia 9i a produsului
elementelorvecine.Exemplu: Pentru n=4, m=4 9i
tabloul:0858828538300262
36. Fie un tablou bidimensional pdtratic de ordin n cu elemente
naturale' Se considerd untraseu ce pleacl din matrice de pe linia r
9i coloana y. Direqia de migcare ne este datd de un
lir ie p caractere N, V, E, S care indicd direclia de deplasare.
Determinati suma elementelorsituate pe drum. Elementul de start
aparfine drumului'ExempiuzPentru n=4, m=4, x=3, y=i' p=6' I se va
afi$a 30 (8 +2+9+5+l+2+3)traseul N,N,E,S,V,V gitabloul : Ioess
I3215 r3830 I0262 I
115
-
37. Fie un tablou bidimensional pdtratic de ordin n. Consider[m
un traseu ce pleac[ dinmatrice de pe linia x 9i coloana y. Direc{ia
de migcare ne este indicati de un gir de pcaractere N, V, E, S care
reprezintd direclia de deplasare, Determinati elementele prin
cares-a trecut de cele mai multe ori. De la intrarea standard se va
prelua n, x, y, p gi traseulurmat. Pentru fiecare element din
solufie va afiga linia gi coloana pe care este situat.Exemplu:
Pentru n-4,)F3,y=2,p=8gi | 22traseul N, N, E, S, V, S, S, V | 3
238. Se considerd o tabld de gah cu n linii gi rz coloane, pe care
sunt plasate pioni. Pionii suntcodificati la citire prin valoarea
l. Regina adversl triUuie plasati intr-un punct al tableiastfel
incat pe cele doui diagonale pe care le atacf,, sd se afle cati m;i
mulli pioni.Determinali linia gi coloana pe care se va a$eza regina
gi numarul de pioni de pe diagonaleatacate.Exemplu: Pentru n=5,
m=4, tabloul : se va afiga 4 2 5 (linia 4, coloana 2, 5 pioni)I1000
101
0r00000r0
39. Fie un tablou bidimensional cu n linii gi rn coloane, cu
elemente intregi. Din punctul delinia x gi coloana y se poate
pArisi tabloul mergdnd numai pe orizontald sau verticali, darnumai
dacd elementul este a[.ry] este negativ. Pe traseul urmat nu
trebuie sd se intfilneascf,alt element negativ. Sd se determine
linia gi coloana de unde se poate pdrdsi matricea, astfelincdt suma
elementelor intdlnite pe traseu sd fie minimd. Afigali linia gi
coloana punctuluide start gi suma elementelor de pe drum.Exemplu:
Pentru n=4, nt=6 gi tabloul :50 60 90 50 60 6040 30 -9 -3 40
7040-1-8 5 2 I80 80 80 80 90 20
se va afiga 3 3 8 (linia 3, coloana 3, suma 8)
fl Figiere text
2.3.1 Teste cu alesere multiold si duald1. Care dintre
urm[toarele variante ,"u1i2sszd deschiderea la citire a figierului
text'A.TXT'a)reset( f ) , .assign(f , ,A. t .xt , )b) assign ( f ,
'A. txt ' ) ; rewri te ( f )c) assign ( f , 'A. txt ' ) r reset (A.
txt)d)assign(f , ,A. txt , ) , . reset( f )
a) rewri te ( f ) ;assign ( f , , B. txt , )b) assign(f , 'B.
txt , ) , . rewri te( f ) ;c) assign ( f , 'B. lx t ' ) ; rewri te
(B), .d)assign(f , B. txt ) , . rewri te( f ) ;
a) f =fopen ( t 'A. txt" , "w" ) ;b) f=fopen ( " f " , "A. txt"
) , .c ) f=fopen ( "A. txt " , r ) ;d) f=fopen( "A, txt" , " r" )
;
a) f=fopen( "B. txt" , " r" ) ib) f=fopen ( "8. txt" , "w" ) ;c)
f=fopen("w", "B.txt" ) , .d) f=fopen ( " B. txt " , w) ;
2. Care dintre urmdtoarele variante realizeazl deschiderea la
scriere a figierului text,B.TXT'
116