C/C++

Найдите сумму номеров минимального и максимального элементов

Сначала задаете переменные:
- текущий минимальный элемент (значение)
- текущий максимальный элемент (значение)
- текущий минимальный элемент (позиция в массиве)
- текущий максимальный элемент (позиция в массиве)
Инициализируете переменные: позиции задаете на -2, минимум на очень большое значение, которое можно ввести в вашей неназванной IDE, например, 10е25; а максимум на возможно наименьшее значение, например, -10е25.
Затем последовательно, в цикле, пробегаете каждый элемент массива. На каждом элементе массива проверяете, уж не является ли этот элемент больше (меньше) текущего максимального (минимального) значения. Если является, то обновляете переменные: текущее максимальное (минимальное) значение, а так же индекс в массиве.
После завершения цикла вы имеете в этих переменных все требуемые для вашего задания данные, выводите их так, как требуется по заданию.

Now playing: Hearts & Hand Grenades - I Hide
Дата: 2022-02-09
Юныс Ахметов
Юныс Ахметов
96 229
Лучший ответ
#include <iostream>
#include <ctime>

using namespace std;

int main()
{
int i_min=0,i_max=0;
int n;
do
{
cout << "Введите размер массива: ";
cin >> n;
} while(n < 1);
int * A = new int[n];

srand(time(nullptr));
rand();
for(int x = 0; x < n; x++)
{
A[x] = rand() % 20 + 1;
cout << A[x] << ' ';
if(A[x] > A[i_max]) i_max = x;
if(A[x] < A[i_min]) i_min = x;
}
cout << endl << endl << i_max + 1 + i_min + 1 << endl;
/*
+ 1 добвляется, потому что индексы начинают отсчёт с нуля,
а мы привыкли считать номера элементов с единицы
*/

if(A == (int*) nullptr) return 1;
delete [] A;
A = (int*) nullptr;
return 0;
}
ЖК
Женёк Козлов
76 050
Номеров каких минимального и максимального элемента? Вот массив
{0,1,0,1,0,1,0,1}. Какое значение суммы номеров минимального и максимального элементов должно быть выведено на экран?
М.
Михаил .
66 572