Sunteți pe pagina 1din 4

Probleme propuse de rezolvat la liste

Problema1
Fie ca se da n:integer. De creat o lista simplu inlantuita cu n
elemente- numere intregi in forma de coada.
1. de citit n
2. de creat o lista cu n-elemente
3. de scris elementele listei
4. de aflat numarul maxim, numarul minim, suma elementelor din
lista
5. de afisat elementele listei in ordine inversa

Problema2
Fie ca se da n:integer. De creat o lista simplu inlantuita cu n
elemente- numere intregi in forma de stiva.
1. de citit n
2. de creat o lista cu n-elemente
3. de scris elementele listei
4. de aflat numarul maxim, numarul minim, suma elementelor din
lista
5. de afisat elementele listei in ordine inversa

Problema 3
1. De citit toate numerele din fisierul pr3.in si de creat o lista
simpla inlantuita in in forma de coada.
2. de aflat elementul maxim al liste
3. de sters din lista toate elementele egale cu elementul maxim
4. de scris lista initiala si lista modificata in fisierul pr3.out

Problema 4
1. De citit toate numerele din fisierul pr4.in si de creat o lista
simpla inlantuita in in forma de stiva.
2. de aflat elementul maxim al liste
3. de sters din lista toate elementele egale cu elementul maxim
4. de scris lista initiala si lista modificata in fisierul pr4.out

Problema 5
1. De citit toate numerele din fisierul pr2.in si de creat o lista
simpla inlantuita in forma de coada
2. de aflat elementul maxim, elementul minim si suma, media numerelor
pare din lista (daca sunt)
3. de Scris rezultatele in fisierul pr5.out
4. de sters toate elementele pare din lista ( de precautat cazul cind
lista devine vida)
5. de scris rezultatele in fisierul pr5.out

Problema 6
1. De citit toate numerele din fisierul pr6.in si de creat o lista
simpla inlantuita in forma de stiva.
2. de aflat elementul maxim, elementul minim si suma, media numerelor
impare din stiva (daca sunt)
3. de Scris rezultatele in fisierul pr5.out
4. de sters toate elementele impare din stiva ( de precautat cazul
cind stiva devine vida)
5. de scris rezultatele in fisierul pr6.out

Page 1 of 4
Problema7
1. De citit toate numerele din fisierul pr7.in si de creat o lista
simpla inlantuita in forma de coada.
2. De aflat suma elementelor din coada.
3. de inserat in fata tuturor elementelor pare suma elementelor.
4. De scris suma si lista modificata in fisierul pr7.out}

Problema8
1. De citit toate numerele din fisierul pr8.in si de creat o lista
simpla inlantuita ]n forma de stiva.
2. De aflat numarul maxim din stiva
3. de inserat in fata tuturor elementelor impare elementul maxim.
4. De scris numarul maxim si lista modificata in fisierul pr8.out

Problema9
1. De citit toate numerele din fisierul pr9.in si de creat o lista
simpla inlantuita in forma de coada.
2. De aflat suma elementelor din lista si elementul min
3. de inserat in fata tuturor elementelor pare suma elementelor.
4. de inserat in spatele tuturor elementelor impare elementul min.
4. De scris suma, elementul min si lista modificata in fisierul
pr9.out}

Problema10
1. De citit toate numerele din fisierul pr10.in si de creat o lista
simpla inlantuita in forma de coada
2. De scris lista in fisierul pr10.out
3. de sortat lista in ordine crescatoare
4. De scris lista sortata in fisierul pr10.out

Problema11
1. De citit toate numerele din fisierul pr11.in si de creat o lista
simpla inlantuita in forma de stiva
2. De scris lista in fisierul pr11.out
3. de sortat lista in ordine descrescatoare
4. De scris lista sortata in fisierul pr11.out

Problema 12
{ Mijatca cu lista unidirectionala circulara

Fie ca sunt n-copii, care stau in cerc. Numaratoarea pina la pas


incepe de la copilul incep. Copilul la care se termina de numarat iesa
din cerc. Cine ramine ultimul - mijeste:
1. cititi valorile variabilelor n, incep, pas.
2. scrieti in ce ordine copiii parasesc cercul
3. scrieti copilul care va miji:

Problema 13
1. De citit toate numerele din fisierul pr13.in si de creat o
lista dublu inlantuita.
2. de scris elementele listei in fisierul pr13.out
3. de scris elementele listei in ordine inversa in fisierul
pr13.out
4. de aflat numarul maxim, numarul minim, suma elementelor din
lista
5. de scris rezultatele in fisierul pr13.out

Page 2 of 4
Probleme rezolvate cu liste

Problema1
Se da var n:byte, citit de la tastatură. De creat o lista cu n-elemente, de aflat suma
elementelor si elementul maxim.

program crearea_listei_max_suma;
uses crt ;
type lista=^celula;
celula=record
inf:integer;
next:lista;
end;
var p,r,v:lista;
n,i,suma,max:integer;

begin clrscr;
write('Nr. elem.:'); readln(n);
p:=nil;
for i:=1 to n do begin
new(r);readln(r^.inf);
r^.next:=nil;
if p=nil then begin
p:=r;v:=r;end
else begin
v^.next:=r; v:=r;end;
end;
r:=p;
writeln('Lista este:');
while r<>nil do begin
write(r^.inf,' ');
r:=r^.next;
end;
r:=p ;max:=r^.inf; suma:=0;
while r<>nil do begin
if r^.inf>max then
max:=r^.inf;
suma:=suma+r^.inf;
r:=r^.next;
end;

writeln;
writeln('max=',max);
writeln('suma=',suma);
readln;
end.

Page 3 of 4
Problema2
Din fişierul prob2.in de citit pina la eof(fi) toate numerele şi de creat o listă simplu
inlănţuită. De scris lista creată în prob2.out. De scris apoi elementele listei în ordine
inversă.

program crearea_listei_scrierea_in_ordine_inversa;
uses crt ;
type lista=^celula;
celula=record
nr:integer;
next:lista;
end;
var p,r,v:lista; fi,fo:text;
n,i,par,suma,max,min:integer;
procedure inversare(s:lista);
begin
if s<>nil then begin
inversare(s^.next);
write(fo,s^.nr,' ');
end;
end;

begin assign(fi,'prob2.in');
reset(fi); p:=nil;
while not eof(fi) do begin
new(r); read(fi,r^.nr); r^.next:=nil;
if p=nil then begin p:=r; v:=r; end
else begin v^.next:=r; v:=r;end;
end;
close(fi);
assign(fo,'prob2.out');
rewrite(fo);
if p=nil then writeln(fo,'Lista este vida')
else begin writeln(fo,'am creat urmatoarea lista');
r:=p;
while r<>nil do begin
write(fo,r^.nr,' ');
r:=r^.next;end;
writeln(fo);
writeln(fo,'Elementele listei in ordine inversa
sunt:');
r:=p;
inversare(r);
end;
close(fo);

end.

Page 4 of 4

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