Ĺadny brzuch
próbuje stworzyć program, ktorego zadaniem bedzie podanie odpowiedzi, czy dany ciag jest rosnacy, czy malejacy za pomoca tablic. Dokladniej chodzi o to, ze jezeli program zawiera tablice zalózmy 18 liczb
np:
2
3
4
7
7
9
11
3
..
to pokaze, ze ciag jest malejacy bo w pewnym momencie zaczyna malec, lu, gdy np ciag jest :
1
2
3
5
7
8
10
12
...
to wyswietli, ze jest rosnacy jak tego dokonac za pooca tablic?
Domyslam sie, ze trzeba utworzyc tablie : array zalozmy 20 elementowa typu : integer (int) przypisac do indexow tablicy dane zmienne oraz napisac funkcje, ktora bedzie dodawala doo siebie kolejne indexy i jezeli natrafi na "mniejszy" (o mniejszej wartosci niz poprzedni to wyskoczy np komunikat, ze malejaca :
hmm:
for (....; ......; ..........) fo
{
???
}
Prosze o pomoc
Jezeli dobrze rozumiem to:
1) ladujesz sobie dane do tablicy n-elementowej (arr)
2) delklarujesz sobie zmienna int x = 0; - informacja o ostatnim stanie monotonicznosci funkcji
3) robisz petle 1..n-1 a w niej
- sprawasz czy arr[i]>arr[i+1] - malejacy ciag
* jezeli tak to sprawdzasz czy ostatnio tez byl malejacy (x<0) -> jezeli nie to wyswietlasz info ze od tego miejsca zaczyna sie malejacy i ustawiasz x na -1
* jezeli nie to spr czy arr[i]<arr[i+1] - rosnacy. Tak?-> / x>0: nie?->wyswietlamy info o zmianie monotonicznosci i ustawiamy x na 1
* a jezeli nie powyzsze to mamy staly w tym przedziale i bawimy sie z x=0 :)
Tak chaotycznie opisane ale mam nadzieje ze ide zostanie zrozumiana :). W ten sposob mozemy wyswietlic info o przebiegu zmiennosci ciagu.
zacznijmy od tego ze Twoj pierwszy przyklad to nie jest ciag malejacy..
ciag malejacy to nie znaczy, ze "w pewnym momencie zaczal byc malejacy" - kazdy kolejny element musi byc mniejszy od poprzedniego, podobnie z rosnacym
sprawa ma sie inaczej jesli chcesz sprawdzic np jak zachowywal sie ciag "na koncu" (nie wiem po co, ale moze chcesz cos takiego zrobic) - wystarczy ze srpawdzisz dwie ostatnie liczby w ciagu..
a jak chcesz zbadac monotonicznosc, to tak jak kolega wyzej napisal ;)
Sluchaj program ma sprawdzac, czy podany ciag jest rosnacy, a zeby to sprawdzic musisz zbadac kazda liczbe w ciagu, bo jezeli np ciag rosnie,a w danym momencie liczba bedzie mniejsza od poprzedniej, a Ty sprawdzisz tylko ostatnią to będzie to błąd !!
Sluchaj program ma sprawdzac, czy podany ciag jest rosnacy, a zeby to sprawdzic musisz zbadac kazda liczbe w ciagu, bo jezeli np ciag rosnie,a w danym momencie liczba bedzie mniejsza od poprzedniej, a Ty sprawdzisz tylko ostatnią to będzie to błąd !!
to, co ty probojesz robic, to jeszcze wiekszy blad. wrecz taki ze czytajac tego posta nie moge przestac sie smiac :D hmm, to moze od poczatku - proste pytanie: twoj ciag jest skonczony czy nieskonczony? jesli skonczony, to powiedzenie ze ciag jest malejacy w pierwszym przykladzie podanym przez ciebie jest ekhm... zbawne :P wtedy w danym przedziale rosnie, a pozniej maleje. a jesli ciag jest nieskonczony, to musisz sprawdzic liczb zeby moc zalozyc (choc nie mozesz byc tego pewien) ze ciag od danego momentu bedzie juz zawsze malal /rosnal
hehe
no jest skonczony jest ;]
to nie wiem, albo juz mi odbilo, albo nie w takim razie
przyklad bedzie
1
2
3
4
5
6
7
8
9
10
11
jak w takim razie wygladalby program sprawdzajacy ten ciag ? za pomoca tablic
odp masz w drugim poscie (jesli chcesz sprawdzac czy caly ciag jest rosnacy/malejacy to bez tych gwiazdek)..
rzadko podaje gotowy kod, ale niech bedzie chociaz wycinek:
bool rosnacy = true int tab[20]; //np. 20 //tutaj wprowadzasz te przykladowe 20 liczb, sam sobie napiszesz.. for( int i=0; i<19; i++ ) { if( tab[i] >= tab[i+1] ) { rosnacy = false; break; //lub i=18 } } if( rosnacy ) cout << "ciag liczb jest rosnacy"; else cout << "ciag liczb nie jest rosnacy";
to jest na sprawdzenie czy jest rosnacy, na malejacy, nierosnacy, niemalejacy, staly mozesz juz sam napisac na podstawie tego..
zanotowane.pl doc.pisz.pl pdf.pisz.pl zsf.htw.pl
np:
2
3
4
7
7
9
11
3
..
to pokaze, ze ciag jest malejacy bo w pewnym momencie zaczyna malec, lu, gdy np ciag jest :
1
2
3
5
7
8
10
12
...
to wyswietli, ze jest rosnacy jak tego dokonac za pooca tablic?
Domyslam sie, ze trzeba utworzyc tablie : array zalozmy 20 elementowa typu : integer (int) przypisac do indexow tablicy dane zmienne oraz napisac funkcje, ktora bedzie dodawala doo siebie kolejne indexy i jezeli natrafi na "mniejszy" (o mniejszej wartosci niz poprzedni to wyskoczy np komunikat, ze malejaca :
hmm:
for (....; ......; ..........) fo
{
???
}
Prosze o pomoc
Jezeli dobrze rozumiem to:
1) ladujesz sobie dane do tablicy n-elementowej (arr)
2) delklarujesz sobie zmienna int x = 0; - informacja o ostatnim stanie monotonicznosci funkcji
3) robisz petle 1..n-1 a w niej
- sprawasz czy arr[i]>arr[i+1] - malejacy ciag
* jezeli tak to sprawdzasz czy ostatnio tez byl malejacy (x<0) -> jezeli nie to wyswietlasz info ze od tego miejsca zaczyna sie malejacy i ustawiasz x na -1
* jezeli nie to spr czy arr[i]<arr[i+1] - rosnacy. Tak?-> / x>0: nie?->wyswietlamy info o zmianie monotonicznosci i ustawiamy x na 1
* a jezeli nie powyzsze to mamy staly w tym przedziale i bawimy sie z x=0 :)
Tak chaotycznie opisane ale mam nadzieje ze ide zostanie zrozumiana :). W ten sposob mozemy wyswietlic info o przebiegu zmiennosci ciagu.
zacznijmy od tego ze Twoj pierwszy przyklad to nie jest ciag malejacy..
ciag malejacy to nie znaczy, ze "w pewnym momencie zaczal byc malejacy" - kazdy kolejny element musi byc mniejszy od poprzedniego, podobnie z rosnacym
sprawa ma sie inaczej jesli chcesz sprawdzic np jak zachowywal sie ciag "na koncu" (nie wiem po co, ale moze chcesz cos takiego zrobic) - wystarczy ze srpawdzisz dwie ostatnie liczby w ciagu..
a jak chcesz zbadac monotonicznosc, to tak jak kolega wyzej napisal ;)
Sluchaj program ma sprawdzac, czy podany ciag jest rosnacy, a zeby to sprawdzic musisz zbadac kazda liczbe w ciagu, bo jezeli np ciag rosnie,a w danym momencie liczba bedzie mniejsza od poprzedniej, a Ty sprawdzisz tylko ostatnią to będzie to błąd !!
Sluchaj program ma sprawdzac, czy podany ciag jest rosnacy, a zeby to sprawdzic musisz zbadac kazda liczbe w ciagu, bo jezeli np ciag rosnie,a w danym momencie liczba bedzie mniejsza od poprzedniej, a Ty sprawdzisz tylko ostatnią to będzie to błąd !!
to, co ty probojesz robic, to jeszcze wiekszy blad. wrecz taki ze czytajac tego posta nie moge przestac sie smiac :D hmm, to moze od poczatku - proste pytanie: twoj ciag jest skonczony czy nieskonczony? jesli skonczony, to powiedzenie ze ciag jest malejacy w pierwszym przykladzie podanym przez ciebie jest ekhm... zbawne :P wtedy w danym przedziale rosnie, a pozniej maleje. a jesli ciag jest nieskonczony, to musisz sprawdzic liczb zeby moc zalozyc (choc nie mozesz byc tego pewien) ze ciag od danego momentu bedzie juz zawsze malal /rosnal
hehe
no jest skonczony jest ;]
to nie wiem, albo juz mi odbilo, albo nie w takim razie
przyklad bedzie
1
2
3
4
5
6
7
8
9
10
11
jak w takim razie wygladalby program sprawdzajacy ten ciag ? za pomoca tablic
odp masz w drugim poscie (jesli chcesz sprawdzac czy caly ciag jest rosnacy/malejacy to bez tych gwiazdek)..
rzadko podaje gotowy kod, ale niech bedzie chociaz wycinek:
bool rosnacy = true int tab[20]; //np. 20 //tutaj wprowadzasz te przykladowe 20 liczb, sam sobie napiszesz.. for( int i=0; i<19; i++ ) { if( tab[i] >= tab[i+1] ) { rosnacy = false; break; //lub i=18 } } if( rosnacy ) cout << "ciag liczb jest rosnacy"; else cout << "ciag liczb nie jest rosnacy";
to jest na sprawdzenie czy jest rosnacy, na malejacy, nierosnacy, niemalejacy, staly mozesz juz sam napisac na podstawie tego..