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

Задача С++ , массив
Заполните целочисленный массив 100 случайными числами в диапазоне -99...99, выведите его в таблицу на экран
в виде 10 чисел в строке, вычислить и вывести на экран следующую информацию (затем написать и вызвать
функции):
A: среднее арифметическое значение массива:
float getAverage(int array[], int size)
пример: 12 -76 0 90 -44 15 -2 90 0 22 → 10.7
B: количество отрицательных элементов:
int negCount(int array[], int size)
пример: 12 -76 0 90 -44 15 -2 90 0 22 → 3
C: индекс первой нулевой позиции (или -1, если в массиве нет нуля):
int zeroIndex(int array[], int size)
пример: 12 -76 0 90 -44 15 -2 90 0 22 → 2
D: минимальное и максимальное значения элементов:
int getMin(int array[], int size)
int getMax(int array[], int size)
пример: 12 -76 0 90 -44 15 -2 90 0 22 → -76...90
E: сумма элементов в массиве между первым минимумом и последним максимумом:
int getRangeSum(int array[], int size)
пример: 12 -76 0 90 -44 15 -2 90 0 22 → 59

Ответы

Автор ответа: shahbazovelman97
1

Объяснение:

#include <iostream>

#include <cstdlib>

#include <ctime>

using namespace std;

float getAverage(int array[], int size);

int negCount(int array[], int size);

int zeroIndex(int array[], int size);

int getMin(int array[], int size);

int getMax(int array[], int size);

int getRangeSum(int array[], int size);

int main()

{

   const int ARRAY_SIZE = 100;

   int arr[ARRAY_SIZE];

   srand(time(NULL));

   for (int i = 0; i < ARRAY_SIZE; i++)

   {

       arr[i] = rand() % 199 - 99;

   }

   // вывод массива в таблицу на экран

   for (int i = 0; i < ARRAY_SIZE; i++)

   {

       cout << arr[i] << "\t";

       if ((i + 1) % 10 == 0)

           cout << endl;

   }

   cout << "A: Среднее арифметическое значение массива: " << getAverage(arr, ARRAY_SIZE) << endl;

   cout << "B: Количество отрицательных элементов: " << negCount(arr, ARRAY_SIZE) << endl;

   cout << "C: Индекс первой нулевой позиции: " << zeroIndex(arr, ARRAY_SIZE) << endl;

   int min = getMin(arr, ARRAY_SIZE);

   int max = getMax(arr, ARRAY_SIZE);

   cout << "D: Минимальное значение элементов: " << min << endl;

   cout << "   Максимальное значение элементов: " << max << endl;

   cout << "E: Сумма элементов в массиве между первым минимумом и последним максимумом: " << getRangeSum(arr, ARRAY_SIZE) << endl;

   return 0;

}

float getAverage(int array[], int size)

{

   float sum = 0;

   for (int i = 0; i < size; i++)

   {

       sum += array[i];

   }

   return sum / size;

}

int negCount(int array[], int size)

{

   int count = 0;

   for (int i = 0; i < size; i++)

   {

       if (array[i] < 0)

           count++;

   }

   return count;

}

int zeroIndex(int array[], int size)

{

   for (int i = 0; i < size; i++)

   {

       if (array[i] == 0)

           return i;

   }

   return -1;

}

int getMin(int array[], int size)

{

   int min = array[0];

   for (int i = 1; i < size; i++)

   {

       if (array[i] < min)

           min = array[i];

   }

   return min;

}

int getMax(int array[], int size)

{

   int max = array[0];

   for (int i = 1; i < size; i++)

   {

       if (array[i] > max)

           max = array[i];

   }

   return max;

}

int getRangeSum(int array[], int size)

{

   int sum = 0;

   int minIndex = 0, maxIndex = 0;

   for (int i = 1; i < size; i++)

   {

       if (array[i] < array[minIndex])

           minIndex = i;

       if (array[i] > array[maxIndex])

           maxIndex = i;

   }

 

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