Cześć, mam problem z jednym zadaniem a za tydzień mam kolosa. Chciałbym je zrobić ale brak mi pomysłu. Przyda się każda podpowiedź, naprowadzenie na rozwiązanie zadanka.
Treść:
Napisać program tworzący dynamicznie N – elementową tablicę liczb całkowitych, gdzie N > 0
jest liczbą całkowitą podaną przez użytkownika. Wartości tablicy są podawane przez użytkownika,
a następnie wypisywane. Program ma wypisać wszystkie takie ciągi kolejnych elementów tej
tablicy, których długość przekracza M oraz wszystkie elementy w ciągu są liczbami parzystymi. M
jest liczbą całkowitą dodatnią podaną przez użytkownika. Bierzemy pod uwagę tylko ciągi
nierozszerzalne, tzn. takie, że nie możemy ich rozszerzyć o liczbę parzystą „ani z lewej ani z prawej
strony ciągu”. Np. w ciągu 1 2 4 6 5 nierozszerzalny ciąg kolejnych liczb parzystych to 2 4 6 , ciągi
2 4 i 4 6 byłyby rozszerzalne. Jeśli w tablicy nie ma ciągów spełniających te warunki, program
zwraca informację: „Brak takich ciągów.”.
Przykład: N = 13, M = 2; tablica: 2 3 4 6 8 3 8 6 3 0 2 10 4; odpowiedź: 4 6 8, 0 2 10 4
Napisałem początek kodu ale nie mam pomysłu jak zabrać się za te ciągi nierozszerzalne. Za pomoc z góry dziękuję.
#include<iostream>
using namespace std;
int main()
{
int N;
cout<<"Podaj liczbe N: "<<endl;
cin>>N;
int * tab= new int[N];
for(int i=0; i<N; i++)
{
cout<<"Podaj "<<i+1<<" element tablicy."<<endl;
cin>>tab[i];
}
for(int i=0; i<N; i++)
{
cout<<tab[i]<<" ";
}
int M;
cout<<"Podaj liczbe M."<<endl;
cin>>M;
return 0;
}