Язык: C++Дано:Неупорядоченный массив arr из n естественных чисел.Индекс j

Язык: C++

Дано:

Неупорядоченный массив arr из n натуральных чисел.

Индекс j (1lt;=jlt;=n)

Требуется отыскать такое число, которое при упорядоченном по убыванию массиве находилось на arr[j-1].

Запрещено творить новые и упорядочивать ветхий массив.

Задать свой вопрос
Габиец Данил
В чем сложность ввести элементы, а позже по заданом индексе, который вводит юзер вывеси элемент?
Мавашева Эмилия
В конце условия было написано: "не творить новые массивы и не упорядочивать ветхий". Также требуется вывести элемент массива, который бы былв упорядоченном по убыванию массиве с индексом (j-1)
Алеша Бухмистров
Все это в условии описано
Роман Бруев
Допустим у вас размерность 5
Денис Коровчук
j-1 это 0 либо 1 или 2 или 3 либо 4 - индексы частей
Вадим Банцер
Да
Ладиева Марина
Допустим массив размерностью 5Элементы: 2, 1, 5, 3, 4Вывести j=3Выводится 3 т.к. оно является третьим по убавлению величины начиная с величайшего элемента массива. Либо при работе через упорядоченный по убыванию массив (чего делать нельзя по условию) - 5, 4, 3 ,2, 1, элемент массива с индексом (j-1) равен 3.
Vadik Bazlygin
У меня код готов
Юрик Караогланов
В C++ теснее
Анатолий Менялов
У меня массив не упорядочен и при вводе индекса пользователем выводится элемент массива
1 ответ

include lt;iostreamgt;

using namespace std;

int main()

 int n,j,mnt,mn,mx;

 coutlt;lt;"n = "; cingt;gt;n;

 int arr[n];

 coutlt;lt;"array: "; cingt;gt;arr[0];

 mn=arr[0]; mx=mn;  

 for (int i=1; ilt;n; i++)

    cingt;gt;arr[i];

    if (arr[i]lt;mn) mn=arr[i];

    if (arr[i]gt;mx) mx=arr[i];

 

 mnt=mn;  

 coutlt;lt;"j = "; cingt;gt;j;

 for (int i=2; ilt;=j; i++)

    mn=mx;

    for (int k=0; klt;n; k++)

       if ((arr[k]gt;mnt) amp;amp; (arr[k]lt;mn)) mn=arr[k];

    mnt=mn;

 

 coutlt;lt;mnlt;lt;endl;    

 system("pause");

 return 0;

Ввод - вывод:

n = 10

array: 11 -5 15 -8 13 -10 19 36 5 9

j = 5

9


Агата
Приведенный вариант программы для массива, упорядоченного по возрастанию. Для массива, упорядоченного по убыванию необходимо поменять строчки, вместо переменной mnt, переменная mxt - строка 4. Меняются строчки от mnt=mn; на последующие: mxt=mx; 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<
Кирияк Юлия
Да, этот веб-сайт в комментариях отрезает знаки. Обязана быть строчка if (( arr[k] < mxt) и (arr[k] > mx)) mx = arr[k];
Таисия Абкалимова
Выводить значение переменной mx cout<
Алиса
Вновь отрезал символы "<<"
, оставишь ответ?
Имя:*
E-Mail:


Добро пожаловать!

Для того чтобы стать полноценным пользователем нашего портала, вам необходимо пройти регистрацию.
Зарегистрироваться
Создайте собственную учетную запить!

Пройти регистрацию
Авторизоваться
Уже зарегистрированны? А ну-ка живо авторизуйтесь!

Войти на сайт