Proszę o pomoc w rozwiązaniu zadania:

sprawdzić czy elementy tablicy n-elementowej
tworzą ciag malejący/rosnący

no i oczywiście cout<<"malejacy/rosnacy"

wiem, że na pewno potrzebna jest tu pętla for i nie wiem jak zrobić żeby w niej sprawdzał z poprzednim elementem i tak dalej, może być dla określonej tablicy, żebym tylko zrozumiał o co chodzi

program potrzebuje w c++ najlepiej pod Dev-C++

ps: i jeszcze pytanie poniższe zadania też trzeba podobnie?
1.policzyć ilość elementów dodatnich,ujemnych
tablicy n-elementowej
2. wyszukać najmniejszy/największy element
tablicy n-elementowej

1

Odpowiedzi

2009-12-30T19:50:56+01:00
#include <iostream>
using namespace std;

int main() {
int n;
cout << "Podaj liczbe elementow: ";
cin >> n;

int *t = new int[n];

for (int i=0; i<n; ++i) {
cout << "Podaj element nr " << (i+1) << ": ";
cin >> t[i];
}

// sprawdzanie, czy elementy w tablicy t
// są posortowane rosnąco albo malejąco

// rosnąco:
bool rosnace = true;
for (int i=1; i<n; ++i) if (t[i-1] >= t[i]) rosnace = false;

// wypisanie wyniku
if (rosnace) cout << "Tablica jest rosnaca!" << endl;

// malejaco:
bool malejace = true;
for (int i=1; i<n; ++i) if (t[i-1] <= t[i]) malejace = false;

// wypisanie wyniku
if (malejace) cout << "Tablica jest malejaca!" << endl;

// liczbenie liczby elementow dodatnich i ujemnych
// jak tego nie potrzebujesz, to po prostu wystarczy wykomentowac albo usunac ponizsze fragmetny

int dodatnie, ujemne;
dodatnie = ujemne = 0;

for (int i=0; i<n; ++i) {
if (t[i]>0) dodatnie++;
if (t[i]<0) ujemne++;
}

// wypisanie wyniku
cout << "Liczb dodatnich jest " << dodatnie << " a ujemnych " << ujemne << endl;

int minimalny, maksymalny;
minimalny = maksymalny = t[0];

for (int i=1; i<n; ++i) {
if (t[i] < minimalny) minimalny = t[i];
if (t[i] > maksymalny) maksymalny = t[i];
}

// wypisanie wyniku
cout << "Element minimalny to " << minimalny << endl;
cout << "Element maksymalny to " << maksymalny << endl;



delete[] t;

return 0;
}

3 1 3