Houssey
Moderator
Din: Buzau
Inregistrat: acum 17 ani
Postari: 260
|
|
{ Se da un vector de numere intregi si o valoare naturala, V. Sa se realizeze o operatie de cautare completa a lui V in vector ( exista sau nu, numarul de aparitii, pozitia primei aparitii, pozitia ultimei aparitii si celelalte aparitii ). Ex: vectorul este ( 1,2,2,4,,2,5,2,5,2) si V=2 ( Valoarea 2 apare de 5 ori) Prima data apere pe poz. 2 Ultima data apare pe pozitia 9 Celelalte aparitii sunt pe pozitiile : 3,5,7} type vector=array[1..100] of integer; var v:vector; na,i,n,a,b,z:integer; procedure citire; begin for i:=1 to n do begin write('v[',i,']=');readln(v[i]); end; end; procedure afisare; begin for i:=1 to n do begin write(v[i],' '); writeln; end; end; function cautare(var x:vector;k,m:integer):boolean; var s:boolean; begin s:=false; i:=1; while not s and (i<=k) do if x[i]=m then s:=true else i:=i+1; cautare:=s; end; function apar(var x:vector;k,m:integer):integer; var c:integer; begin c:=0; for i:=1 to k do if x[i]=m then c:=c+1; apar:=c; end; function prima(var x:vector;k,m:integer):integer; var p:integer; begin p:=0; i:=1; while (i<=k) and (p=0) do if x[i]=m then p:=i else i:=i+1; prima:=p; end; function ultima(var x:vector;k,m:integer):integer; var u:integer; begin u:=0; i:=n; while (i>=1) and (u=0) do if x[i]=m then u:=i else i:=i-1; ultima:=u; end; begin repeat write('n=');readln(n); until (n>0) and (n<=100); write('numarul care se cauta este=');readln(z); citire; afisare; if cautare(v,n,z) then begin writeln('s-a gasit numarul ',z); na:=apar(v,n,z); writeln('nr ',z,' apare de ',na,' ori'); a:=prima(v,n,z); b:=ultima(v,n,z); if na=1 then writeln('nr ',z,' apare o singura data pe pozitia ',prima(v,n,z)) else begin writeln('prima aparitie a nr. ',z,' este pe pozitia ',prima(v,n,z)); writeln('ultima aparitie a nr. ',z,' este pe pozitia ',ultima(v,n,z)); if na>2 then begin writeln('celelalte aparitii ale cifrei ',z,' sunt pe pozitiile:'); for i:=1 to n do if v[i]=z then if (i<>a) and (i<>b) then write(i,' ');writeln; end; end; end; readln;readln; end.
_______________________________________ House Music Set`s Me Free!
|
|