![]() |
1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!
![]() ![]() |
![]() |
SERGSWAT |
![]() ![]()
Сообщение
#1
|
Гость ![]() |
Текст адания:
Дан текст из заглавных латинских букв, за которыми следует пробел. Определите, является ли этот текст правильной записью римскими цифрами числа от 1 до 999, и если является, то записать его арабскими(в десятичной системе)...вот и все. Уменя есть программа для преобразования римских цифр в арабские, но она работает не корректно, т.е число 4 записывает в виде IIII а не IV. Вот она: Код program TranslateRomanToArab; USES CRT; const Trans: array[1..13] of record Arab: word; Roman: string; end = ((Arab: 1000; Roman:'M'), (Arab: 900; Roman: 'CM'), (Arab: 500; Roman: 'D'), (Arab: 400; Roman: 'CD'), (Arab: 100; Roman: 'C'), (Arab: 90; Roman: 'XC'), (Arab: 50; Roman: 'L'), (Arab: 40; Roman: 'XL'), (Arab: 10; Roman: 'X'), (Arab: 9; Roman: 'IX'), (Arab: 5; Roman: 'V'), (Arab: 4; Roman: 'IV'), (Arab: 1; Roman: 'I')); var Rchislo: string; Achislo: longint; CurNumber: byte; CurSymbol: string; CurVal: word; begin clrscr; Write('Input Roman Number: '); ReadLn(Rchislo); { If value in RomanNumber is incorrect, then value of ArabianNumber is } { incorrect too } {--- Translate ---------} Achislo := 0; CurNumber := 1; repeat CurSymbol := Trans[CurNumber].Roman; CurVal := Trans[CurNumber].Arab; while Copy(Rchislo, 1, Length(CurSymbol)) = CurSymbol do begin Inc(Achislo, CurVal); Delete(Rchislo, 1, Length(CurSymbol)); end; Inc(CurNumber); {smeshenie poryadka na 1} until Rchislo = ''; {--- End of translate ---------} WriteLn('Arabian Number: ', Achislo); READLN; end. Как мне сюда вставить условие на проверку является ли введеная строка римским числом или нет!!! Сообщение отредактировано: volvo - 3.01.2006 23:05 |
volvo |
![]()
Сообщение
#2
|
Гость ![]() |
FAQ: Работа с римскими числами смотрел?
Кроме этого, пользуйся тегами [ code ] и в следующий раз давай более корректное название темы... |
SERGSWAT |
![]()
Сообщение
#3
|
Гость ![]() |
Народ, вот у меня возникла проблема: вроде бы работающая прога:
program stroka; Как мне вставить вот эту часть проги на разбиение строки на слова в основную часть проги (выше):
вот здесь возникает вопрос: Как вывести на экран, что введеная строка не является римским числом!!! Сообщение отредактировано: volvo - 6.11.2006 23:27 |
![]() ![]() |
![]() |
Текстовая версия | 20.06.2025 1:04 |