Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

Rozdział 44, zadanie domowe

Ostatnio zmodyfikowano 2020-05-25 17:17
Autor Wiadomość
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?

C/C++
#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;
}
P-176925
pekfos
» 2020-05-25 17:17:17
Podałeś właściwy kod? Nic tu się nie zmieniło.
P-176927
« 1 »
  Strona 1 z 1