|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
25.10.2016, 22:06 | #1 |
Новичок
Джуниор
Регистрация: 24.10.2016
Сообщений: 6
|
Программа, которая полным перебором найдёт все такие последовательности из знаков + и -, что получившееся значение неотрицательно
Пытаюсь решить задачу.
Даны восемь неотрицательных целых чисел, каждое меньше 128. Перед каждым числом ставится знак арифметической операции плюс или минус. Знак перед первым числом воспринимается в качестве унарного оператора, знаки между остальными числами – бинарные операторы. Подсчитывается получившаяся сумма. Например: если заданы восемь чисел 5 3 2 1 4 10 3 0 и следующая последовательность знаков + - - + - + - +, то получившееся арифметическое выражение +5-3-2+1-4+10-3+0 будет равно 4. Составьте программу, которая полным перебором найдёт все такие последовательности из знаков + и -, что получившееся значение неотрицательно. Указание: чтобы вывести символ командой printf используйте флаг форматирования %c. Следующее выражение печатает символ +, если i не равно нулю и символ – в другом случае: printf(“%c”,i ? ‘+’ : ‘-’); Код я расписал такой: Код:
|
25.10.2016, 22:52 | #2 |
Старожил
Регистрация: 13.07.2012
Сообщений: 6,330
|
%c заменить на %i
и объяснить себе зачем нужны переменные от a до g... |
25.10.2016, 23:02 | #3 |
Новичок
Джуниор
Регистрация: 24.10.2016
Сообщений: 6
|
|
25.10.2016, 23:37 | #4 |
МегаМодератор
СуперМодератор
Регистрация: 09.11.2010
Сообщений: 7,291
|
1) Заведите массив на 8 чисел;
2) Запросите у пользователя 8 чисел и заполните ими массив (можете на этом этапе проверять, что числа удовлетворяют условию); 3) Восемь знаков плюс-минус, значит всего вариантов 256. Самый простой способ перебора мне видится в цикле от 0 до 255, причем счетчик цикла рассматривается как битовая маска, где каждый бит означает знак на соответствующей позиции между числами. Необходимые знания для реализации: ввод и вывод, массивы, циклы, условные операторы, работа с битами.
Пишите язык программирования - это форум программистов, а не экстрасенсов. (<= это подпись )
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Коммивояжер полным перебором | kita22 | Помощь студентам | 1 | 07.04.2013 14:56 |
Найти все слова-числа, т.е. такие, которые состоят только из цифр. Известно, что количество цифр в каждом числе не более 9 (девяти | vikichocolate | Помощь студентам | 1 | 21.12.2011 00:12 |
Программа которая находит и печатает все группы знаков, в которые знак "*" входит не менее 2-х раз. | Scredis | Паскаль, Turbo Pascal, PascalABC.NET | 0 | 06.06.2011 22:47 |
Нужна программа, которая находит в одномерном массиве минимальное и максимальное значение | Didar | Паскаль, Turbo Pascal, PascalABC.NET | 9 | 08.02.2011 15:14 |