Помогите пожалуйста реализовать код программы на С++
Одномерный массив целых чисел, размер которго задается с клавиатуры. Запрограммировать следующие действия с массивом:
1. циклически сдвигать на К позиций влево;
2. выяснить, упорядочены ли элементы массива по невозрастанию или неубыванию;
3. если в исходном массиве количество положительных значений меньше, чем отрицательных, то создавать новый массив для отрицательных значений, в противном случае — создавать массив для положительных значений и переписывать в него соответствующие значения исходного массива.
В приложении необходимо:
1. Для временного хранения наборов значений использовать только временные динамические массивы;
2. Программирование заданных действий производить с использованием указателей;
3. Вывод результатов оформлять в виде таблицы;
4. Создать пользовательсике функции;
5. В приложении необходимо обеспечить возможность выбора конкретного действия;
6. В приложении необходимо обеспечить возможность повторного выполнения задания без перезапуска приложения;
Последние комментарии
- OlegL, 17 декабря в 15:00 → Перекличка 21
- REDkiy, 8 июня 2023 года в 9:09 → Как «замокать» файл для юниттеста в Python? 2
- fhunter, 29 ноября 2022 года в 2:09 → Проблема с NO_PUBKEY: как получить GPG-ключ и добавить его в базу apt? 6
- Иванн, 9 апреля 2022 года в 8:31 → Ассоциация РАСПО провела первое учредительное собрание 1
- Kiri11.ADV1, 7 марта 2021 года в 12:01 → Логи catalina.out в TomCat 9 в формате JSON 1
И что участники форума могут сделать, т.е. ты хочешь задать вопрос и получить на него ответ ? Или они должны написать тебе программу, если это так, то это не в этот раздел.
Ну хотябы посдкажите кто может, как сдвинуть массив на К влево? Как я понял это делается путем деления без остатка. Но немогу это записать кодом
Молча, первый элемент записываешь во временную переменную, остальные элементы сдвигаешь влево, и временную переменную ставишь на последнее место. Повторить K раз. Что мешает написать код ?
Мешает нехватка знаний! Я не программист, но надо решить эту задачу. Смотрел разную литературу, но не нашел как сделать смещение. Так что если не трудно, то помогите с кодом
ну примерный фрагмент кода таков
double v_tmp = x[0];
for (int i=0; i
x = x [i+1];
x[n-1]=v_tmp;
Остальное за $, а по существу берешь книгу либо Кернигана-Ричи, либо Страуструпа и пишешь.
Кстати, я подозреваю, что быстрее будет так:
И что получится в результате :-)
Это вопрос? Тоже самое. Массив циклически сдвинется на один элемент.
upd. Понял. Там очепятка в коде. Тело цикла должно менять i-тый и (i+1)-й элементы местами.
С этим я розабрался, спасибо! Теперь может еще бы разобраться с проверкой на невозрастание и неубывание элементов массива. Не подскажете как это можно сделать?
Примерно также, в цикле. Включаем мозги и пишем аналогичный цикл. Эти задачи — для непрограммистов с мозгами и трудолюбием.
Какой Вы умный!
А проверку на неубывание можно сделать, добавив переменную типа bool и установив ее в true, а в цикле присвоить ей что-то типа bool isAsc = true;
for (int i=1; i
<здесь поставить подходящий оператор присваивания переменной isAsc>
И собственно, далее читать и искать в гугле.