string lub zmienna jako część nazwy tablicy?
Ostatnio zmodyfikowano 2010-04-20 13:11
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ć?? |
|
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. |
|
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. |
|
madmike44 |
» 2010-04-19 22:35:04 To, czego oczekujesz, możesz zrealizować w ten sposób: int n, k;
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: tab[ 0 ] tab[ 1 ] . . . tab[ n - 1 ]
A konkretny element konkretnej tablicy to po prostu 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 :) |
|
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. |
|
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. |
|
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 |
|
« 1 » |