Potrzebuję wskazówki, co może być źle w rozwiązaniu tego zadania. Poniżej znajduje się zadanie, a pod nim moje rozwiązanie.
Twoim zadaniem jest znalezienie minimum i maksimum liczb na tablicy. Dla utrudnienia, musisz wypisać minimum i maksimum na przedziałach [1,1], [1,2], [1,3], ..., [1,n].
Wejście
W pierwszej linii wejścia dana jest liczba n - liczba liczb w tablicy (1 ≤ n ≤ 105). W kolejnej linii dane jest n liczb - liczby w tablicy (ich wartość bezwzględna jest nie większa niż 1000).
Wyjście
W pierwszej linii wyjścia należy wypisać n liczb - ma to być minimum w przedziałach [1,1], [1,2], [1,3], ..., [1,n]. W drugiej linii wyjścia należy wypisać maksimum w podobnym formacie.
Przykład
Dla danych wejściowych
5
0 -1 1 -1 0
poprawną odpowiedzią jest
0 -1 -1 -1 -1
0 0 1 1 1
#include <iostream>
using namespace std;
int main()
{
int mi,ma,z;
long n;
cin>>n;
int tab[n];
for (int i=0; i<n; i++)
{
cin >> tab[i];
}
int min[n];
int max[n];
for(int y=0; y<n; y++)
{
z=0;
ma=tab[0];
while (z<=y)
{
if (tab[z]>ma) ma=tab[z];
z++;
}
max[y]=ma;
z=0;
mi=tab[0];
while (z<=y)
{
if (tab[z]<mi) mi=tab[z];
z++;
}
min[y]=mi;
}
for (int t=0; t<n; t++)
{
cout << min[t]<<' ';
}
cout << endl ;
for (int x=0; x<n; x++)
{
cout << max[x]<<' ';
}
return 0;
}