2012-05-10 44 views
10

Debuguję mój kod C++ w Visual Studio 2010 i chcę zobaczyć zawartość mojej tablicy, powiedzmy Q, która ma 17x17. Kiedy wstawiam punkt przerwania i próbuję debugować, widzę tylko zmienną "Q". Kiedy przejdę do ekranu "Oglądaj" i zmieni nazwę na "Q, 17", widzę jeden poziom niżej.Jak wyświetlić wszystkie elementy dwuwymiarowej tablicy w Visual Studio 2010?

Ale chcę też zobaczyć inny wymiar. Nie mogę napisać "Q, 17,17". Jakie jest właściwe polecenie?

Dziękuję ...

Odpowiedz

13

Nie możesz, przynajmniej nie bezpośrednio.

Co można zrobić, to umieścić &array[0][0] w oknie pamięci, a następnie zmienić jego rozmiar, aby liczba kolumn odpowiadała jednemu wierszowi danych array.

Alternatywnie, można umieścić w oknie array[0],17 zegarka, a następnie powtórzyć je dla array[1],17 itp

nie odpowiedź szukałeś może, ale okno zegarek, natomiast dość silny, po prostu nie mogę rób co chcesz.

+0

Dziękuję, to wystarczy dla mnie. –

0

Proponowane rozwiązanie działa tylko z tablicami 1D. Ale 2D tablicy, która stała wielkość w każdym rzędzie (widząc pierwszy wymiar jako wiersz jak w matematyce) może być przyznane jako tablica 1D następująco:

int ** a = new int * [n]; 
int * b = new int [n*n]; 

a[0] = &b[0]; 
for (int i=1; i<n; i++) 
{ 
    a[i] = a[i-1]+n; 
} 
int count=0; 
for (int i=0; i<n; i++) 
{ 
    for (int j=0; j<n; j++) 
    { 
     a[i][j]= rgen.randInt(-10,10); 
    } 
} 

Następnie można użyć a jako matryca w twojej kod i wizualizuj użycie, powiedz b,100, jeśli twoja macierz ma rozmiar 10 na 10.