koledzy pomogli mi zrobic coś takiego ale program nie rozpoznaje czy ciąg jest malejący.
mógłby ktoś obeznany sprawdzic dlaczego to nie chodzi? z góry dziękuje.
#include <time.h> #include <iostream> #include <ctime> #include <conio.h> using namespace std; void wpisz (int * tab, int x,int i,int n,int y) { cout <<endl; for (i=0;i<x;i++) { n=n+1; cout <<"podaj "<<n<<" liczbe"; cin >>y; tab[i] = y; } n = 0; for (i=0;i<x;i++) { n = n+1; cout<<"liczba["<<n<<"]="<<tab[i]; } } //funkcja wypelnij void wypelnij (int * tab, int x,int i,int n) { cout <<"automatycznie wypelniony ciag o szukanych wlasciwosciach"; for(i=2;i<x;i++) { tab[i] = tab[i-1] + tab[i-2] +1; } for (i=0;i<x;i++) { n = n+1; cout<<"liczba["<<n<<"]="<<tab[i]; } } void losowe (int * tab, int x,int i,int n) { srand(time(0)); for(i=0;i<x;i++) { tab[i]=rand()%x; } cout<<"tablica wypelniona liczbami losowymi to"; for (i=0;i<x;i++) { n = n+1; cout<<"liczba["<<n<<"]="<<tab[i]; } } //sprawdzanie czy ciag malejacy... (tu cos nie chodzi) void sprawdzenie (int * tab, int x,int ok) { for (int i=2;i<x-1;i++) { ok = 1; if (tab[i] <= tab[i+1]) { cout << "Ciąg nie jest malejący" << endl; } if(tab[i] == tab[i-2]) cout << "Podany ciąg jest malejący" << endl; } } int main(int argv, char * argc[]) { int x,i,y,n,z,u,min,ok,wybor,petla1,petla2,petla3; do { petla3 = 0; x=0; y=0; n=0; z=1; ok=0; i=0; int *tab = new int[x]; do { petla2 = 0; //podanie zakresu ciagu cout <<"podaj zakres ciagu"; cin >>x; tab = new int[x]; do { petla1 = 0; cout <<"co chcesz zrobić"<<endl; cout <<endl; cout <<"1 - wygenerowac ciąg liczb losowych z danego zakresu ("<<x<<")"<<endl; cout <<"2 - automatycznie wypelnic ciąg liczbami o szukanych właściwosciach"<<endl; cout <<"3 - wpisac elementy cigau z klawiatury"<<endl; cout <<"4 - zmienić zakres ciągu"<<endl; cout <<"5 - zakonczyc program"<<endl; cout <<endl; cin >> wybor; cout <<endl; if (wybor == 1) { losowe(tab, x, i, n); } else if (wybor == 2) { wypelnij(tab, x, i, n); } else if (wybor == 3) { wpisz(tab, x, i, n, y); } else if (wybor == 4) { petla2 = 1; } else if (wybor == 5) { goto koniec; } else { cout <<"nieprawidlowy wybor !"<<endl<<endl; petla1 = 1; } } while (petla1 == 1); } while (petla2 == 1); min = tab[0]; for (i=1;i<x;i++) { if (tab[i]<min) { min = tab[i]; z = i+1; } } cout <<"wartosc minimalna ciagu to: "<<min<<" na pozycji "<<z<<endl<<endl; // zamienienie najmnieszej wartosci z nowa wpisaną z klawiatury cout <<"podaj nową liczbe"<<endl; cin >>u; tab[z-1] = u; cout <<"liczba "<<min<<" zostala zamieniona na "<<u<<endl<<endl; for (i=0;i<x;i++) { n = n+1; cout <<"liczba["<<n<<"]="<<tab[i]<<endl; } sprawdzenie(tab, x, ok); cout <<endl; cout <<"czy chcesz kontynuować ? 1-Tak 2-Nie"<<endl; cin >>petla3; } while (petla3 == 1); koniec: cout <<endl; }