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

Powiększenie elementów tablicy

Ostatnio zmodyfikowano 2015-03-25 09:01
Autor Wiadomość
cryuff
Temat założony przez niniejszego użytkownika
Powiększenie elementów tablicy
» 2015-03-25 00:02:18
Tworzę tablicę poprzez konstruktor w klasie oraz dodaję do niej element:
C/C++
Tablica::Tablica( int roz )
{
    srand( time( NULL ) );
    tablica = new int[ roz ];
    for( int i = 0; i < roz; i++ )
         tablica[ i ] = rand();
   
    rozmiar = roz;
}

void Tablica::dodajpocz( int liczba )
{
    int * nowa_tablica = new int[ rozmiar + 1 ];
    for( int i = 0; i < rozmiar + 1; i++ )
    {
        nowa_tablica[ i + 1 ] = tablica[ i ];
    }
    nowa_tablica[ 0 ] = liczba;
   
    tablica = nowa_tablica;
}
Niestety dodaje element na początku tablicy jednak ucina ostatni element.
Mógłby mi ktoś napisać co jest nie tak?
P-129126
pekfos
» 2015-03-25 00:04:53
Nie aktualizujesz zmiennej rozmiar i wychodzisz poza zakres tablicy przy kopiowaniu.
P-129127
cryuff
Temat założony przez niniejszego użytkownika
» 2015-03-25 00:12:19
Analogicznie zrobiłem metodę dodającą do końca jednak dodaje element ale o niewłaściwej wartości:
C/C++
void Tablica::dodajkoniec( int liczba )
{
    int * nowa_tablica = new int[ rozmiar + 1 ];
    for( int i = 0; i < rozmiar; i++ )
         nowa_tablica[ i ] = tablica[ i ];
   
    nowa_tablica[ rozmiar + 1 ] = liczba;
    rozmiar = rozmiar + 1;
    tablica = nowa_tablica;
}
P-129128
maly
» 2015-03-25 09:01:43
nowa_tablica[ rozmiar + 1 ] = liczba;
 za daleko.
P-129134
« 1 »
  Strona 1 z 1