C++ Заполнить двумерный числовой массив С(6, 6) целыми числами. Найти столбец с наибольшим произведением элементов и поменять его местами с первым столбцом.
C++
Заполнить двумерный числовой массив С(6, 6) целыми числами. Найти столбец с наибольшим произведением элементов и поменять его местами с первым столбцом.
Ответ(ы) на вопрос:
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;
}
дальше с выводом и библиотеками думаю сам разберешься
Не нашли ответ?
Похожие вопросы