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

Ответы 1

  • #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;}
    • Автор:

      mimiuynd
    • 2 года назад
    • 0
  • Добавить свой ответ

Войти через Google

или

Забыли пароль?

У меня нет аккаунта, я хочу Зарегистрироваться

How much to ban the user?
1 hour 1 day 100 years