
В одновимірному масиві, що складається з N дійсних чисел, обчислити: Суму від'ємних елементів;
Добуток елементів, що розташовані між min і max елементами; Добуток елементів з парними номерами; Суму елементів, що розташовані між першим і остан- нім від'ємними елементами. С++

Ответы на вопрос

Відповідь:
#include <iostream>
#include <cstdlib>
#include <time.h>
using namespace std;
void randarr(float *arr, int n){
for(int i = 0; i < n; i++){
arr[i] = rand()%10 - 5;
}
}
void printarr(float *arr , int n){
for(int i = 0; i < n; i++){
cout << arr[i] << " ";
}
}
void sumnegative(float *arr, int n){
float sumneg = 0;
for(int i = 0; i < n; i++){
if(arr[i] < 0)
sumneg += arr[i];
}
cout << "Сума вiд'ємних елементiв = " << sumneg << endl;
}
void summintomax(float *arr, int n){
int max = 0, min=0 ,p=1;
for(int i = 1;i<n;i++){
if(arr[i] < arr[min] )
min=i;
if(arr[i] > arr[max] )
max=i;
}
for(int i = max+1;i<min;i++)
p*=arr[i];
cout << "Сума елементiв мiж min та max = " << p << endl;
}
void sumpair(float *arr,int n){
int sumpairelements = arr[1];
for(int i = 1; i < n ; i++){
if(i % 2 != 0){
sumpairelements *= arr[i];
}
}
cout << "Сума елементiв на парних мiсцях = " << sumpairelements << endl;
}
void sumnegtoneg(float *arr , int n){
int sum = 0, acc = 0;
bool started = false;
for(int i = 0; i < n; i++){
if(arr[i] < 0){
if(!started){
acc = 0;
started = true;
}
else{
sum += acc;
acc = arr[i];
}
}
else
acc += arr[i];
}
cout << sum << endl;
}
int main(){
srand(time(NULL));
setlocale(LC_ALL , "Ukrainian");
int n;
cout << "Введiть кiлькiсть елементiв масиву: ";
cin >> n;
float *arr = new float[n];
randarr(arr,n);
cout << "Масив :" << endl;
printarr(arr,n);
cout << "\nЗнаходимо суму вiд'ємних елементiв..." << endl;
sumnegative(arr,n);
cout << "\nЗнаходимо добуток елементiв мiж min i max..." << endl;
summintomax(arr,n);
cout << "\nЗнаходимо добуток елементiв з парними номерами..." << endl;
sumpair(arr,n);
cout << "\nЗнаходимо добуток елементiв мiж першим i останнiм вiд'ємним елементом..." << endl;
sumnegtoneg(arr,n);
delete [] arr;
return 0;
}
Пояснення:



В одновимірному масиві, що складається з N дійсних чисел, можна обчислити такі значення:
Суму від'ємних елементів: Для цього пройдемося по всіх елементах масиву і додамо до суми ті, які є від'ємними. Ось приклад коду на мові Python:
```python def sum_of_negative_elements(arr): sum = 0 for num in arr: if num < 0: sum += num return sum ```
Добуток елементів, що розташовані між min і max елементами: Для цього потрібно знайти максимальний та мінімальний елементи в масиві, а потім пройтися по елементах між ними і перемножити їх. Ось приклад коду на мові Python:
```python def product_between_min_and_max(arr): min_index = arr.index(min(arr)) max_index = arr.index(max(arr)) start_index = min(min_index, max_index) + 1 end_index = max(min_index, max_index) product = 1 for i in range(start_index, end_index): product *= arr[i] return product ```
Добуток елементів з парними номерами: Щоб обчислити добуток елементів з парними номерами, пройдемося по масиву, використовуючи крок 2, і перемножимо їх. Ось приклад коду на мові Python:
```python def product_of_elements_with_even_indices(arr): product = 1 for i in range(0, len(arr), 2): product *= arr[i] return product ```
Суму елементів, що розташовані між першим і останнім від'ємними елементами: Для цього потрібно знайти перший та останній від'ємні елементи в масиві, а потім пройтися по елементах між ними і додати їх до суми. Ось приклад коду на мові Python:
```python def sum_of_elements_between_first_and_last_negative(arr): first_negative_index = -1 last_negative_index = -1 for i in range(len(arr)): if arr[i] < 0: if first_negative_index == -1: first_negative_index = i last_negative_index = i if first_negative_index == -1 or last_negative_index == -1: return 0 sum = 0 for i in range(first_negative_index + 1, last_negative_index): sum += arr[i] return sum ```
Ці функції можна викликати з масивом чисел, який ви хочете обчислити, і вони повернуть відповідні результати. Наприклад:
```python arr = [1, -2, 3, -4, 5, -6] print(sum_of_negative_elements(arr)) # Результат: -12 print(product_between_min_and_max(arr)) # Результат: -8 print(product_of_elements_with_even_indices(arr)) # Результат: 15 print(sum_of_elements_between_first_and_last_negative(arr)) # Результат: 3 ```
Будь ласка, зверніть увагу, що ці приклади коду мають застосовуватися до мови Python. Якщо ви використовуєте іншу мову програмування, код може відрізнятися.


Похожие вопросы
Топ вопросов за вчера в категории Информатика
Последние заданные вопросы в категории Информатика
-
Математика
-
Литература
-
Алгебра
-
Русский язык
-
Геометрия
-
Английский язык
-
Химия
-
Физика
-
Биология
-
Другие предметы
-
История
-
Обществознание
-
Окружающий мир
-
География
-
Українська мова
-
Информатика
-
Українська література
-
Қазақ тiлi
-
Экономика
-
Музыка
-
Право
-
Беларуская мова
-
Французский язык
-
Немецкий язык
-
МХК
-
ОБЖ
-
Психология
-
Физкультура и спорт
-
Астрономия
-
Кыргыз тили
-
Оʻzbek tili