// Example program #include #include using namespace std; /* Заполнить двумерный массив случайными числами . Размерность массива и диапазон генерации вводится с клавиатуры. Составить программу подсчета суммы произведений элементов строк и столбов. Посчитать среднее арифметическое всех элементов массива. */ int main() { // автоматическая рандомизация. чтобы при каждом запуске программы был разный набор значений. //начало отсчета функции time(0) с 00:00 hours, Jan 1, 1970 UTC. srand( time( 0 ) ); // формула генерации случайных чисел по заданному диапазону //random_number = firs_value + rand() % last_value; // где firs_value - минимальное число из желаемого диапазона // last_value - ширина выборки int N, M; //Размерность массива int firs_value, last_value; //Диапазон генерации cout << "Введите число строк: "; cin >> N; cout << "Введите число столбцов: "; cin >> M; cout << "Введите минимальное число из желаемого диапазона: "; cin >> firs_value; cout << "Введите ширину выборки: "; cin >> last_value; if(N < 1 || M < 1 || firs_value < 1 || last_value < 1) { cout << "Invalid input data"; return 0; } //Создание двухмерного массива int** array = new int*[N]; for(int i = 0; i < N; i++) { array[i] = new int[M]; } float sum_all_items = 0; //Инициализация (первое присвоение значений) матрици for(int i = 0; i < N; i++) { for(int j = 0; j < M; j++) { array[i][j] = firs_value + rand() % (last_value + 1); sum_all_items += array[i][j]; //Сумма всех элементов массива } } int sum = 0; //сумма произведений элементов строк и столбцов int i, j, composition; //Проходим по строкам for(i = 0; i < N; i++) { composition = 1; //сброс for(j = 0; j < M; j++) { composition = composition * array[i][j]; cout << array[i][j] << ' '; //Вывод матрицы } sum += composition; cout << endl; } //Проходим по столбцам for(i = 0; i < M; i++) { composition = 1; //сброс for(j = 0; j < N; j++) { composition = composition * array[j][i]; } sum += composition; } cout << endl << "Cумма произведений элементов строк и столбцов " << sum << endl; cout << "Cреднее арифметическое всех элементов массива " << sum_all_items / (N*M) << endl; }