Форум программистов, компьютерный форум, киберфорум
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
 
Рейтинг: Рейтинг темы: голосов - 9, средняя оценка - 4.67
Neotwalker
21 / 1 / 0
Регистрация: 22.12.2013
Сообщений: 140
#1

Формула, по которой можно вычислить время наступления Рагнарека - C++

22.07.2014, 18:56. Просмотров 1605. Ответов 27
Метки нет (Все метки)

Рагнарек должен наступить с минуты на минуту. Но Один не знает, когда именно он наступит.
Локи, как самый умный, сказал Одину формулу, по которой можно вычислить время наступления Рагнарека. К сожалению, Одину с одним глазом сложно уследить за всеми скобками в выражении, поэтому он решил заменить скобки первого уровня на фигурные, а второго уровня – на квадратные, остальные же оставить круглыми. То есть выражение x * (y + (z * (5 + 3))) изменится на x * {y + [z * (5 + 3)]}.
Но Один не умеет программировать, Один умеет драться, поэтому программу придется написать вам. Не гневите Одина.
В первой и единственной строке входного файла указана формула, состоящая из букв латинского алфавита, знаков арифметических действий, пробелов, цифр и скобок. Гарантируется, что скобки образуют правильную скобочную последовательность. Длина формулы не превышает 105.
Выведите эту строку в формате удобном для чтения Одину.

Пример ввода 1

x * (y + (z * (5 + 3)))

Пример вывода 1

x * {y + [z * (5 + 3)]}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
22.07.2014, 18:56
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Формула, по которой можно вычислить время наступления Рагнарека (C++):

Укажите формулу, по которой можно определить время встречи - Математика
Из пунктов А и В одновременно навстречу друг другу с постоянными и неравными скоростями выехали велосипедист и мотоциклист. Укажите...

Создание крутящейся стрелки, время вращения которой можно изменять в PHP файле - Flash
Здравствуйте. Необходимо реализовать плавное вращение стрелки в кольце, при этом время вращения должно находится в PHP файле, после того...

Как можно рассчитать вероятность наступления следующего события? - Теория вероятностей
Всем привет! 1. Мы знаем вероятности наступления событий, например: P(A) = 0,2 P(B) = 0,4 P(C) = 0,3 P(D) = 0,1 ...

вычислить скорость с которой бегун пробежал дистанцию если известно что время и расстояние - Pascal
тоже итоговая уже по практикуму. решать в delphi написать программу ,которая вычисляет скорость,с которой бегун пробежал дистанцию, если...

Создать пользовательскую форму, с помощью которой можно вычислить значение функции - VBA
10. Создайте пользовательскую форму, с помощью которой можно вычислить значение функции y=2cos(3Пх)Sin(Пх)+(sin(3Пx))/x

Можно ли вычислить приблизительное время работы программы? - Delphi
Вечер добрый. Можно ли вычислить приблизительное время работы программы, зная сколько операций совершается и какие цифры при этом...

27
Psilon
Master of Orion
Эксперт .NET
5916 / 4815 / 634
Регистрация: 10.07.2011
Сообщений: 14,434
Записей в блоге: 5
Завершенные тесты: 4
23.07.2014, 11:23 #16
Martein, если коротко, то да
Если сложно и точно, то классы вычислимых и общерекурсивных функций совпадают.

Добавлено через 31 секунду
Martein, с другой стороны это не отменяет факта, что какие-нибудь деревья намного проще обходить рекурсией, чем циклами.

