Дар дарси гузашта сиклҳо ҷадвалро чоп мекарданд. Аксар вақт ҷадвал вуруд аст: фурӯши қаҳвахона барои ҳар рӯз ва ҳар нӯшокӣ, баҳои ҳар хонанда аз ҳар фан, пикселҳои акс. Вектор як сатри ададҳоро нигоҳ медорад. Барои нигоҳ доштани тамоми ҷадвал, ки сатр ва сутун дорад, вектори векторҳоро истифода мебарем.
Ҷадвал вектори векторҳо аст
row як сатр аз m сифр аст. Ҷадвали a аз n нусхаи он иборат аст. Пас a[i] сатри i аст, ки худаш вектор аст, ва a[i][j] катаки сатри i, сутуни j аст. Ҳарду индекс аз 0 оғоз мешаванд.
Аввал сатр, баъд сутун. Ин тартибро дар ёд доред. a.size() шумораи сатрҳо, n аст. a[i].size() дарозии сатр, m аст. Ҳар a[i][j] int-и оддӣ аст: онро хондан, чоп кардан, тағйир додан ва муқоиса кардан мумкин аст. Барои ҷамъҳои калоншаванда long long гиред.
Ин ду сатр аксар вақт дар як сатр навишта мешаванд: vector<vector<int>> a(n, vector<int>(m));. Маънояш як аст.
Хондан ва чоп кардани ҷадвал
Дар вуруд ҷадвал сатр ба сатр, аз чап ба рост дода мешавад. Ин айнан тартиби ду сикли дохили ҳам аст: сатрҳо дар берун, сутунҳо дар дарун.
Ҷадвали
nсатр ваmсутунро хонед. Онро баргардонда чоп кунед, дар ҳар сатр як сатри ҷадвал.
Вуруд
Баромад
Сиклҳо катакҳоро сатр ба сатр мегузаранд: аввал тамоми сатри 0, баъд тамоми сатри 1 ва ғайра. Агар гузаришҳоро аз 0 бишуморем, гузариши рақами k ба катаки сатри k / m ва сутуни k % m рост меояд. Дар ҳолати m = 4 гузариши 6 сатри 1, сутуни 2 аст.
Дар шартҳо сатр ва сутунро одатан аз 1 рақам мекунанд. Мисли вектор, катаки (r, c)-и шарт a[r - 1][c - 1] аст.
Як катак, як сатр, як сутун
Вақте ки ҷадвал хонда шуд, ҳар катак бо як муроҷиат ба даст меояд, ҳар ҷое ки бошад.
- Чор кунҷ:
a[0][0],a[0][m - 1],a[n - 1][0],a[n - 1][m - 1]. - Маркази ҷадвали
n × nҳангоме киnтоқ аст:a[n / 2][n / 2]. - Сатри
i:a[i][0],a[i][1], …a[i][m - 1]. Ин сикл аз рӯиjаст. - Сутуни
j:a[0][j],a[1][j], … . Ин сикл аз рӯи аст.