Вычислить произведение между максимальным элементом массива и суммой его положительных элементов - 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 было последним положительным числом в массиве.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д