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

string lub zmienna jako część nazwy tablicy?

Ostatnio zmodyfikowano 2010-04-20 13:11
Autor Wiadomość
elradziu
Temat założony przez niniejszego użytkownika
string lub zmienna jako część nazwy tablicy?
» 2010-04-19 20:44:48
Jest możliwość żeby tworzyć tablice zmiennych której nazwa będzie zależna od jakieś zmiennej lub stringu?
Tzn

Tablica_n[]

gdzie n to zmienna lub string

Chodzi o to żeby program tworzył n tablicy.

Jeżeli tak to jak to zrealizować??
P-16239
WunM
» 2010-04-19 21:33:23
Nie da się. Do czego ci to w ogóle potrzebne?

Chodzi o to żeby program tworzył n tablicy.

To się da.
P-16240
elradziu
Temat założony przez niniejszego użytkownika
» 2010-04-19 21:43:18
A jak zrealizować to żeby program tworzył n tablic które by miały nazwę przykładowo tablica1,tablica2 .... ?

A potrzebne do metody elementów skończonych.
P-16241
madmike44
» 2010-04-19 22:35:04
To, czego oczekujesz, możesz zrealizować w ten sposób:

C/C++
int n, k; // n - liczba tablic, k - liczba elementów danej tablicy
// obie liczby można wpisać w trakcie działania programu / wczytać z pliku itp.

int ** tab;

tab = new int *[ n ];

for( int i = 0; i < n; i++ )
{
    tab[ i ] = new int[ k ];
}

Czyli dynamicznie alokowana tablica dwuwymiarowa, albo inaczej - tablica wskaźników (np. na inty) - pierwszy wymiar to liczba tablic, a drugi to liczba elementów w danej tablicy.

Nazwy kolejnych "pojedynczych" tablic to:
C/C++
tab[ 0 ]
tab[ 1 ]
.
.
.
tab[ n - 1 ]

A konkretny element konkretnej tablicy to po prostu
C/C++
tab[ a ][ b ]; // oczywiście a < n i b < k

Trzeba co prawda czuć się w miarę swobodnie w pracy ze wskaźnikami, ale w sumie tylko jeśli chodzi o początkową alokację pamięci dla tablic :)
P-16242
Elaine
» 2010-04-20 07:57:44
Ta metoda bardziej fachowo nazywa się "więc chodź, posiekaj mi cache" ;P

Wystarczy vector<T> (tak, jednowymiarowy, żaden vector<vector<T> >!) na N*M elementów i obliczanie indeksów ze wzoru n*N+m. Przynajmniej nie wykonujemy pierdyliona alokacji i nie siekamy cache'u.
P-16243
elradziu
Temat założony przez niniejszego użytkownika
» 2010-04-20 12:06:56
Dzięki wszystkim :p skorzystam chyba z dodania dodatkowego wymiaru :p
który będzie określał "nr tablicy";

Pozdrawiam.
P-16244
madmike44
» 2010-04-20 13:11:30
1. Chciałem zaproponować coś, co będzie przypominało rozwiązanie, o które chodziło pytającemu.
2. Przyjąłem w ciemno, że elradziu, będąc na jakimś tam etapie poznawania C++, nie rzucił się od razu na bibliotekę STL :) :P
P-16245
« 1 »
  Strona 1 z 1