Zadanie:
Działanie programu: Na prośbę programu użytkownik podaje pięć liczb. Następnie program wyświetla ich
wartość minimalną i wartość maksymalną.
Wymagania: Liczby podane przez użytkownika mają być zapisane do zmiennych globalnych.
Wyliczenie wartości minimalnej ma się odbywać w funkcji minimum(a,b,c,d,e),
operującej na zmiennych lokalnych a—e, które przy wywołaniu tej funkcji otrzymują
przez referencję dostęp do zmiennych globalnych przechowujących podane liczby.
Funkcja ma zwracać zmienną lokalną min i nie może sama wykorzystywać zmiennych
globalnych.
Wyliczenie wartości maksymalnej ma się odbywać w funkcji maksimum(a,b,c,d,e),
operującej na zmiennych lokalnych a—e, które przy wywołaniu tej funkcji otrzymują
przez adres dostęp do zmiennych globalnych przechowujących podane liczby. Funkcja
ma zwracać zmienną lokalną max i nie może sama wykorzystywać zmiennych
globalnych.
Moje rozwiązanie:
#include <iostream>
using namespace std;
int u, w, x, y, z;
int minimum(int a, int b, int c, int d, int e)
{
int tab[5] = { a,b,c,d,e };
int min=tab[0];
for (int i = 0; i < 4; i++)
{
if (min>tab[i])
min = tab[i];
}
return min;
}
int maksimum(int a, int b, int c, int d, int e)
{
int tab[5] = { a,b,c,d,e };
int maks = tab[0];
for (int i = 0; i < 4; i++)
{
if (maks<tab[i])
maks = tab[i];
}
return maks;
}
int main()
{
cout << "Podaj 5 liczb: ";
cin >> u >> w >> x >> y >> z;
int min = minimum(u, w, x, y, z);
int maks = maksimum(u, w, x, y, z);
cout << "Wartosc minimum wynosi: " << min << endl << "Wartosc maksimum wynosi: " << maks;
return 0;
}
I teraz ktoś mógłby mi wytłumaczyć jak przekazać te wartości przez referencję, a jak przez adres? (to, jak ja przekazuje wartości to któryś z tych sposobów czy jeszcze inny?)
Dodam, że program działa prawidłowo jedyny problem to przekazywanie tych wartości w wymagany przez zadanie sposób.