Найти сумму элементов массива меньше 100 и больше 200 - C (СИ)
Формулировка задачи:
1. Функция инициализации массива из 100 элементов нечётными случайными значениями от 1 до 1000.
2. Функция, которая возвращает сумму элементов массива меньше 100 и больше 200.
3. Функция, которая умножает каждое чётное значение массива на разность из пункта 2.
Заранее благодарен!
Решение задачи: «Найти сумму элементов массива меньше 100 и больше 200»
textual
Листинг программы
#include <stdio.h> #include <stdlib.h> #include <time.h> #define MAX_ELEMENTS 100 void init(int []); int sum(int []); void product(int [], int); void print_arr(int []); int main(int argc, char **argv) { int arr[MAX_ELEMENTS]; //массив на 100 элементов int sum_elements = 0; //сумма элементов (пункт 2) init(arr); //инициалиазция массива (пункт 1) printf("\nИсходный массив:\n"); print_arr(arr); //распечатываем //пункт 2 printf("\n\nСумма элементов = %d\n", sum_elements = sum(arr)); //умножение четных элементов (пункт 3) product(arr, sum_elements); printf("\n\nПолученный массив:\n"); print_arr(arr); return 0; } void init(int arr[]) { int i, rand_value; srand(time(NULL)); for(i = 0, rand_value = rand() % 1000 + 1; i < MAX_ELEMENTS; ++i, rand_value = rand() % 1000 + 1) if( ! (rand_value % 2) ) i--; else arr[i] = rand_value; } int sum(int arr[]) { int sum_elements = 0, i = 0; for( ; i < MAX_ELEMENTS; ++i) if(arr[i] < 100 || arr[i] > 200) sum_elements += arr[i]; return sum_elements; } void product(int arr[], int sum_elements) { int i = 0; for( ; i < MAX_ELEMENTS; i += 2) arr[i] *= sum_elements; } void print_arr(int arr[]) { int i = 0; for( ; i < MAX_ELEMENTS; ++i) printf("%d => %d \n", i, arr[i]); }
Объяснение кода листинга программы
Код представлен на языке C и выполняет следующие действия:
- Инициализация массива:
В функции
init
генерируются случайные значения для четных элементов массива, так что они становятся нечетными. Это делается для того, чтобы в последующем при умножении четных элементов на сумму этих элементов, полученная сумма была больше 200. - Нахождение суммы элементов массива:
В функции
sum
происходит итерация по всем элементам массива и суммируются те элементы, которые меньше 100 или больше 200. - Умножение четных элементов массива на сумму этих элементов:
В функции
product
происходит итерация по всем элементам массива с шагом 2 (то есть только для четных индексов) и умножение каждого четного элемента на сумму элементов, найденную в функцииsum
. - Печать массива до и после умножения четных элементов на сумму этих элементов:
В функции
print_arr
происходит итерация по всем элементам массива и их печать. Это позволяет увидеть исходный массив и массив после умножения четных элементов на сумму этих элементов. Список действий: - Инициализация массива
- Нахождение суммы элементов массива
- Умножение четных элементов массива на сумму этих элементов
- Печать массива до и после умножения четных элементов на сумму этих элементов
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д