23.01.2010, 13:25 | #1 (permalink) |
Новичок
Регистрация: 22.01.2010
Сообщений: 7
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
|
Помогите решить задачи на С++
1. Написать две взаимосвязанных процедуры кодирования и восстановления дискретных сообщений (ДС) по их коду, если механизм коди¬рования заключается в первоначальной инверсии порядка слов в ДС, а затем инверсии порядка букв внутри слов. (например, "волк"-->"колв"). 2. Найти наименьшее общее кратное двух длинных целых чисел. 3. Написать алгоритм вычисления арифметических выражений, содержащих в качестве операндов только однозначные целые положительные числа, если выражения записаны в постфиксной форме.(Моделирование и использование стеков, деков и очередей.) |
23.01.2010, 13:25 | |
Helpmaster
Member
Регистрация: 08.03.2016
Сообщений: 0
|
Безусловно схожие по содержанию темы вам должны чем то быть полезны Помогите решить задачи на C++ Помогите решить задачи на C++ Помогите пожалуйста решить задачи Помогите решить две задачи в С++ |
23.01.2010, 19:45 | #2 (permalink) |
support
Регистрация: 19.08.2007
Адрес: Зея
Сообщений: 15,797
Записей в дневнике: 71
Сказал(а) спасибо: 166
Поблагодарили 203 раз(а) в 86 сообщениях
Репутация: 75760
|
По третьей задаче: http://www.tehnari.ru/198317-post16.html
Дальше по теме там есть исправление кода, смотрите внимательнее.
__________________
Убить всех человеков! |
23.01.2010, 20:18 | #3 (permalink) |
support
Регистрация: 19.08.2007
Адрес: Зея
Сообщений: 15,797
Записей в дневнике: 71
Сказал(а) спасибо: 166
Поблагодарили 203 раз(а) в 86 сообщениях
Репутация: 75760
|
Предлагаю такой вариант, но в нем не обрабатывается ситуация предельных значений длинного целого, так как НОК также имеет тип длинное целое, что может вызвать переполнение типа.
Код:
#include <iostream> using namespace std; int main(int argc, char *argv[]) { long a,b; long nok; char buf[256]; CharToOem("Введите значение a ", buf); cout << buf; cin >>a; CharToOem("Введите значение b ", buf); cout << buf; cin >>b; if (a>b) { nok=a; } else { nok=b; } char rez=0; long o1; long o2; while (rez<1) { o1=nok%a; o2=nok%b; if ((o1==0) && (o2==0)) { rez++; } else { nok++; } } cout << "\n nok=" << nok; system("PAUSE"); return EXIT_SUCCESS; }
__________________
Убить всех человеков! Последний раз редактировалось Long Cat; 25.01.2010 в 00:06 |
24.01.2010, 19:55 | #4 (permalink) | |
support
Регистрация: 19.08.2007
Адрес: Зея
Сообщений: 15,797
Записей в дневнике: 71
Сказал(а) спасибо: 166
Поблагодарили 203 раз(а) в 86 сообщениях
Репутация: 75760
|
Цитата:
Для дешифровки поступить в обратном порядке.
__________________
Убить всех человеков! |
|
25.01.2010, 00:15 | #5 (permalink) |
Banned
Регистрация: 01.09.2009
Сообщений: 4,396
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 2544
|
По поводу задачи номер два - смотрите Википедию Наименьшее общее кратное — Википедия
Алгоритм шифрования в задаче 3 сформулирован в условии задачи: поменять местами слова, затем поменять местами буквы в словах. |
Ads | |
Member
Регистрация: 31.10.2006
Сообщений: 40200
Записей в дневнике: 0
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 55070
|
25.01.2010, 06:53 | #6 (permalink) |
support
Регистрация: 19.08.2007
Адрес: Зея
Сообщений: 15,797
Записей в дневнике: 71
Сказал(а) спасибо: 166
Поблагодарили 203 раз(а) в 86 сообщениях
Репутация: 75760
|
Если вы про эту формулу: http://upload.wikimedia.org/math/9/b...f5bb7845bd.png, значит, попробую переделать под нее. Потом листинг проверьте, пожалуйста, если вас не затруднит. И спасибо большое за подсказку.
__________________
Убить всех человеков! |
25.01.2010, 11:12 | #9 (permalink) |
support
Регистрация: 19.08.2007
Адрес: Зея
Сообщений: 15,797
Записей в дневнике: 71
Сказал(а) спасибо: 166
Поблагодарили 203 раз(а) в 86 сообщениях
Репутация: 75760
|
то есть эти команды эквивалентны? Да, именно эту среду использую.
__________________
Убить всех человеков! |
25.01.2010, 11:17 | #10 (permalink) |
Banned
Регистрация: 01.09.2009
Сообщений: 4,396
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 2544
|
Технически, не совсем. Под Windows это будет:
cout << "\r\n" Под UNIX: cout << "\n" У этих ОС разные представления о том, чем должны заканчиваться строки. Советую перейти на Code::Blocks: более стабильна и отладчик корректно работает. |
Ads | |
Member
Регистрация: 31.10.2006
Сообщений: 40200
Записей в дневнике: 0
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 55070
|
|
|