Tablouri unidimensionale

download Tablouri unidimensionale

of 15

  • date post

    25-Oct-2014
  • Category

    Documents

  • view

    123
  • download

    0

Embed Size (px)

Transcript of Tablouri unidimensionale

Neacsu Tiberiu Clasa a X-a A

Definitia, declaratia si lungimea unui tablou unidimension... Minimul, maximul si numarul de aparitii intr-un vector Cautarea secventiala toate aparitiile Cautarea secventiala prima aparitie Cautarea secventiala ultima aparitie Cautarea secventiala verificarea aparitiei Permutarea circulara spre stanga si spre dreapta cu o pozitie Permutarea circulara spre stanga si spre dreapta cu k poz... Stergerea si inserarea unei valori dintr-un vector Sortarea vectorilor Interclasarea vectorilor Cautarea binara Vectorul caracteristic

Se numeste vector o variabila capabila sa retina o colectie de valori de acelasi tip. Declaratia unui vector : x:array [1..20] of byte; Se numeste lungimea unui vector o variabila care va retine numarul efectiv de celule pe care programul le prelucreaza la un moment dat (ex: n:byte; pentru variabila x).

ex: n=6 x1=1.75 x2=2.25 x3=1.75 x4=3.75 x5=3.75 x6=1 -------1.000 3.75 2

Secventa

min:=x[1]; nr:=1; For i:=2 to n do if x[i]max then begin max:=x[i]; nr:=1; end else if x[i]=max then nr:=nr+1; Writeln (max:1:3, ,nr);

Enunt: Sa se afiseze, separate prin spatiu, toate aparitiile valorilor pare.

Secventa: for i:=1 to n do if x[i] mod 2=0 then write (i, );

Enunt: Sa se afiseze prima aparitie a unei valori cu o singura cifra. Atentie! Nu avem siguranta gasirii acesteia.

Secventa: p:=0; For i:=1 to n do if x[i]0 then writeln (Prima aparitie a unei cifre este pe pozitia ,p) else writeln (Nu exista);

Enunt: Sa se afiseze ultima aparitie a unui numar ce are prima cifra para.

Secventa: u:=0; For i:=n downto 1 do begin aux:=x[i]; while aux>9 do aux:=aux div 10; if aux mod 2=0 then begin u:=i; break; end; end; if u0 then writeln (Ultima aparitie a unui numar cu prima cifra para, ,u) else writeln (Nu exista);

Enunt: Sa se precizeze daca in tablou exista numere impare.

Secventa: ok:=false; For i:=1 to n do if x[i] mod 2=1 then begin ok:=true; break; end; if ok=true then writeln (Exista numere impare) else writeln (Nu exista numere impare);

Spre stanga aux:=x[1]; For i:=2 to n do x[i-1]:=x[i]; x[n]:=aux;

Spre dreapta aux:=x[n]; For i:=n-1 downto 1 do x[i+1]:=x[i]; x[1]:=aux;

Spre stanga Varianta 1: - de k ori cu o pozitie k:=k mod n; For i:=1 to k do begin aux:=x[1]; for j:=2 to n do x[j-1]:=x[j]; x[n]:=aux; end; Varianta 2: - cu k pozitii k:=k mod n; For i:=1 to k do x[n+i]:=x[i]; For i:=1 to n do x[i]:=x[k+i];

Spre dreapta Varianta 1: - de k ori cu o pozitie k:=k mod n; For i:=1 to k do begin aux:=x[n]; for j:=n-1 downto 1 do x[j+1]:=x[j]; x[1]:=aux; end;

Varianta 2: - cu k pozitii k:=k mod n; For i:=1 to (n-k) do x[n+1]:=x[i]; For i:=1 to n do x[i]:=x[n-k+i];

Stergerea unei valori dintr-un vector For i:=p to n-1 do a[i]:=a[i+1]; n:=n-1;

Inserarea unei valori dintr-un vector For i:=n downto p do a[i+1]:=a[i]; n:=n+1; a[p]:=v;

Varianta 1 For i:=1 to n-1 do begin r:=I; for j:=i+1 to n do if x[j]