#include <stdio.h> // printf#include <stdlib.h> // rand#include <time.h>#define M_SZ 6#define N_SZ 6int main(){ int i, j, index, mul=0, tmp; int array[M_SZ][N_SZ]; time_t t; srand((unsigned) time(&t)); for(i=0; i<M_SZ; i++) //записываем в массив случайные числа for(j=0; j<N_SZ; j++) array[i][j] = rand()%10; // не превышающие 10 for(i=0; i<M_SZ; i++) { // выводим массив в виде таблички for(j=0; j<N_SZ; j++) printf(\"%-6d\", array[i][j]); printf(\"\\"); } printf(\"\\"); for(j=0; j<N_SZ; j++) { // делаем проход по столбцам tmp = 1; for(i = 0; i < M_SZ; i++) // делаем проход по строкам i tmp *= array[i][j]; // столбца j и вычисляем произведение if(tmp > mul) { // если произведение для данного столбца mul = tmp; // больше предыдущих index = j; // запоминаем его номер } printf(\"%-6d\", tmp); // выводим произведения для отладки } printf(\"\\\"); if( index != 0 ) // если найденный столбец не является первым for(i = 0; i<M_SZ; i++) { // меняем его с первым tmp = array[i][0]; array[i][0] = array[i][index]; array[i][index] = tmp; } for(i=0; i<M_SZ; i++) { // выводим массив в виде таблички for(j=0; j<N_SZ; j++) printf(\"%-6d\", array[i][j]); printf(\"\\"); } return 0;}