Вычислить произведение между максимальным элементом массива и суммой его положительных элементов - C (СИ)
Формулировка задачи:
Дан линейный массив действительных чисел. Вычислить произведение между максимальным элементом массива и суммой его положительных элементов.
Решение задачи: «Вычислить произведение между максимальным элементом массива и суммой его положительных элементов»
textual
Листинг программы
#include <stdio.h> #include <stdlib.h> #include <time.h> int random(int min, int max) { static int first = 1; if (first) { srand(time(NULL)); first = 0; } return min + rand() % (max - min); } int main() { int size,i,max,sum=0; printf("enter array size: "); scanf("%d",&size); int arr[size]; for(i=0;i<size;i++) { arr[i] = random(-100,100); printf("%d ",arr[i]); if(arr[i]>0) sum+=arr[i]; } printf("\n"); max = arr[0]; for(i=0;i<size;i++) if(max<arr[i]) max=arr[i]; printf("res = %d\n",max*(sum-max)); return 0; }
Объяснение кода листинга программы
Вывод:
- Включаем необходимые заголовочные файлы
- Определяем функцию для генерации случайного числа в заданном диапазоне
- Определяем основную функцию программы
- Задаем переменные: размер массива, счётчик для цикла, максимальное значение, сумма положительных чисел
- Запрашиваем размер массива с помощью функции scanf
- Создаем массив заданного размера
- Заполняем массив случайными числами с помощью функции random
- Выводим элементы массива на экран через пробел
- Если элемент больше нуля, то прибавляем его к сумме
- Находим максимальное значение в массиве
- Вычисляем произведение максимального значения и суммы, исключая максимальное значение
- Выводим результат на экран
- Возвращаем 0, чтобы программа завершилась успешно Пояснение: — Функция random генерирует случайное число в заданном диапазоне. Она использует статическое значение first, чтобы инициализировать генератор случайных чисел при первом вызове, и затем использует функцию rand для генерации случайного числа. — Функция main запрашивает размер массива у пользователя, а затем заполняет массив случайными числами. Она отслеживает максимальное значение в массиве и сумму положительных чисел. — Переменная sum обновляется только если элемент больше нуля. Это гарантирует, что отрицательные числа не будут учтены при вычислении суммы. — Переменная max обновляется только если встречается новое максимальное значение. Это гарантирует, что значение max всегда будет максимальным значением в массиве. — Наконец, произведение max и sum вычисляется и выводится на экран. Оператор % в выражении max — max гарантирует, что произведение будет корректным, даже если max было последним положительным числом в массиве.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д