Rozdział 44, zadanie domowe
Ostatnio zmodyfikowano 2020-05-25 17:17
plolopl Temat założony przez niniejszego użytkownika |
Rozdział 44, zadanie domowe » 2020-05-25 10:45:11 Witam. Wykonałem zadanie z rozdziału 44: Zmodyfikuj przykładowy kod tak, aby nowa tablica nie była tworzona za każdym razem, gdy dodawany jest nowy element. Zastanawiam się, czy nie poszedłem na skróty. Mianowicie nowa tablica nie jest tworzona za każdym razem, ale jest modyfikowana. Czy ten tok myślenia jest dobry dla tego rozdziału? I czy tak powinno się używać new, delete? #include<iostream> int main() { int rozmiar = 0; int * tablica = NULL; int * nowa = NULL; std::cout << "Podawaj liczby, 0 konczy wczytywanie.\n"; while( true ) { int liczba; std::cin >> liczba; if( liczba == 0 ) break; nowa = new int[ rozmiar + 1 ]; for( int i = 0; i < rozmiar; ++i ) nowa[ i ] = tablica[ i ]; nowa[ rozmiar ] = liczba; delete[] tablica; tablica = nowa; rozmiar++; } std::cout << "Te same liczby, ale odwrotnie!\n"; for( int i = rozmiar - 1; i >= 0; --i ) std::cout << tablica[ i ] << ' '; delete[] tablica; } |
|
pekfos |
» 2020-05-25 17:17:17 Podałeś właściwy kod? Nic tu się nie zmieniło. |
|
« 1 » |