Найти среднеарифметическое максимальных элементов в каждой строке матрицы - C (СИ)
Формулировка задачи:
Здравствуйте, помогите пожалуйста.
Задание:
a) Статическая память. Двумерный массив. Дан массив целых чисел. Найти среднеарифметическое
максимальных элементов в каждой строке.
b) Динамическая память. Одномерный массив. Дан массив вещественных чисел. Правда ли, что
цифры минимального элемента входят в состав максимального числ
Исходный код программы для пункта а:
Исходный код программы для пункта б:
Спасибо!
#include <stdio.h> #include <time.h> int main () { //a) Статическая память. Двумерный массив. Найти сумму элементов больше 15. //Заводим значение о количетсве строк и столбцов массива. int n=0, m=0; printf ("Enter number rows and colums in massive\n"); scanf("%d%d",&n,&m); //Инициализируем массив. int mas[n][m]; //Использование системного времени srand(time(NULL)); //Заполнение массива случайными числами int i=0, j=0; for(i = 0; i < n; i++) for(j = 0; j < m; j++) mas[i][j] = rand() %100 + 1; //Вывод массива printf("\nThe initial array of [%d, %d]:\n", n, m); for(i = 0; i < n; i++) { for(j = 0; j < m; j++) printf("%3d ", mas[i][j]); printf("\n"); } //Нахождение суммы элементов int sum = 0; //переменная для хранения суммы for(i = 0; i < n; i++) for(j = 0; j < m; j++) if (mas[i][j]>15) sum+=mas[i][j]; printf("\nSumma elements = %2d\n", sum); return 0;
#include <stdio.h> #include <malloc.h> #include <time.h> int main () { //b) Динамическая память. Одномерный массив. Определить количество чётных элементов и заканчивающихся на 3. //Вводим информацию о количетсве элементов массива. int n=0; printf ("Enter number elements in massive\n"); scanf("%d",&n); //Инициализируем массив. int *arr; arr = (int *) (malloc(n*sizeof(int))); if (!arr) // условие логического отрицания { // выход за пределы памяти printf("Out of memory. Press any key: "); return 1; } //Использование системного времени srand(time(NULL)); //Заполнение массива случайными числами int i=0; for(i = 0; i < n; i++) arr[i] = rand() %1000 + 1; //Вывод массива printf("\nThe initial array of [%d]:\n", n); for(i = 0; i < n; i++) printf("%3d ", arr[i]); //поиск четных элементов int sum1 = 0; //сумма четных элементов int sum2 = 0; //сумма элементов заканчивающихся на 3 for(i = 0; i < n; i++) if (arr[i]%2==0) sum1+=arr[i]; else if (arr[i]%10==3) sum2+=arr[i]; printf ("\nsumma chentnih elementov = %d \nsumma elementov on 3 = %d ", sum1, sum2); return 0;
Решение задачи: «Найти среднеарифметическое максимальных элементов в каждой строке матрицы»
textual
Листинг программы
#include <stdio.h> #include <stdlib.h> #include <time.h> #define ROW 5 #define COLUMN 5 int main() { int mass[ROW][COLUMN]; int max[ROW]; float res = 0; int i,j; srand(time(NULL)); for(i = 0; i < ROW; i++) { for(j = 0; j < COLUMN; j++) { mass[i][j] = rand() % 20 - 10; printf("%5d",mass[i][j]); } printf("\n"); } for(i = 0; i < ROW; i++) { max[i] = mass[i][0]; for(j = 1; j < COLUMN; j++) max[i] = max[i] < mass[i][j] ? mass[i][j] : max[i]; res += max[i]; } printf("Среднее арифметическое максимумов: %.1f\n",res/ROW); return 0; }
Объяснение кода листинга программы
- Включаем необходимые заголовочные файлы для работы с I/O и генерации случайных чисел
- Определяем размерность матрицы (ROW x COLUMN)
- Инициализируем матрицу случайными числами от -10 до 10
- Выводим значения матрицы на экран
- Инициализируем переменную для хранения максимального элемента в каждой строке матрицы
- Проходим по каждой строке матрицы
- В каждой строке находим максимальный элемент и обновляем значение переменной max[i]
- Суммируем все максимальные элементы и сохраняем в переменную res
- Вычисляем среднее арифметическое максимальных элементов и выводим на экран
- Возвращаем 0, чтобы указать на успешное завершение программы
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д