Предмет: Информатика,
автор: MrMiner1
Язык: C++
Дано:
Неупорядоченный массив arr из n натуральных чисел.
Индекс j (1<=j<=n)
Требуется найти такое число, которое при упорядоченном по убыванию массиве находилось на arr[j-1].
Запрещено создавать новые и упорядочивать старый массив.
Макрой:
В чем сложность ввести элементы, а потом по заданом индексе, который вводит юзер вывеси элемент?
в упорядоченном по убыванию массиве с индексом (j-1)
Элементы: {2, 1, 5, 3, 4}
Вывести j=3
Выводится 3 т.к. оно является третьим по уменьшению величины начиная с наибольшего элемента массива. Или при работе через упорядоченный по убыванию массив (чего делать нельзя по условию) - {5, 4, 3 ,2, 1}, элемент массива с индексом (j-1) равен 3.
Ответы
Автор ответа:
0
#include <iostream>
using namespace std;
int main() {
int n,j,mnt,mn,mx;
cout<<"n = "; cin>>n;
int arr[n];
cout<<"array: "; cin>>arr[0];
mn=arr[0]; mx=mn;
for (int i=1; i<n; i++) {
cin>>arr[i];
if (arr[i]<mn) mn=arr[i];
if (arr[i]>mx) mx=arr[i];
}
mnt=mn;
cout<<"j = "; cin>>j;
for (int i=2; i<=j; i++) {
mn=mx;
for (int k=0; k<n; k++)
if ((arr[k]>mnt) && (arr[k]<mn)) mn=arr[k];
mnt=mn;
}
cout<<mn<<endl;
system("pause");
return 0;
}
Ввод - вывод:
n = 10
array: 11 -5 15 -8 13 -10 19 36 5 9
j = 5
9
cout<<"j = "; cin>>j;
for (int i=2; i<=j; i++) {
mx=mn;
for (int k=0; k if ((arr[k]mx)) mx=arr[k];
mxt=mx;
}
cout<
Похожие вопросы
Предмет: Геометрия,
автор: tl6633399
Предмет: Алгебра,
автор: itsrytp
Предмет: Математика,
автор: ivan0po0pov1904
Предмет: Математика,
автор: НастюшаОкКрутизна
Предмет: Математика,
автор: Lplapina