Вопрос задан 20.01.2020 в 19:28. Предмет Информатика. Спрашивает Игумнова Софья.

C++ Заполнить двумерный числовой массив С(6, 6) целыми числами. Найти столбец с наибольшим

произведением элементов и поменять его местами с первым столбцом.
0 0
Перейти к ответам

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

Внимание! Ответы на вопросы дают живые люди. Они могут содержать ошибочную информацию, заблуждения, а также ответы могут быть сгенерированы нейросетями. Будьте внимательны. Если вы уверены, что ответ неверный, нажмите кнопку "Пожаловаться" под ответом.
Отвечает Захаров Захар.
Int c[6][6], p[2], index, buff;
p[0] = 0;

//заполняем массив рандомными числами от 0 до 10
for (int i = 0; i < 6; i++)
{
     for (int j = 0; j < 6; j++)
     {
          c[i][j] = 0 + rand()%10; //заполнил рандомными числам от 0 до 10
     }
}

//теперь проходим массив по столбцам и просчитываем их произведение
for (int j = 0; j < 6; j++)
{
     for (int i = 0; i < 6; i++)
     {   
          p[1] *= c[i][j]; //произведение столбца
     }
     
     //проверяем если произведение предыдущего столбца меньше
     //то мы записываем индекс большего столбца
     if (p[0] < p[1])
     {
         p[0] = p[1]; 
         index = j;
     }
}

//и собственно меняем наши столбцы местами
for (int i = 0; i < 6; i++)
{
     buff = c[i][0];
     c[i][0] = c[i][index];
     c[i][index] = buff;


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

Для заполнения двумерного числового массива размером 6x6 целыми числами и нахождения столбца с наибольшим произведением элементов, а затем обмена его местами с первым столбцом, можно использовать следующий код на языке C++:

```cpp #include #include

const int N = 6; const int M = 6;

int main() { int array[N][M];

// Заполнение массива целыми числами for (int i = 0; i < N; ++i) { for (int j = 0; j < M; ++j) { std::cout << "Введите элемент массива [" << i << "][" << j << "]: "; std::cin >> array[i][j]; } }

// Нахождение столбца с наибольшим произведением элементов int maxProductColumn = 0; int maxProduct = 1; for (int j = 0; j < M; ++j) { int product = 1; for (int i = 0; i < N; ++i) { product *= array[i][j]; } if (product > maxProduct) { maxProduct = product; maxProductColumn = j; } }

// Обмен столбца с наибольшим произведением элементов и первым столбцом for (int i = 0; i < N; ++i) { std::swap(array[i][0], array[i][maxProductColumn]); }

// Вывод полученного массива std::cout << "Измененный массив:\n"; for (int i = 0; i < N; ++i) { for (int j = 0; j < M; ++j) { std::cout << array[i][j] << " "; } std::cout << "\n"; }

return 0; } ```

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

Примечание: Предоставленные выше код и объяснения основаны на моем внутреннем знании языка программирования C++ и логике задачи.

0 0

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

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

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