Предмет: Информатика, автор: lolgm123a

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


nazikmuz: Делаю

Ответы

Автор ответа: nazikmuz
2

Відповідь:

#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;

}

Пояснення:

Похожие вопросы
Предмет: Английский язык, автор: поля578
Предмет: Математика, автор: renatadz