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

Помогите решить задачи пожалуйста

Одномерные массивы:
Задачи. Только не такой язык С++
1)Найти минимальный элемент и его номер
2)Поменять местами максимальный и минимальный
3)Найти количество элементов больше, чем минимальное.
1. Для существующего массива создаётся две переменные, первая того же типа что и массив, вторая целого типа. Первой присваивается значение первого элемента массива и это значение, условно, принимается за минимальное, второй присваивается индекс первого элемента массива. Далее выполняется цикл FOR который начинается со второго элемента массива. А в IF идёт сравнение значения очередного элемента массива со значением условно-минимального на предмет меньшей величины. И если какой-то из элементов меньше условно-минимального, то в теле оператора сравнения IF выполняется код, который присваивает первой переменной, текущее значение элемента массива, которое на данный момент минимальное, а второй - его индекс. По окончании цикла, в первой переменной будет храниться минимальное значение первого из минимальных элементов в массиве, а во второй его индекс (Если номер и индекс два разных понятия, то должен заметить, что в некоторых языках индексация в массивах начинается с нуля, а нумерация, как известно, принадлежит ко множеству натуральных чисел, и ноль не включает. Это следует учитывать при выводе результатов на экран) .

2. Как искать минимальный, вы, уже знаете, максимальный ищется также, только проверка в уже другом IF выполняется на больший элемент и так как величина элемента нам уже не столь важна, то опять понадобится две переменные, которые будут хранить индексы минимального и максимального элементов. По окончании цикла, для удобства замены следует иметь ещё одну временную переменную, того же типа, что и элементы массива, которая будет выполнять функцию буфера обмена. Теперь когда всё готово, временной переменной можно присвоить одно из двух (без разницы) значений. Для примера возьмём сначала минимальное. Техника проста, временной переменной присваивается значение массива с минимальным индексом. Затем переменной, являющейся минимальной присваиваем значение переменной с максимальным индексом, и наконец, переменной с максимальным индексом присваиваем значение, хранящееся во временной переменной. Печатаем изменённый массив на экран.

3. Так как в массиве всегда может быть минимальный элемент, но встречаться несколько раз, следует создать переменную-счётчик, которая будет определять количество таких минимальных элементов. Таким образом мы находим сначала минимальный элемент, в этом случае нам наоборот нужно только значение и не нужен индекс, а затем ещё раз выполняем цикл, но уже сравниваем в IF элемент на равенство. Счётчику зададим начальное значение 0. И каждый раз, когда в массиве будет встречаться элемент, равный ранее найденному минимальному, в теле оператора сравнения нужно увеличивать значение счётчика на единицу. По окончании цикла можно будет узнать то количество элементов, которое больше чем минимальное, отняв значение счётчика от общего количества элементов в массиве.

Примечание. Может случится так что все элементы в массиве будут равны. Тогда в первом задании минимальный элемент будет тот, который был задан первоначально, во втором задании обмен не состоится, а в третьем задании ответ будет равен 0. Для этого можно выполнять проверку на равенство всех элементов в массиве, которую оформить отдельной функцией. Но, это уже четвёртое задание.

P.S. Вот вам кросс-платформенные и кросс-программное решение :)
ВТ
Владислав Тубольцев
69 636
Лучший ответ
Я уже отвечал на этот и даже написал тебе прогу на c++. Ты вроде удалила ответ. Если тебе тяжко перевести из одного языка в другой, то не судьба. За просто так тебе никто не напишет такую прогу. Учись сама.