Witam, mam problem z dynamiczną alokacją pamięci. Dostałem zadanko o treści:
Napisać program, który dynamicznie tworzy tablicę liczb całkowitych o rozmiarze podanym przez użytkownika.
Program następnie wczytuje od użytkownika po kolei wszystkie elementy tablicy. Za pomocą funkcji arr_min_max() oraz arr_avg program oblicza minimalny, maksymalny element tablicy i ich średnią po czym wypisuje je na standardowe wyjście.
#include <iostream>
double arr_avg(int* tab, std::size_t n);
void arr_min_max(int* tab, std::size_t n, int* min_elem, int* max_elem);
double arr_avg(int* tab, std::size_t n) {
double sum = 0;
for (int i = 0; i < n; i++)
{
sum += *tab;
std::cout << *tab << '\n';
tab++;
}
return sum / n;
}
void arr_min_max(int* tab, std::size_t n, int* min_elem, int* max_elem)
{
*min_elem = std::numeric_limits<int>::max();
*max_elem = std::numeric_limits<int>::min();
for (int i = 0; i < n; i++)
{
if (tab[i] < *min_elem)
*min_elem = tab[i];
if (tab[i] > *max_elem)
*max_elem = tab[i];
}
}
int main()
{
int ile;
int* tab;
tab = new int[ile];
int *p = tab;
std::cout << "Podaj wielkosc tablicy jednowymiarowej: ";
std::cin >> ile;
for (int i = 0; i < ile; i++)
{
std::cout << " Podaj element[" << i << "]=";
std::cin >> *p++;
std::cout << '\n';
}
delete[] tab;
return 0;
}
Przesyłam to co udało mi się osiągnąć. Proszę o pomoc jak zrobić to zadanie! Z góry dziękuje !