Вопрос задан 21.06.2023 в 15:21. Предмет Информатика. Спрашивает Борисович Станислав.

Обмен столбца.C++.Срочно пожалуйста.35 баллов дам В заданном двумерном массиве целых чисел найти

индекс столбца максимального элемента двумерного массива – пусть это column. Требуется поменять местами первый столбец со столбцом с индексом column и вывести получившийся двумерный массив.
0 0
Перейти к ответам

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

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

signed main(){

   int n, m;

   cin >> n >> m;

   vector<vector<int>> a(n, vector<int> (m));

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

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

           cin >> a[i][j];

   int col = 0, mx = a[0][0];

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

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

           if(a[i][j] > mx){

               mx = a[i][j];

               col = j;

           }

       }

   }

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

       swap(a[i][0], a[i][col]);

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

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

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

       cout << "\n";

   }

}

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

Для обмена столбцов в двумерном массиве вам потребуется написать программу на C++. Вот пример решения этой задачи:

cpp
#include <iostream> using namespace std; int main() { // Задаем размеры массива int rows, cols; cout << "Введите количество строк: "; cin >> rows; cout << "Введите количество столбцов: "; cin >> cols; // Создаем двумерный массив int** array = new int*[rows]; for (int i = 0; i < rows; i++) { array[i] = new int[cols]; } // Заполняем массив данными cout << "Введите элементы массива:" << endl; for (int i = 0; i < rows; i++) { for (int j = 0; j < cols; j++) { cin >> array[i][j]; } } // Находим индекс столбца с максимальным элементом int maxColumn = 0; int maxElement = array[0][0]; for (int j = 0; j < cols; j++) { for (int i = 0; i < rows; i++) { if (array[i][j] > maxElement) { maxElement = array[i][j]; maxColumn = j; } } } // Обмен столбцов for (int i = 0; i < rows; i++) { int temp = array[i][0]; array[i][0] = array[i][maxColumn]; array[i][maxColumn] = temp; } // Вывод получившегося массива cout << "Получившийся массив:" << endl; for (int i = 0; i < rows; i++) { for (int j = 0; j < cols; j++) { cout << array[i][j] << " "; } cout << endl; } // Освобождаем память for (int i = 0; i < rows; i++) { delete[] array[i]; } delete[] array; return 0; }

Этот код сначала запрашивает у пользователя размеры массива и его элементы, затем находит индекс столбца с максимальным элементом, меняет местами первый столбец и столбец с максимальным элементом, и, наконец, выводит получившийся массив.

Убедитесь, что вы внимательно проверили и протестировали код, чтобы убедиться, что он работает правильно для ваших конкретных требований.

0 0

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

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

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

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