Hej,
czy poniższy program da się wykonać za pomocą inteligentnych wskaźników (unique_ptr lub shared_ptr)?
W jaki sposób to zrobić?
#include <iostream>
int main()
{
int* tablica = nullptr, rozmiar = 0;
std::cout << "Podawaj liczby, enter konczy wczytywanie.\n";
while (true)
{
int liczba;
std::cin >> liczba;
// Brakuje miejsca, utwórz większą tablicę
int* nowa = new int[rozmiar + 1];
// Skopiuj dane
for (int i = 0; i < rozmiar; ++i)
nowa[i] = tablica[i];
// Dodaj nową wartość
nowa[rozmiar] = liczba;
// Usuń starą tablicę
delete[] tablica;
// Zakutalizuj zmienne
tablica = nowa;
rozmiar++;
if (std::cin.get() == '\n')
break;
}
std::cout << "Te same liczby, ale odwrotnie!\n";
for (int i = rozmiar - 1; i >= 0; --i)
std::cout << tablica[i] << ' ';
}