Ciąg bitoniczny - jak zapisać rozwiązanie w pseudokodzie?

0

Jak zapisac rozwiązanie tego w pseudokodzie:

Ciąg liczbowy x1, . . . , xn nazywamy bitonicznym wtedy i tyko wtedy, gdy istnieje
m: 1 < m < n takie, że: x1 < x2 < . . . < xm > xm+1 . . . > xn.

Np. ciąg:
1 3 4 5 2 1 jest ciągiem bionicznym
Zaś ciąg 1 3 4 5 2 3 1 nie

Wejście

W pierwszym wierszu znajduję się liczba ciągów do zbadania. Jest ona nie większa od 100.

W kolejnych wierszach znajduje się: jako pierwsza liczba dodatnia n nie większa od 10000 oznaczająca ilość elementów kolejnego ciągu. Następnie podane jest n liczb całkowitych nie większych co do wartości bezwzględnej od miliona. Są to kolejne elementy ciągu. Wszystkie liczby są rozdzielone pojedyńczą spacją

Wyjście

W kolejnych n wierszch wypisz napis TAK jeśli ciąg jest bitoniczny, bądź słowo NIE jeśli ciąg nie jest bitoniczny

0
  1. Zapisać w postaci kodu.
  2. Przepisać na pseudokod.
0

nie rozumiem

0
  1. bierzesz pierwszy element
  2. bierzesz kolejny element dopóki jest większy od poprzedniego
  3. bierzesz kolejny element dopóki jest mniejszy od poprzedniego
  4. jeśli dochodzisz do ostatniego elementu to jest a jak nie to nie jest
0

Witam, mam również problem z ciągiem bitonicznym, lecz coś w nim nie działa, mógłby ktoś sprawdzić co jest nie tak ?
Byłbym bardzo wdzięczny

 #include <iostream>
using namespace std;

int main() {
    int n,x=0;
    cin >> n;
    int t[n];
    for (int i = 0; i < n; i++)
        cin >> t[i];
    for (int i = 0; i < n; i++)
        if(t[i+1]>t[i])
            x++;



    bool ciag = true;
    for (int i = x; i < n; i++)

        ciag = ciag && (t[i] < t[i-1]);

    if (ciag)
        cout << "TAK" << endl;
    else
        cout << "NIE" << endl;
}
0
 #include <iostream>
using namespace std;

int main() {
    int n,x=0;
    cin >> n;
    int t[n];

Nie możesz tak deklarować tablicy, już Ci na innym forum odpowiedzieli. Musisz to zrobić dynamicznie.

0

Zadeklarowanie dynamicznej tablicy nic mi nie dało co więcej program stał się niestabilny,
być może to zrobiłem, wzorowałem się na tym : http://www.p-programowanie.pl/cpp/tablice-dynamiczne/

0
#include <iostream>
using namespace std;
 
int main()
  {
   unsigned i,n,v,p=0;
   cin>>n>>p;
   for(i=1;(i<n)&&(cin>>v)&&(p<=v);++i) p=v;
   for(;(i<n)&&(p>=v)&&(cin>>v);++i) p=v;
   cout<<(i<n?"NIE":"TAK")<<endl;
   return 0;
  }
0

Program który podałeś, jest mega skrócony, ale i tak nie działa tak jak powinien, kiedy ciąg jest stały np 5,5,5 , dostajemy odpowiedz TAK zamiast NIE . Najbardziej zależy mi na tym, żeby ktoś powiedział mi dla jakich liczb mój program nie spełnia założeń ciągu, .

Tak czy inaczej i tak dziękuje za odpowiedz !

0

@_13th_Dragon - co powinien wyświetlić program dla
3
5 6 5

0

powinien wypisać TAK moim zdaniem .

0

To było pisano na kolanie, bez sprawdzania, trzeba trochę poprawić i tyle.

1 użytkowników online, w tym zalogowanych: 0, gości: 1