Помогите программисты! у меня неверно работает программа.... - Компьютерные вопросы
  • Чаты 4chT.com в телеграмм
    Наши группы в телеграмм

Вопрос Помогите программисты! у меня неверно работает программа....

Регистрация
21 Ноя 2013
Сообщения
84
Репутация
0
Спасибо
0
Монет
0
я написал программу которая должна менять местами значения из главной диагонали и последнего столбца двумерного массива, но заменяются лишь значения главной диагонали, а значения третьего столбца остаются неизменными.... вот сам код:

#include <iostream>

using namespace std;



int main()

{

// Объявляем двумерный массив

int a[3][3] = {

{1, 2, 3},

{2, 4, 6},

{3, 6, 9}

};



// Меняем местами элементы главной диагонали и третьего столбца

for (int i = 0; i < 3; ++i)

{

swap(a, a[2]);

}



// Выводим массив на экран

cout << "Массив после замены элементов:" << endl;

for (int i = 0; i < 3; ++i)

{

for (int j = 0; j < 3; ++j)

{

cout << a[j] << " ";

}

cout << endl;

}



return 0;

}
 
Регистрация
8 Авг 2013
Сообщения
93
Репутация
0
Спасибо
0
Монет
0
Попробуй через cmd запустить. Вроде всё правильно написано. Не помню, правда, надо-ли cmath подключать...
 
Регистрация
26 Апр 2013
Сообщения
103
Репутация
0
Спасибо
0
Монет
0
У меня работает. Диагональ пересекается с третьим столбцом, поэтому элемент 9 на их пересечении меняется местами с самим собой, то есть остается прежним.
6638036_7e973e14700e0ac90426cf88529475d3_800.png

 
Регистрация
7 Ноя 2013
Сообщения
85
Репутация
10
Спасибо
0
Монет
0
Проблема в неправильном обращении к столбцу. Вместо a[2] необходимо использовать a[3-1], потому что нумерация столбцов начинается с 0.
 
Сверху Снизу