Другие языки программирования и технологии

Почему у меня не получается вывести элементы внутреннего массива? С++

#include

using namespace std;

int main()
{

int ia[3][4] = {

{1,3,4,5},
{2,3,4,3},
{3,4,1,2}
};

for (int i = 0, k = 0; k < 4; k++)

{
cout << ia[i][k] << endl;
i++;
}

system("pause");
return 0;
}
Алекс Кок
Алекс Кок
381
а что ты хочешь?
тебе нужен вложенный цикл:

const int n = 3, m = 4;
int a[n][m] =
{
{11, 12, 13, 14},
{21, 22, 23, 24},
{31, 32, 33, 34}
};
for (int i = 0; i < n; ++i)
{
for (int j = 0; j < m; ++j)
{
cout << a[i][j] << ' ';
}
cout << endl;
}
Александр Майоров
Александр Майоров
44 389
Лучший ответ
Потому что каждый раз меняешь и i и k.
И "внутренних массивов" у тебя три. О каком речь?

Вывод всего массива: в старых вариантах C++:

#include "iostream"
using namespace std;
int main(){
int ia[3][4]={{1,3,4,5},{2,3,4,3},{3,4,1,2}};
for(int i=0;i< 3;i++){for(int j=0;j< 4;j++)cout<<ia[i][j]<<' '; cout<<endl;}
cin.get(); cin.get();}

в современном C++:

#include "iostream"
using namespace std;
int main(){
int ia[3][4]={{1,3,4,5},{2,3,4,3},{3,4,1,2}};
for(auto& i:ia){for(auto j:i)cout<<j<<' '; cout<<endl;}
cin.get(); cin.get();}

P.S. "Почему у меня 3 внутренних массива? Их 4. [3] - внешние, [4] - внутренние."
У тебя один массив из трех массивов. А 4 - это количество не массивов, а целых чисел в каждом из внутренних массивов.
Олег Медведь
Олег Медведь
65 186
Смотрим, что делает кусок кода:
for (int i = 0, k = 0; k < 4; k++)

{
cout << ia[i][k] << endl;
i++;
}

1) присваиваем переменным i и k значение 0
2) выводим значение ia[i][k]
3) прибавляем к i и k 1
повторяем действия 2 и 3 еще 2 раза
получаем i == 3, k == 3
Чему равно ia[3][3]??
Vusal Ibragimov
Vusal Ibragimov
1 291

Похожие вопросы