Добавлено через 47 секунд
Кстати, на этом свойстве построено разворачивание хвостовой рекурсии в циклы в компиляторах. Теоретически любую рекурсию можно развернуть в цикл, но на практике компилятор недостаточно умен, чтобы развернуть что-то сложнее хвостовой
0
Mr.X
Эксперт С++
3052 / 1697 / 265
Регистрация: 03.05.2010
Сообщений: 3,867
23.07.2014, 11:45 #17
Цитата Сообщение от Psilon Посмотреть сообщение
Mr.X, господи, 200 строк на элементарную задачу.
Ну, сравнение некорректное, так как у меня там еще и генерация тестовых строк. Да и, мне кажется, что ясность кода и минимальность строк в программе - вещи немного противоположные.
А так-то да, сам алгоритм вам короче удалось выразить. Возьмите на полке пирожок. Только зачем вы весь код в main поместили? От этого ваш успех несколько смазывается.
0
Vtulhu
371 / 377 / 96
Регистрация: 12.08.2011
Сообщений: 1,610
23.07.2014, 12:28 #18
Цитата Сообщение от Psilon Посмотреть сообщение
первого уровня на фигурные, а второго у
Тогда согласен, был невнимателен. Казалось само собой разумеющимся, что скобки должны меняться циклически.
0
Psilon
Master of Orion
Эксперт .NET
5916 / 4815 / 634
Регистрация: 10.07.2011
Сообщений: 14,434
Записей в блоге: 5
Завершенные тесты: 4
23.07.2014, 13:53 #19
Цитата Сообщение от Mr.X Посмотреть сообщение
Ну, сравнение некорректное, так как у меня там еще и генерация тестовых строк. Да и, мне кажется, что ясность кода и минимальность строк в программе - вещи немного противоположные.
согласен.

Однако ваш код в вертикальным форматированием абсолютно нечитаем. ИМО офк.
Цитата Сообщение от Mr.X Посмотреть сообщение
А так-то да, сам алгоритм вам короче удалось выразить. Возьмите на полке пирожок. Только зачем вы весь код в main поместили? От этого ваш успех несколько смазывается.
спасибо за пирожок.

А почему в main? А почему бы и нет? Дублированности кода нет, значит все правильно сделал. Это и называется овер-инжинерингом "а вдруг кому-нибудь понадобится эта функция, вынесу её отдельно". В результате код гнется не там, где надо, и миллиарды функций разбросано, которые используются каждая один раз.
0
Mr.X
Эксперт С++
3052 / 1697 / 265
Регистрация: 03.05.2010
Сообщений: 3,867
23.07.2014, 14:24 #20
Цитата Сообщение от Psilon Посмотреть сообщение
Однако ваш код в вертикальным форматированием абсолютно нечитаем.
Ну, это индивидуально. Вообще, я заметил, что мой код никого не оставляет равнодушным. Одним он резко нравится, другим так же резко нет.
Цитата Сообщение от Psilon Посмотреть сообщение
ИМО офк.
А можете пояснить что это означает?
Цитата Сообщение от Psilon Посмотреть сообщение
А почему в main? А почему бы и нет?
Ну, на мой взгляд как-то очень не того. В других языках по-моему так вообще не делают. Да и из сишников я думал только студенты-недоучки. Хотя и в книгах подобное встречается.
0
Psilon
Master of Orion
Эксперт .NET
5916 / 4815 / 634
Регистрация: 10.07.2011
Сообщений: 14,434
Записей в блоге: 5
Завершенные тесты: 4
23.07.2014, 14:33 #21
Цитата Сообщение от Mr.X Посмотреть сообщение
А можете пояснить что это означает?
субъективное мнение
Цитата Сообщение от Mr.X Посмотреть сообщение
Ну, на мой взгляд как-то очень не того. В других языках по-моему так вообще не делают. Да и из сишников я думал только студенты-недоучки. Хотя и в книгах подобное встречается.
вы точно не путаете промышленный стиль кодирования и учебный? В рабочем проекте я бы вынес все в отдельную функцию, и возможно даже пришлось бы XML-докой пометить, что и как тут происходит. Тут же я воспользовался советом острого предмета нашего общего знакомого Оккамы.

Добавлено через 3 минуты

Не по теме:

Цитата Сообщение от Mr.X Посмотреть сообщение
Ну, это индивидуально. Вообще, я заметил, что мой код никого не оставляет равнодушным. Одним он резко нравится, другим так же резко нет.
опять-же имо больше похоже на ascii-арт, чем на код Особенно тот, который в соседней теме, на распарс логического выражения.

