Поменять Местами Соответствующие Элементы Первой Строки И Главной Диаг

  • Автор темы Liori
  • Дата начала
L

Liori

Помогите, что у меня не так в коде? Выводит совсем не то, что сказано в условии

C++:
#include "stdafx.h"
#include <iostream>
#include <vector>
using namespace std;

int main(int argc, char* argv[])
{
int N;
cout << "Vvedite razmernost massiva: "; // т.к. вводится квадратная матрица, число вводится одно
cin >> N;
vector < vector<int> > mass(N, vector<int> (N));
vector < vector<int> > mass2(N, vector<int> (N));

for (int i = 0; i < N; i++) 
for (int j = 0; j < N; j++)
{
cin >> mass[i][j];
}

for (int i = 0; i < N; i++) 
{
for (int j = 0; j < N; j++)
{
if (i == j)
{
mass2[i][j] = mass[i][j];
mass[i][j] = mass[1][j];
mass[1][j] = mass2[i][j];

}
}
cout << "\n";
}

for (int i = 0; i < N; i++) 
{
for (int j = 0; j < N; j++)
{
cout << mass[i][j] << " ";
}
cout << "\n";
}

system("pause");
return 0;
}
 
W

Whatka

а зачем использовать векторы?чем обычные массивы не понравились?
вы понимаете что у вас 2 матрицы создаётся?



а так замените
C++:
		 mass2[i][j] = mass[i][j];
mass[i][j] = mass[1][j];
mass[1][j] = mass2[i][j];

на
C++:
swap(mass[i][i], mass[1][i]);
 
L

Liori

Заменила те строчки на
C++:
swap(mass[i][i], mass[1][i]);
Но, увы, всё равно не меняет элементы главной диагонали и первой строки
1b0e16c97014.jpg
 
W

Whatka

всё работает верно,но я вас не совсем правильно понял,вот так надо

C++:
swap(mass[i][i], mass[0][i]);
 
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!