Найти сумму элементов массива меньше 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 и выполняет следующие действия:

  1. Инициализация массива: В функции init генерируются случайные значения для четных элементов массива, так что они становятся нечетными. Это делается для того, чтобы в последующем при умножении четных элементов на сумму этих элементов, полученная сумма была больше 200.
  2. Нахождение суммы элементов массива: В функции sum происходит итерация по всем элементам массива и суммируются те элементы, которые меньше 100 или больше 200.
  3. Умножение четных элементов массива на сумму этих элементов: В функции product происходит итерация по всем элементам массива с шагом 2 (то есть только для четных индексов) и умножение каждого четного элемента на сумму элементов, найденную в функции sum.
  4. Печать массива до и после умножения четных элементов на сумму этих элементов: В функции print_arr происходит итерация по всем элементам массива и их печать. Это позволяет увидеть исходный массив и массив после умножения четных элементов на сумму этих элементов. Список действий:
  5. Инициализация массива
  6. Нахождение суммы элементов массива
  7. Умножение четных элементов массива на сумму этих элементов
  8. Печать массива до и после умножения четных элементов на сумму этих элементов

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

10   голосов , оценка 4 из 5
Похожие ответы