
В одномерном массиве найти среднее арифметическое для элементов, расположенных между максимальным и
минимальным. Если они следуют один за другим, считать его равным нулю. Количество элементов в массиве не более 200. Формат числа цц.ц. Массив распечатывать по десять элементов на строке.

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

Ответ:
1) Если изначальный массив НЕ дан, т.е необходимо его заполнить случайными числами
#include <iostream>
#include <cstdlib>
#include <ctime>
using namespace std;
void GetMaxAndMinIndex(int* data,int* MaxIndex,int* MinIndex) {
for (int i = 0; i < 200; ++i) {
if (data[i] > data[i + 1]) {
*MaxIndex = i;
}
if (data[i] < data[i + 1]) {
*MinIndex = i;
}
}
}
void SearchSrAr(int* data,int* MaxIndex,int* MinIndex) {
int tmpI = 0;
int TmpNum = 0;
for (int i = *MinIndex; i < *MaxIndex; ++i) {
TmpNum = TmpNum + data[i];
tmpI++;
}
double output = TmpNum / tmpI;
cout <<"Ваше число "<< output;
}
int main() {
setlocale(LC_ALL, "Russian");
int* data = new int[200];
int MaxIndex = 0, MinIndex = 100;
srand(time(NULL));
for (int i = 0; i < 200;++i) {
data[i] = rand() % 100;
}
GetMaxAndMinIndex(data, &MaxIndex, &MinIndex);
SearchSrAr(data, &MaxIndex, &MinIndex);
delete[] data;
}
И если этот массив и его размер нам известны
#include <iostream>
#include <cstdlib>
#include <ctime>
using namespace std;
void GetMaxAndMinIndex(int* data,int* MaxIndex,int * n,int* MinIndex) {
for (int i = 0; i < *n; ++i) {
if (data[i] > data[i + 1]) {
*MaxIndex = i;
}
if (data[i] < data[i + 1]) {
*MinIndex = i;
}
}
}
void SearchSrAr(int* data,int* MaxIndex,int* MinIndex) {
int tmpI = 0;
int TmpNum = 0;
for (int i = *MinIndex; i < *MaxIndex; ++i) {
TmpNum = TmpNum + data[i];
tmpI++;
}
double output = TmpNum / tmpI;
cout <<"Ваше число "<< output;
}
int main() {
setlocale(LC_ALL, "Russian");
int n;
cout << "Введите количество чисел в массиве " << endl;
cin >> n;
int* data = new int[n];
int MaxIndex = 0, MinIndex = 100;
cout << "Введите ваш массив " << endl;
for (int i = 0; i < n; ++i) {
cin >> data[i];
}
GetMaxAndMinIndex(data, &MaxIndex,&n, &MinIndex);
SearchSrAr(data, &MaxIndex, &MinIndex);
delete[] data;
}
Объяснение:
Код на с++



Приведенный вами текст представляет задачу по программированию на языке, который предположительно использует указанный синтаксис. Давайте рассмотрим решение данной задачи на примере Python.
pythondef find_average(arr):
# Найти индексы максимального и минимального элементов
max_index = arr.index(max(arr))
min_index = arr.index(min(arr))
# Определить начальный и конечный индексы для вычисления среднего
start_index = min(max_index, min_index) + 1
end_index = max(max_index, min_index)
# Если элементы идут последовательно, вернуть 0
if end_index - start_index == 1:
return 0
# Вычислить среднее арифметическое для элементов между минимальным и максимальным
sum_between = sum(arr[start_index:end_index])
count = end_index - start_index
average = sum_between / count
return average
# Пример массива данных (замените его на свой массив)
data = [3, 8, 2, 7, 6, 1, 10, 5, 4, 9, 12, 15, 11, 14, 13]
# Найдем среднее арифметическое для элементов между максимальным и минимальным
result = find_average(data)
print("Среднее арифметическое:", format(result, ".2f"))
# Распечатаем массив по 10 элементов на строке
for i in range(0, len(data), 10):
print(*data[i:i+10])
Обратите внимание, что в этом примере мы сначала находим максимальный и минимальный элементы, определяем диапазон для вычисления среднего арифметического, а затем выполняем необходимые вычисления. Результат среднего арифметического выводится с точностью до двух знаков после запятой. Массив также выводится по 10 элементов на строке.


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