Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- using namespace std;
- /**
- * Eljaras a sorozat beolvasasahoz
- * @param a feltoltendo tomb
- * @param n sorozat elemeinek szama
- */
- void input(int a[], int &n) {
- cout << "n: ";
- cin >> n;
- for(int i = 0; i < n; i++) {
- cout << "a[" << i << "]: ";
- cin >> a[i];
- }
- }
- /**
- * Kiirja a leghoszabb reszsorozat hosszat
- * @param n hossz
- */
- void output(int n) {
- cout<< "A leghoszabb reszsorozat hossza: "<< n;
- }
- /**
- * Megkapja egy tomb legnagyobb elemet
- * @param a tomb
- * @param n elemek szama
- * @return legnagyobb elem
- */
- int largest(int a[], int n) {
- int max = a[0];
- for(int i=1; i < n; i++) {
- if(a[i] > max) {
- max = a[i];
- }
- }
- return max;
- }
- /**
- * Feltoltjuk a segedtombot aszerint, hogy az a tomb i. eleme
- * a sorozat i. elemetol szamolt leghoszabb reszsorozat hossza legyen
- * @param a tomb
- * @param b segedtomb
- * @param n elemek szama
- */
- void fill(int a[], int b[], int n) {
- for(int i = n - 1; i >= 0; i--) {
- b[i] = 0;
- for(int j = i+1; j<n; j++) {
- if(a[i] < a[j] && b[i] < b[j]) {
- b[i] = b[j];
- }
- }
- b[i]++;
- }
- }
- int main() {
- /**
- * A sorozatot tartalmazo tomb
- */
- int a[100];
- /**
- * Segedtomb, mely segitsegevel megkapjuk a hosszt
- */
- int b[100];
- /**
- * A sorozat elemeinek szama
- */
- int n;
- input(a, n);
- fill(a, b, n);
- output(largest(b, n));
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement