Вопрос задан 24.06.2023 в 08:46. Предмет Информатика. Спрашивает Ляпина Марина.

C++ Транспонировать квадратную матрицуДан двумерный массив размером n×n. Транспонируйте его и

результат запишите в этот же массив (транспонированная матрица из исходной получается, если каждую строчку исходной матрицы записать в виде столбца в том же порядке). Вспомогательный массив использовать нельзя.Ввод и вывод матрицы t уже написаны, необходимо только написать трнаспонирование матрицы t.Входные данныеНа первой строке входных данных задано натуральное число n≤500. В следующих n строках задано по n натуральных чисел — элементы массива.Выходные данныеВыведите ответ на задачу.ПримерыВводВывод31 2 34 5 67 8 91 4 7 2 5 8 3 6 9using namespace std;int main(){ int n; cin >> n; vector > t(n, vector (n)); int i1 = 0, j1 = 0; for (int i = 0; i < t.size(); ++i){ for (int j = 0; j < t[i].size(); ++j){ cin >> t[i][j]; } } for (int i = 0; i < t.size(); ++i){ for (int j = 0; j < t[i].size(); ++j){ cout << t[i][j] << " "; } cout << endl; } return 0;}
0 0
Перейти к ответам

Ответы на вопрос

Внимание! Ответы на вопросы дают живые люди. Они могут содержать ошибочную информацию, заблуждения, а также ответы могут быть сгенерированы нейросетями. Будьте внимательны. Если вы уверены, что ответ неверный, нажмите кнопку "Пожаловаться" под ответом.
Отвечает Черный Расул.

Ответ:

   for (int i = 0; i < t.size(); ++i) {

       for (int j = 0; j < i; ++j) {

           swap(t[j][i] ,t[i][j]);

           }

       }

Объяснение:

0 0
Отвечает нейросеть ChatGpt. Будьте внимательны, ответы нейросети могут содержать ошибочные или выдуманные данные.

Для транспонирования квадратной матрицы в том же массиве можно использовать следующий код. Вы будете перебирать элементы только в верхнем треугольнике матрицы и менять их местами с соответствующими элементами в нижнем треугольнике:

cpp
#include <iostream> #include <vector> using namespace std; int main() { int n; cin >> n; vector<vector<int>> t(n, vector<int>(n)); for (int i = 0; i < n; ++i) { for (int j = 0; j < n; ++j) { cin >> t[i][j]; } } // Транспонируем матрицу for (int i = 0; i < n; ++i) { for (int j = i + 1; j < n; ++j) { // Меняем элементы (i, j) и (j, i) местами swap(t[i][j], t[j][i]); } } // Выводим результат for (int i = 0; i < n; ++i) { for (int j = 0; j < n; ++j) { cout << t[i][j] << " "; } cout << endl; } return 0; }

Этот код сначала считывает матрицу, затем транспонирует её элементы, и наконец, выводит транспонированную матрицу в том же массиве.

0 0

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

Топ вопросов за вчера в категории Информатика

Последние заданные вопросы в категории Информатика

Задать вопрос