Предмет: Информатика, автор: bobbygrenn

С++ Подскажите алгоритм вставки элемента ПОСЛЕ минимума....дополнительные массивы использовать нельзя

Приложения:

Ответы

Автор ответа: clinteastwood2
0
Все довольно просто, берем и сдвигаем элементы массива с конца, до момента где нам нужно вставить элемент, ну и не забываем о размере массива.

bobbygrenn: не получаться... может подскажите какую нибудь книгу с теорией
clinteastwood2: Циклом сдвигаем элементы массива (цикл от j = k-1 до >i + 1, arr[j] = arr[j-1]), а с книг, ну по алгоритмам читайте.
bobbygrenn: спасибо большое
bobbygrenn: for (int i = 0; i < n; i++)
{
if (arr[i] == min)
{
n++;
for (int j = n; j > i; j--)
{
arr[j] = arr[j - 1];
}
arr[++i] = x;
}
}
bobbygrenn: вот что у меня вышло
clinteastwood2: и?
bobbygrenn: и все работает)
clinteastwood2: вот и отлично, но вообще использовать допольнительный массив куда лучше, чем делать такое, так как если мы не будем знать заранее сколько элементов нам нужно будет вставить, то тут уже начнутся проблемы
bobbygrenn: По условию нельзя (Дан одномерный массив, содержащий целые числа. Использовать дополнительные массивы нельзя. )
Интересные вопросы