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

0 голосов
46 просмотров

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


Информатика (26 баллов) | 46 просмотров
Дан 1 ответ
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;


дальше с выводом и библиотеками думаю сам разберешься

(74 баллов)
0

#define SIZE 3
#include
#include
#include
void main()
{
int c[SIZE][SIZE],i,j,p,pmax,jmax,temp;
clrscr();
for (i=0;ifor (j=0;j{
scanf("%i",&c[i][j]);
}
pmax=0;
for (j=0;j{p=1;
for (i=0;ip=p*c[i][j];
if (p>pmax)
{pmax=p;
jmax=j;
}}
for (i=0;i{temp=c[i][0];
c[i][0]=c[i][jmax];
c[i][jmax]=temp;}
for (i=0;i{for (j=0;jprintf("%4i",c[i][j]);
printf("\n");}
getch();
}