R. 44 - zadanie domowe - czy o to chodziło?
Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?
Zarejestruj się!

R. 44 - zadanie domowe - czy o to chodziło?

AutorWiadomość
Temat założony przez niniejszego użytkownika
R. 44 - zadanie domowe - czy o to chodziło?
» 2019-04-02 13:44:12
Cześć! Rozwiązałem zadanie domowe z r. 44, ale nie wiem czy o takie rozwiązanie chodziło? Czy to jest dobre rozwiązanie?

Będę wdzięczny za wszelkie uwagi.

Pozdrawiam

C/C++
#include <iostream>

using namespace std;

int main()
{
    int * tablica = nullptr, rozmiar = 0;
    cout << "Podawaj liczby, 0 konczy wczytywanie.\n";
   
    int * tab = new int[ rozmiar ];
   
    while( true )
    {
        int liczba;
        cin >> liczba;
       
        if( liczba == 0 )
             break;
       
        tab[ rozmiar ] = liczba;
       
        rozmiar++;
    }
   
    cout << "Te same liczby, ale odwrotnie!\n";
   
    for( int i = rozmiar; i > 0; i-- )
         cout << tab[ i - 1 ] << ' ';
   
    delete[] tab;
}
P-174306
» 2019-04-02 14:07:20
To nawet nie działa.
P-174307
Temat założony przez niniejszego użytkownika
» 2019-04-02 14:25:29
Poprawiłem kod, bo początek trochę zepsułem. Ale sam kod u mnie działa bez zarzutu. Czy coś z nim jest rzeczywiście nie tak?

C/C++
#include <iostream>

using namespace std;

int main()
{
    int rozmiar = 0;
    int * tab = new int[ rozmiar ];
   
    cout << "Podawaj liczby, 0 konczy wczytywanie.\n";
   
   
   
    while( true )
    {
        int liczba;
        cin >> liczba;
       
        if( liczba == 0 )
             break;
       
        tab[ rozmiar ] = liczba;
       
        rozmiar++;
    }
   
    cout << "Te same liczby, ale odwrotnie!\n";
   
    for( int i = rozmiar; i > 0; i-- )
         cout << tab[ i - 1 ] << ' ';
   
    delete[] tab;
}
P-174308
» 2019-04-02 15:05:48
Nie ma żadnej poprawy. Kod nie działa.
P-174310
Temat założony przez niniejszego użytkownika
» 2019-04-02 16:25:59
Ok. A po czym mogę stwierdzić, że kod nie działa?
P-174311
» 2019-04-02 19:04:33
Testując go, oczywiście. Program powinien akceptować wiele liczb, więc wpisz wiele liczb. 10 to już pewnie będzie za dużo dla tego programu.
P-174312
Temat założony przez niniejszego użytkownika
» 2019-04-05 22:54:13
hmm... Przy takich danych wejściowych:
Podawaj liczby, 0 konczy wczytywanie.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45
0

Otrzymuję takie dane:
Te same liczby, ale odwrotnie!
45 44 43 42 41 40 39 38 37 36 35 34 33 32 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1

Co zatem jest nie tak?
P-174338
» 2019-04-05 23:10:39
Co zatem jest nie tak?
rozmiar twojej tablicy, brak rezerwacji nowego bloku pamięci, który pomieści stare i nowe dane
Dynamiczne zarządzanie pamięcią new i delete
P-174339
« 1 » 2 3 4 5
 Strona 1 z 5Następna strona