Вычислить произведение элементов массива - C (СИ)

Узнай цену своей работы

Формулировка задачи:

Всем привет, нужна помощь! Заполнить одномерный массив целыми числами. Вычислить произведение элементов массива, стоящих между максимальным и минимальным элементами. Заранее огромное спасибо!

Решение задачи: «Вычислить произведение элементов массива»

textual
Листинг программы
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#define SIZE 20
 
 
int main(){
    //объявляние массима размером SIZE
    int array[SIZE];
    //счетчик индексов массива
    int count_ind;
    // сумма элементов между макс и мин элемент
    int sum_elem_ar = 0;
    //копия идекса миним элемента
    int copy_min_ind;
    // --//-- маск элемента
    int copy_max_ind;
    //мин
    int min;
    //max
    int max;
    int temp;
    
        
    // записываем случайные величины в массив 
    for(count_ind = 0; count_ind <= SIZE - 1; count_ind++){
        //функция генерации случайных числе
        srand((unsigned)count_ind);
        array[count_ind] = 1 + (rand() % ++count_ind);
    }
        min = array[SIZE];
        max = array[0];
        //ищем макс и мин элементы
    for(count_ind = 0; count_ind <= SIZE - 1; count_ind++){
        if(min < array[count_ind]){
            min = array[count_ind];
            copy_min_ind = count_ind;
        }
        if(max > array[count_ind]){
            max = array[count_ind];
            copy_max_ind = count_ind;
        }
        if(copy_max_ind < copy_min_ind){
            temp = copy_min_ind;
            copy_min_ind = copy_max_ind;
            copy_max_ind = temp;
        }
    }   
    //ищем сумму элементов min and max
    for(count_ind = copy_min_ind; count_ind < copy_max_ind; count_ind++)
        sum_elem_ar += array[count_ind];
    printf("Sum_elem_ar = %d", sum_elem_ar);
    
    return 0;
    
    
}

Объяснение кода листинга программы

В этом коде выполняются следующие действия:

  1. Сборка массива: создается массив размером SIZE, в который затем записываются случайные числа, сгенерированные функцией rand().
  2. Поиск минимума и максимума: ищется минимальное и максимальное значение в массиве.
  3. Поиск суммы элементов между минимальным и максимальным элементами: используя найденные индексы минимального и максимального элементов, происходит итерация по элементам массива и суммируются значения элементов.
  4. Вывод результата: выводится значение суммы элементов. Список действий в коде:
  5. Объявление массива размером SIZE.
  6. Объявление переменных:
    • count_ind (счетчик индексов массива)
    • sum_elem_ar (сумма элементов между макс и мин элемент)
    • copy_min_ind (копия индекса миним элемента)
    • copy_max_ind (копия индекса макс элемента)
    • min (мин)
    • max (макс)
    • temp (временная переменная)
  7. Запись случайных чисел в массив.
  8. Поиск минимума и максимума массива.
  9. Поиск суммы элементов между минимальным и максимальным элементами.
  10. Вывод результата. Пояснение к коду:
    • В строке 19-22 происходит сортировка индексов min и max элементов, если они не упорядочены. Это необходимо для корректного вычисления суммы элементов.
    • В цикле с 24 по 27 происходит итерация по элементам массива от min до max и суммирование их значений.
    • Значение sum_elem_ar выводится в строке 28.

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


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

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

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