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

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

Ostatnio zmodyfikowano 2019-04-20 12:20
Autor Wiadomość
rottingham
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
pekfos
» 2019-04-02 14:07:20
To nawet nie działa.
P-174307
rottingham
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
pekfos
» 2019-04-02 15:05:48
Nie ma żadnej poprawy. Kod nie działa.
P-174310
rottingham
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
pekfos
» 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
rottingham
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
nanoant20
» 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 5 Następna strona