1
Mr.X
Эксперт С++
3052 / 1697 / 265
Регистрация: 03.05.2010
Сообщений: 3,867
23.07.2014, 15:05 #22
Цитата Сообщение от Psilon Посмотреть сообщение
вы точно не путаете промышленный стиль кодирования и учебный?
Ну, меня в таком стиле коробит несоответствие ожидаемого и предлагаемого уровней абстракций. По логике вещей ожидаешь увидеть там сформулированную посредством говорящих имен переменных и функций идею программы, а когда там вместо этого человек вплотную заобщался с процессором, то...
Цитата Сообщение от Psilon Посмотреть сообщение
больше похоже на ascii-арт
Ну, большинство кода тут вообще ни на что не похоже, так что это уже плюс.
0
Psilon
Master of Orion
Эксперт .NET
5916 / 4815 / 634
Регистрация: 10.07.2011
Сообщений: 14,434
Записей в блоге: 5
Завершенные тесты: 4
23.07.2014, 15:18 #23
Цитата Сообщение от Mr.X Посмотреть сообщение
Ну, меня в таком стиле коробит несоответствие ожидаемого и предлагаемого уровней абстракций.
я и говорю, что вам отдохнуть надо. А то потом возникают такие вопросы, а-ля "как сложить 2 числа с помощью jQuery". Когда для простейшей задачи человек городит фабрику наблюдателей фасадов, то это уже не очень KISS никто не отменял.

Добавлено через 1 минуту
Цитата Сообщение от Mr.X Посмотреть сообщение
Ну, большинство кода тут вообще ни на что не похоже, так что это уже плюс.
сомнительный Потому что научиться проще, чем переучиться.
0
Vtulhu
371 / 377 / 96
Регистрация: 12.08.2011
Сообщений: 1,610
23.07.2014, 15:26 #24
Цитата Сообщение от Mr.X Посмотреть сообщение
Ну, большинство кода тут вообще ни на что не похоже, так что это уже плюс.
Тут - это в теме "С++ для начинающих" или в данной конкретной ветке?
0
ForEveR
В астрале
Эксперт С++
7985 / 4744 / 321
Регистрация: 24.06.2010
Сообщений: 10,547
Завершенные тесты: 3
23.07.2014, 16:09 #25
Цитата Сообщение от Psilon Посмотреть сообщение
Когда для простейшей задачи человек городит фабрику наблюдателей фасадов, то это уже не очень KISS никто не отменял.
KISS никто не отменял конечно, но в тестовых примерах можно делать как угодно, как больше нравится и накручивать сколько душе угодно. Код задачу выполняет? Да. Все, остальное уже дело писателя, он пишет не только для ТС, но и для себя, т.к. задача показалась ему интересной.
2
Mr.X
Эксперт С++
3052 / 1697 / 265
Регистрация: 03.05.2010
Сообщений: 3,867
23.07.2014, 18:55 #26
Цитата Сообщение от Psilon Посмотреть сообщение
я и говорю, что вам отдохнуть надо
Не, ну я конечно люблю поспорить, но без перехода на личности. А то какие ж мы после этого будем интеллигенты?
0
Psilon
Master of Orion
Эксперт .NET
5916 / 4815 / 634
Регистрация: 10.07.2011
Сообщений: 14,434
Записей в блоге: 5
Завершенные тесты: 4
23.07.2014, 19:51 #27
Mr.X, ни в коем случае не оскорбление, просто мнение. Я не из людей, которые при отсутствии аргументов переходят на личности. Мир, труд, май

ну и тов. ForEveR все по полочкам уже разложил
0
Хедин
23.07.2014, 20:15     Формула, по которой можно вычислить время наступления Рагнарека
  #28

Не по теме:

Neotwalker, ну и фантазия у ваших преподов. Чего только ни придумают, лишь бы заставить программиста писать код

0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
23.07.2014, 20:15
Привет! Вот еще темы с ответами:

Создайте пользовательскую форму, с помощью которой можно вычислить значение функции пользователя - VBA
Если у кого-то появится желание помочь, пишите на почту... ..... Вышлю образец и пограммы с функцией пользователя (задание 2) и массивом...

Составьте программу, с помощью которой можно вычислить, на какой клетке суммарное количество зерен превысит N штук - Visual Basic
В старинной легенде шах решил наградить мудреца. Мудрец попросил выдать ему в качестве награды зерно, причем количество зерен он определил...

Вероятность наступления события А равна 0.7. Вычислить вероятность следующих событий - Теория вероятностей
Здравствуйте! Вероятность наступления события А равна 0.7. Вычислить вероятность следующих событий: а) Событие А наступит 3 раза в...

Вместо решения выводится формула, по которой нужно считать - C (СИ)
При компиляции никаких ошибок нет но при выполнении вместо решения выдает формулу по которой должно считать. Объясните пожалуйста что не...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
28
23.07.2014, 20:15
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.