Programlama | Programlama Dilleri | C Programlama Dili |C++

Anasayfa Programlama Pascal Bir Dizideki Elemanlar Arasında En Uzun Artan Diziyi Bulan Program


Bir Dizideki Elemanlar Arasında En Uzun Artan Diziyi Bulan Program

Pascal programlama dilinde yazılmış bu program bir dizideki elemanlar arasında en uzun artan diziyi bulmaktadır. Örneğin; 2,5,1,6,9,10,3 şeklinde konsol üzerinden kullanıcıdan alınmış bir dizide en uzun artan dizi 1,6,9,10 olmaktadır.

Program Kodu:

  1. uses crt;
  2. var
  3. dizi:array[1..100] of integer;
  4. artnd:array[1..100]of integer;
  5. i,a,b,j,k,l:integer;
  6. tus:char;
  7.  
  8.  
  9. begin
  10. clrscr;
  11. repeat
  12. begin
  13.  writeln('Dizi boyutunu giriniz .. [1..100]');
  14.  readln(b);
  15.  writeln('Dizi degerlerini giriniz .. ');
  16.  
  17.  for i:=1 to b do
  18.  begin
  19.  read(a);
  20.  dizi[i]:=a;
  21.  end;
  22.  
  23. j:=1;
  24. k:=1;
  25. l:=1;
  26. while k<b do
  27. begin
  28.  if (dizi[k+1]-dizi[k])>0 then k:=k+1
  29.   else begin artnd[l]:=j;l:=l+1;artnd[l]:=k;j:=k+1;k:=k+1;l:=l+1; end;
  30.  
  31.  
  32. l:=artnd[2]-artnd[1];j:=1;k:=2;i:=3;
  33.  
  34. while artnd[i]<>0 do
  35.  begin
  36.   a:=artnd[i+1]-artnd[i];
  37.   if l<a then begin l:=a;j:=artnd[i];k:=artnd[i+1];i:=i+2; end
  38.    else i:=i+2;
  39.  end;
  40.  
  41. writeln('En uzun artan dizi: ');
  42. for i:=j to k do
  43.  write(' ',dizi[i]);
  44.  
  45. writeln(' ');
  46. writeln('Programi sonlandirmak icin * karakterine basiniz');
  47. tus:=readkey;
  48. until tus='*';

Yorumlar (0)
Sadece kayıtlı kullanıcılar yorum yazabilir!