Cześć mam problem z zadaniem. Mam wygenerować losową tablicę z losowymi wartościami i następnie sprawdzić jej monotoniczność.Ale coś mi ta monotoniczność nie działa tak jak powinna. Jeżeli możecie zerknijcie okiem i powiedzcie mi co jest nie tak. Oraz mam znaleźć element największy i najmniejszy. Wszystko ma to się odbyć za pomocć jednokrotnego przeskanowania tablicy.
#include <iostream>
#include<ctime>
#include<cstdlib>
using namespace std;
const int rozmiar=5; - ilość liczb jaką będzie znajdowała się w tablicy
void losuj_tablice (int t[rozmiar])
{
srand(time(NULL));
for (int i=0;i<rozmiar;i++)
{
t[i]=rand()%15;
}
}
void wypisz_tablice (int t[rozmiar])
{
for (int i=0;i<rozmiar;i++)
cout<<" "<<t[i];
}
void sprawdz_tablice (int t[rozmiar])
{
# bool rosnacy=false,malejacy=false,staly=false,nieharmoniczny=false,niemalejacy=false;
int rosn=0,mal=0,stal=0,nieharm=0,niemal=0;
int mini=t[0], maxi=t[0];
for (int i=0;i<rozmiar;i++)
{
if (t[i]<t[i+1]) {rosn++;} // z bool'em to tak próbowałem : if (t[i]<t[i+1]) {rosnacy=true;} i tak dalej
if (t[i]=t[i+1]) {stal++;}
if (t[i]<=t[i+1]) {niemal++;}
if (t[i]>t[i+1]) {mal++;}
}
if(rosn=rozm) cout<<"Podany ciag jest rosnacy "<<endl;
if (staly=rozm ) cout<<"Podany ciag jest staly ";
if (mal=rozm) cout<<"Podany ciag jest malejacy"<<endl;
if (niemal=rozm) cout<<"Podany ciag jest niemalejacy"<<endl;
Z bool'em
if(rosnacy=true) cout<<"Podany ciag jest rosnacy"; - i tak dalej.
Nie wiem dlaczego po skompilowaniu tego wyskakują mi wszystkie możliwe wartości czyli zawsze wypisuje ze jest rosnący, stały, malejący,niemalejący.
}
int main()
{
int t[rozmiar];
losuj_tablice(t);
wypisz_tablice(t);
sprawdz_tablice(t);
}
W powyższym programie znajdują się bool'e próbowalem tez za pomocą ich to zrobić ale podobny problem wynika.