Wypełnianie tablic dwuwymiarowych cyframi.

0

Jak wypełnić tablicę dwuwymiarową za pomocą pętli for? W sensie, że bez inicjalizacji.
Napisałem coś takiego, ale nie działa :/

int tablica2 [4][3] ={0};


    for ( int i = 0; i < 4; i++)
    {
        for (int j = 0; j < 3; j++)
        {
            tablica[i][j] = tablica[i][j] +1 ;
        }
    }

Zinicjalizowałem tablica[0][0] jako 0 i kolejne wyrazy powinny być się zwiększać o 1. A to w ogóle się nie chce skompilować, nie mam pojęcia czemu :F

0

Bo nie da się tak ustawiać elementów tablicy wielowymiarowej.

1

Musisz zmienić pierwszą linijkę. Powinieneś wpisać hasło "tablice C++" w google i znalazłbyś bez problemu, ale będę miły i dam ci hinta:

int tablica2 [4][3]; // tyle wystarczy

Pętle są napisane poprawnie.
Skoro chcesz aby każdy element był o jeden większy od poprzedniego, to przydałby ci się zmienna (zadeklarowana przed pętlami), w której sobie zapamiętasz aktualną wartość.
W pętlach wtedy wystarczy, że przypiszesz wartość tej zmiennej do elementu tablicy i zwiększysz jej wartość o jeden:

tablica[i][j] = zmienna;
++zmienna;
1

http://ideone.com/SSzUQN

o cos takiego chodzi? mozna to latwiej i utworzyc prosta zmienna couter przed petla ustawic ja na zero i przypisywac ja do tablicy a pozniej ja zwiekszac o jeden. wyjdzie na jedno

0

Dziękuję.

2
for(int p=0,y=0;y<sizeof(tablica)/sizeof(*tablica);++y)
   for(int x=0;x<sizeof(*tablica)/sizeof(**tablica);++x,++p)
      tablica[y][x]=p;

1 użytkowników online, w tym zalogowanych: 0, gości: 1