Cześć, napisałem taki oto program, który w teorii znajduje minimalny i maksymalny element w ciągu. W praktyce jednak podaje błędne odpowiedzi. W visual studio otrzymuje jedynie ostrzeżenie przy porównaniu if (t[1] > t[0]) o treści "Odczytywanie nieprawidłowych danych z elementu t" więc być może w tym rzecz ?
int main() {
int n;
int max, min;
cin >> n;
int* t;
t = new int[n];
for (int i = 0; i < n; i++) {
cin >> t[i];
}
if (t[1] > t[0]) {
max = t[1];
min = t[0];
}
else {
min = t[1];
max = t[0];
}
for (int i = 2; i <(n%2)+2 ; i += 2){
if (t[i + 1] > t[i]) {
if (t[i + 1] > max) max = t[i + 1];
if (t[i] < min) min = t[i];
}
else {
if (t[i + 1] < min) min = t[i + 1];
if (t[i] > max) max = t[i];
}
}
if (n % 2) {
if (t[n - 1] > max) max = t[n - 1];
if (t[n - 1] < min) min = t[n - 1];
}
cout << "Maksymalny element to " << max << ", natomiast minimalny wynosi " << min;
delete[] t;
return 0;
}