wskaźnik i tablica dwuwymiarowa

wskaźnik i tablica dwuwymiarowa
F2
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 28
0

Hejka mam tablice dwuwymiarową ale nie wiem jak zapisać to zapisać by tablica była dynamiczna dla dwóch elementów wyświetla mi się błąd
array size in new expression must be constant

Kopiuj
cin>>ilewierszy>>ilekolumn;

int*wiersz=new int[ilewierszy][ilekolumn];

Jak to moge zapisac?

carlosmay
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: Pabianice
1

Zaalokuj pierwszy wymiar, a później dla każdego elementu alokuj tablicę drugiego wymiaru.
Jakby nie było, tablica dwuwymiarowa to tablica tablic.

Jeśli nie masz narzutu na gołe tablice, użyj std::vector.
Można nawet jednowymirową z intefejsem dwuwymiarowej.

edit:

Kopiuj
std::vector<int> vec;
    for (int i = 0; i < w; ++i) {
        for (int j = 0; j < k; ++j) {
            vec.push_back(i + j);
        }
    }

    for (int i = 0; i < w; ++i) {
        for (int j = 0; j < k; ++j) {
            std::cout << vec[i * k + j] << ' ';
        }
        std::cout << '\n';
    }

Wstawiłem std::vector z interfejsem tablicy dwuwymiarowej.

Kopiuj
0 1 2 3 4
1 2 3 4 5
2 3 4 5 6

http://melpon.org/wandbox/permlink/EiEfXTZoXS2xsDva

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.