[Pascal] Najdłuższy spójny podciąg niemalejący

natalkagd
Użytkownik
Użytkownik
Posty: 39
Rejestracja: 23 lut 2012, o 15:41
Płeć: Kobieta
Lokalizacja: Polska

[Pascal] Najdłuższy spójny podciąg niemalejący

Post autor: natalkagd »

Dany jest ciąg \(\displaystyle{ n}\), \(\displaystyle{ n<20}\), liczb całkowitych wylosowanych z przedziału \(\displaystyle{ [a, b]}\), gdzie \(\displaystyle{ a, b <100}\) i \(\displaystyle{ a<b}\). Napisz program, który wypisze długość (liczbę wyrazów) najdłuższego podciągu niemalejącego w tym ciągu. Rozważamy tylko podciągi spójne - liczby podciągu powinny stać w ciągu wylosowanych liczb obok siebie.

Potrzebuje kod do powyzszego programu. Pomoże ktoś?
Ostatnio zmieniony 27 sty 2015, o 20:09 przez Afish, łącznie zmieniany 1 raz.
Powód: Całe wyrażenia matematyczne umieszczaj w tagach [latex] [/latex].
jarek4700
Użytkownik
Użytkownik
Posty: 939
Rejestracja: 26 gru 2009, o 17:38
Płeć: Mężczyzna
Lokalizacja: Mazowsze
Podziękował: 5 razy
Pomógł: 228 razy

[Pascal] Najdłuższy spójny podciąg niemalejący

Post autor: jarek4700 »

Kod: Zaznacz cały

program podciag;
const nmax = 20;
const ciag : array[1..nmax] of integer = (1,2,3,6,33,2,1,1,13,14,15,19,21,21,22,22,20,2,3,4);
var L1 : integer;
var L2 : integer;
var i : integer;
begin
L1 := 1;
L2 := 1;
for i:=2 to nmax do
 begin
  if ciag[i] < ciag[i-1] then L1 := 1
  else
  begin
   L1 := L1+1;
   if L2 < L1 then L2 := L1;
  end;
 end;
writeln('Najdluzszy podciag niemalejacy ma dlugosc ',L2);
end.
ODPOWIEDZ