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

analiza kodu rozdział 44 poziom 5

Ostatnio zmodyfikowano 2020-04-23 20:52
Autor Wiadomość
wirusomaniak
Temat założony przez niniejszego użytkownika
analiza kodu rozdział 44 poziom 5
» 2020-04-23 12:57:52
C/C++
#include <iostream>
using namespace std;

int main()
{
    int * tablica = nullptr, rozmiar = 0;
    std::cout << "Podawaj liczby, 0 konczy wczytywanie.\n";
   
    while( true )
    {
        int liczba[ 2 ];
        for( int i = 0; i < 2; i++ )
        {
            std::cin >> liczba[ i ];
            if( liczba[ i ] == 0 )
                 break;
           
            if( liczba[ 1 ] == 0 )
                 rozmiar--;
           
        }
        if( liczba[ 0 ] == 0 )
             break;
       
        int * nowa = new int[ rozmiar + 2 ];
       
       
        for( int i = 0; i < rozmiar; ++i )
        {
            nowa[ i ] = tablica[ i ];
        }
       
        // Dodaj nową wartość
        nowa[ rozmiar ] = liczba[ 0 ];
        if( liczba[ 1 ] != 0 )
             nowa[ rozmiar + 1 ] = liczba[ 1 ];
       
        delete[] tablica;
       
       
        tablica = nowa;
       
        if( liczba[ 1 ] == 0 )
        {
            rozmiar++;
            break;
        }
        rozmiar += 2;
    }
   
    std::cout << "Te same liczby, ale odwrotnie!\n";
   
    for( int i = rozmiar - 1; i >= 0; --i )
         std::cout << tablica[ i ] << ' ';
   
    delete[] tablica;
}
"Zmodyfikuj przykładowy kod tak, aby nowa tablica nie była tworzona za każdym razem, gdy dodawany jest nowy element."
Moje pytanie brzmi czy mój program spełnia warunki zadania? Dziękuję za pomoc.
P-176719
pekfos
» 2020-04-23 20:52:19
Program nie działa poprawnie.
P-176720
« 1 »
  Strona 1 z 1