Другие языки программирования и технологии

Не могу сделать программу.

Не знаю, как написать данный код, ПомогитеТ_Т.
Пусть дана последовательность из N элементов. уменьшите ее, удалив первый из отрицательных и минимальный из положительных и сдвинув все остальные к началу. (Паскаль)
Паскаль не совсем помню, но мож разберёшься в моём C# )))

// Задай ручками массив integer

int[] arr = {9, -3, 4, -2, -1, 0, 1, 2, 3};

// Удалить первый из отрицательных. Можно и в цикле перебирать от начала до конца, а при первом попавшемся отрицательном - удаляем его из массива (аналогично можно копировать все элементы кроме данного в новый массив).

foreach (int element in arr) {if (element < 0) { arr.remove(element); break;}

// Минимальный из положительных в С# проще делается, там есть встроенный метод sort. Для паскаля... Можно разные алгоритмы сортировки использовать... проще это одной функцией оформить. В общем нужно отсортировать, затем найти первый из положительных минимальный. В бесконечном цикле сортирую.

int buff = 0;

while (true) {

for (i = 0; i arr[i+1]){buff = arr[i+1]; arr[i+1] = arr[i]; arr[i] = buff;}
//тут нужно додумать условие, не соображаю пока, так что выкрутись сам как его реализовать на паскале.
if(каждый элемент меньше следующего) {brake();}
}

// Удалим первый (наименьший) положительный элемент

int counter = 0;

while (true){if (arr[counter] > 0) {arr.remove(arr[counter]); break;}; counter = counter + 1; }

В итоге будет всё как по заданию.

PS: пишу с мобильника, так что проверить не чем, но грубо говоря, тут всё что нужно в плане логики. Переведи код на свой язык (ищи аналогии) и напишешь прогу.

Ещё я мог в конструкторах ошибиться, привык, что из списка можно выбрать вариант конструкции и не печатать его вручную. Надеюсь, лёжа на кровати, я сегодня помог хоть кому то, теперь можно и уснуть))

Удачи
СМ
Саша Минько
3 237
Лучший ответ