1 Operaţii cu liste



Program Liste;
Const nr_max=100;
Type indice=0..nr_max;
     lista=Array[indice] Of integer;
Var L1,L2,L3:lista;
    poz1,poz2,m,n:indice;
    x:integer;
Procedure citire(Var L:lista;p:indice);
          Var i:indice;
          Begin
          writeln('Dati elementele listei: ');
          For i:=1 To p Do Begin write('Elementul ',i,' este: ');readln(L[i]);
                           End;
          End;
Procedure scriere(Var L:lista;p:indice);
          Var i:indice;
          Begin
          For i:=1 To p Do write(L[i],' ');
          End;
Procedure stergere(Var L:lista;p,poz:indice);
          Var i:indice;
          Begin
          For i:=poz To p-1 Do L[i]:=L[i+1];
          p:=p-1;
          End;


1 Procedure concatenare(a,b:lista;Var L:lista);
          Var i:indice;
          Begin
          For i:=1 To m Do L[i]:=A[i];
          For i:=m+1 To m+n Do L[i]:=B[i-m];
          End;
Procedure inserare(Var L:lista;p,poz:indice;e:integer);
          Var i:integer;
          Begin
          For i:=p Downto poz Do L[i+1]:=L[i];
          L[poz]:=e;
          p:=p+1;
          End;
Begin
m:=0;n:=0;
write('Dati lungimea primei liste:');readln(m);
citire(L1,m);
write('Dati lungimea celei de-a doua liste:');readln(n);
citire(L2,n);
concatenare(L1,L2,L3);
writeln('Concatenarea listelor este:');
scriere(L3,m+n);
writeln;
Repeat
write('Dati pozitia pe care vreti sa inserati un element in prima lista: ');
readln(poz1);
Until (poz1>=1) And (poz1<=m);
write('Dati elementul: ');readln(x);
inserare(L1,m,poz1,x);
writeln('Noua lista este:');
scriere(L1,m+1);
writeln;
Repeat
write('Dati pozitia elementului pe care doriti sa-l stergeti din a doua lista: ');
readln(poz2);
Until (poz2>=1) And (poz2<=n);
stergere(L2,n,poz2);
writeln('Noua lista este:');
scriere(L2,n-1);
readln;
End.

Cele mai ok referate!
www.referateok.ro