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

[C++] Korzystanie z dynamicznej tablicy dwuwymiarowej bez użycia indeksów

Ostatnio zmodyfikowano 2014-11-16 00:00
Autor Wiadomość
Kopczak1995
Temat założony przez niniejszego użytkownika
[C++] Korzystanie z dynamicznej tablicy dwuwymiarowej bez użycia indeksów
» 2014-11-15 16:42:24
Witam.
Pomagałem dzisiaj koleżance z roku w jednym "drobiazgu" z C++. Trafiła na jakąś chorą Profesor na laborkach, która zadała im tworzyć i potem używać dynamicznych tablic dwuwymiarowych wyłącznie z użyciem zmiennych wskaźnikowych, bez indeksów typowych dla tablic. O tyle wiem jak to zrobić w przypadku tablicy jednowymiarowej to już nie mogę sobie wyobrazić jak to zmajstrować przy wielowymiarowych wersjach...
Tak by było (o ile dobrze kojarzę z wykładów) odnoszenie się do kolejnych elementów przy jednowymiarowej tablicy:
C/C++
for( int i = 0; i < rozmiarTablicy; i++ ) {
    ( * + i ) tablica = rand();
    cout <<( * + i ) tablica << endl;
}

Oświeciłby mnie ktoś jak to działa w przypadku tablic 2 i więcej - wymiarowych? Byłbym wdzięczny :)

@Edit

Primo - mój kod był błędny :D

Secundo - już wiem jak to zrobić, dorwałem się do kopii prezentacji z naszego wykładu i się temu zagadnieniu przyjrzałem na spokojnie :P
Dla potomnych - odnoszenie się do określonego elementu tablicy 2-wymiarowej wygląda tak:
cout << *( j + *( i + tablica ) );
 gdzie i oraz j są odpowiednio indeksami
[ i ][ j ]
 naszej tablicy.
P-120671
GolemXIV
» 2014-11-15 17:34:09
Dlaczego chorą???

W opisach C wyraźnie jest napisane, że arytmetyka wskaźników jest ściśle powiązana z tablicami. Dodawanie liczby do wskaźnika, , odejmowanie wskaźników - są równoważne operacjom na indeksach tablicy. I kompilator sam dba o to, żeby (na poziomie reprezentacji) wskaźnik zwiększać, zmniejszać o odpowiednią wielkość, zależnie od tego, jak duże są pojedyncze elementy tablicy. To jest naprawdę tożsamość.

Tablice wielowymiarowe: z zapisu x[j] wyraźnie wynika, jak taka tablica jest zorganizowana.
P-120676
Kopczak1995
Temat założony przez niniejszego użytkownika
» 2014-11-16 00:00:26
Akurat ta babka faktycznie jest chora, niezależnie od przykładu, który podałem :P Ale nie ma co wdrażać w szczegóły, bo to bez sensu :P
A to o czym mówisz to jak najbardziej prawda, wiem że tablice to praktycznie wskaźniki.
P-120744
« 1 »
  Strona 1 z 1