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;
И если этот массив и его размер нам известны
void GetMaxAndMinIndex(int* data,int* MaxIndex,int * n,int* MinIndex) {
for (int i = 0; i < *n; ++i) {
int n;
cout << "Введите количество чисел в массиве " << endl;
cin >> n;
int* data = new int[n];
cout << "Введите ваш массив " << endl;
for (int i = 0; i < n; ++i) {
cin >> data[i];
GetMaxAndMinIndex(data, &MaxIndex,&n, &MinIndex);
Объяснение:
Код на с++
const
N = 10;
var
B: array[1..N+1] of integer;
Sum, i, first_even_i: integer;
Begin
WriteLn('Введите массив: ');
For i := 1 to N do
Read(B[i]);
For i := 1 to N-1 do
if (B[i+1] mod 2 <> 0) then
B[i] := 0;
if (B[i] mod 2 = 0) then
begin
first_even_i := i;
break;
end;
For i := N+1 downto first_even_i + 1 do
B[i] := B[i-1];
B[first_even_i] := 0;
WriteLn('Среднее арифметическое всех элементов: ', Sum / (N + 1));
WriteLn('Получившийся массив: ', B);
End.
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;
}
Объяснение:
Код на с++
const
N = 10;
var
B: array[1..N+1] of integer;
Sum, i, first_even_i: integer;
Begin
WriteLn('Введите массив: ');
For i := 1 to N do
Read(B[i]);
For i := 1 to N-1 do
if (B[i+1] mod 2 <> 0) then
B[i] := 0;
For i := 1 to N do
if (B[i] mod 2 = 0) then
begin
first_even_i := i;
break;
end;
For i := N+1 downto first_even_i + 1 do
B[i] := B[i-1];
B[first_even_i] := 0;
WriteLn('Среднее арифметическое всех элементов: ', Sum / (N + 1));
WriteLn('Получившийся массив: ', B);
End.