Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- //u zadatom nizu naci najduci simetrican podniz
- program simetrican_niz;
- type
- niz = array[1..20] of integer;
- var
- n,l,p,k,m:integer;
- x,y,z: niz;
- procedure UnosNiza (var n:integer;var x:niz);
- var i:integer;
- begin
- write('Broj clanova niza: ');
- readln(n);
- for i:=1 to n do
- begin
- write ('x[',i,']=');
- readln(x[i]);
- end;
- end;
- procedure StampaNiza (n:integer; x:niz);
- var i:integer;
- begin
- write('Elementi niza: ');
- for i:=1 to n-1 do write (x[i],',');
- writeln(x[n]);
- end;
- procedure simetrican(n:integer; x:niz; var p,k:integer);
- var i,j,d,p1,k1:integer; nadjen,r:boolean;
- begin
- d:=n;
- nadjen:=false;
- while(d>1) and not nadjen do
- begin
- p1:=1;
- while(p1<=n+1-d) and not nadjen do
- begin
- k1:=d+p1-1;
- r:=true;
- i:=p1;
- j:=k1;
- while(i<j) and r do
- begin
- r:=(x[i]=x[j]);
- i:=i+1;
- j:=j-1;
- end;
- if(r) then begin nadjen:=true; p:=p1; k:=k1; end;
- p1:=p1+1;
- end;
- d:=d-1;
- end;
- if not nadjen then begin p:=1;k:=1; end;
- end;
- begin
- UnosNiza(n,x);
- StampaNiza(n,x);
- simetrican(n,x,p,k);
- writeln('najduzi simetrican podniz pocinje od pozicicije ',p,' a zavrsava sa ',k);
- readln;
- end.
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement