maxlength ← 1
i ← 1
j ← 0
length ← 0
arrSize ← wielkość(a)/wielkość(a[0])
wypisz("rozmiar tablicy
Znajdz malejacy podciag o najwiekszej dlugosci
Przyklad : a[]=[=10,5,8,1,-4,-4,10,3,-1,1]
Wyjscie: najdluzsze malejace podciagi to 8,1,-4 oraz 10,3,-1
*/
#include
int main(){
int a[] = {10,5,8,1,-4,-4,10,3,-1,1}; // Deklaracja tablicy
int maxLength = 1; // Deklaracja zmiennej MaxLength która przechowuje aktualnie najdluzszy podciag
int i = 0, j=0, length = 0; // Deklaracja zmiennych typu int
int arrSize = sizeof(a)/sizeof(a[0]); // Zmienna przechowujaca rozmiar tablicy
printf("*** Rozmiar tablicy: %d ***\n",arrSize); // Wypisanie rozmiaru tablicy za pomoca funkcji printf
printf("Najdluzsze
wypisz("Najdluzsze malejace podciagi to:
for (i = 0;
i ← 0
dla i <
i←i+1
length
while (a[i + 1] < a[i] && i < arrSize - 1) { // Petla iterujaca
dopóki
i++;//zwiekszanie wartosci zmiennej odpowiedzialnej za sprawdzanie kolenych elemetow ciagu
length++;// zwiekszanie wartosci zmiennej przechowujacej tymczasowa dlugosc podciagu malejacego
}
if (length > maxLength) // Jesli znaleziono dluzszy podciag to staje sie on aktualnie najdluzszym podciagiem
maxLength = length; // przypisanie wartosci
}
if (maxLength > 1) { //Sprawdzanie czy znaleziono wiekszy podciag o dlugosci wiekszej niz jeden
for (i = 0; i < arrSize - 1; i++) { // Petla iterujaca po wszystkich liczbach w tablicy
while (a[i + 1] < a[i] &&
i
jeśli(length> maxlength) wykonaj
maxlegth ← length
jeśli(maxlength>1) wykonaj
i←0
dla i>arrSize-1 wykonuj
length ← 1
i←i+1
dopóki
i++;//zwiekszanie wartosci zmiennej odpowiedzialnej za sprawdzanie kolenych elemetow ciagu
length++;// zwiekszanie wartosci zmiennej przechowujacej tymczasowa dlugosc podciagu malejacego
}
if (length == maxLength) { // Sprawdzanie czy sprawdzany ciag jest najdluzszym podciagiem
for(j = i -
length
printf("%d, ", a[j]); //Wypisywanie elementu z tablicy
}
printf("\n"); //Rozdzielenie podciagow za pomoca nowej lini
}
}
}
return 0;
}
jeśli(length=maxlength) wykonaj
j←i-length+1
dla j<=i wykonuj
wypisz(a[j])
wypisz(n)