Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 04.12.2011, 18:16
Новичок на форуме
Отправить личное сообщение для Любознательный Посмотреть профиль Найти все сообщения от Любознательный
 
Регистрация: 26.11.2011
Сообщений: 9

Помогите дописать
Написать программу перевода чисел от 1 до 9 в римскую систему счисления на языке
switch (num) {
case 1:
number = 'I';
break;
case 2:
number = 'II';
break;
case 3:
number = 'III';
break;
case 4:
number = 'IV';
break;
case 5:
number = 'V';
break;
case 6:
number = 'VI';
break;
case 7:
number = 'VII';
break;
case 8:
number = 'VIII';
break;
case 9:
number = 'IX';
break;
default:
number = '_'
}

Последний раз редактировалось Любознательный, 04.12.2011 в 19:25.
Ответить с цитированием
  #2 (permalink)  
Старый 04.12.2011, 19:14
Аватар для Gvozd
Матрос
Отправить личное сообщение для Gvozd Посмотреть профиль Найти все сообщения от Gvozd
 
Регистрация: 04.04.2008
Сообщений: 6,246

Здравствуйте!

Судя по вашему сообщению, вы ну совсем не знаете javascript.

Освойте основы языка и вопрос отпадет сам, полностью или частично.
А с чем не справитесь - поможем.

На сайте javascript можно начать изучать с учебника, раздел Основы javascript.
Возможно, вам также понадобится HTML - учебник есть, например, здесь: http://ru.html.net/tutorials/html/

Задавайте конкретные вопросы по ходу дела.
Ответить с цитированием
  #3 (permalink)  
Старый 04.12.2011, 19:15
Аватар для Gvozd
Матрос
Отправить личное сообщение для Gvozd Посмотреть профиль Найти все сообщения от Gvozd
 
Регистрация: 04.04.2008
Сообщений: 6,246

Пожалуйста, отформатируйте свой код!

Для этого его можно заключить в специальные теги: js/css/html и т.п., например:
[js]
... ваш код...
[/js]


О том, как вставить в сообщение исполняемый javascript и html-код, а также о дополнительных возможностях форматирования - читайте http://javascript.ru/formatting.
Ответить с цитированием
  #4 (permalink)  
Старый 04.12.2011, 19:16
Аватар для nerv_
junior
Отправить личное сообщение для nerv_ Посмотреть профиль Найти все сообщения от nerv_
 
Регистрация: 29.11.2011
Сообщений: 3,924

Вот на VBA я писал 12/09/2011. Понимаю, что не в тему , но зато переводит любые (в пределах разумного) римские числа. Сейчас попробую на js перевести...
Public Function RomanToArabic2(ByVal RStr As String) As Long
Dim i%, h%, j As Byte
RStr = UCase(RStr)
For j = 1 To Len(RStr)
    i = InStr("IVXLCDM", Mid(RStr, j, 1))
    i = IIf(i, Choose(i, 1, 5, 10, 50, 100, 500, 1000), 0)
    h = IIf(h < i, i - h * 2, i): RomanToArabic2 = RomanToArabic2 + h
Next
End Function

оу... Не доглядел. Нужно наоборот) Но все равно мне интересно для изучения будет попробовать)
__________________
Чебурашка стал символом олимпийских игр. А чего достиг ты?
Тишина - самый громкий звук

Последний раз редактировалось nerv_, 04.12.2011 в 21:14.
Ответить с цитированием
  #5 (permalink)  
Старый 04.12.2011, 21:14
Аватар для nerv_
junior
Отправить личное сообщение для nerv_ Посмотреть профиль Найти все сообщения от nerv_
 
Регистрация: 29.11.2011
Сообщений: 3,924

Переводит римские числа в арабские. Пример взят отсюда Википедия/Римские_цифры
// Переводит римские числа в арабские
var num = prompt("Введите римское число", "ammmCMXCIX"); // default - 3999
if(num) alert(RomanToArabic(num));
			
function RomanToArabic() {
	var i, alph = { I:1, V:5, X:10, L:50, C:100, D:500, M:1000 };
	for(var h = 0, j = 0, n = 0; j < arguments[0].length; j++) {
		i = alph[arguments[0].charAt(j).toUpperCase()];
		if(i) n += h = (h < i ? i - (h << 1) : i);
	}
	return n;
}
__________________
Чебурашка стал символом олимпийских игр. А чего достиг ты?
Тишина - самый громкий звук

Последний раз редактировалось nerv_, 05.12.2011 в 20:05.
Ответить с цитированием
  #6 (permalink)  
Старый 07.12.2011, 20:23
Аватар для nerv_
junior
Отправить личное сообщение для nerv_ Посмотреть профиль Найти все сообщения от nerv_
 
Регистрация: 29.11.2011
Сообщений: 3,924

Потихоньку синтаксис js осваиваю. Любознательный, вроде как решил Вашу задачку
// Переводит арабские числа в римские 
var num = prompt("Введите число", 19); // default - 19
if(num) alert(ArabicToRoman(num));

function ArabicToRoman() {
	var alph = [["I",1], ["IV",4], ["V",5], ["IX",9], ["X",10], ["XL",40], ["L",50], ["XC",90], ["C",100], ["CD",400], ["D",500], ["CM",900], ["M",1000]];
	for(var j = alph.length - 1, i = arguments[0], n = ""; j != -1; j--) {
		if(~~(i / alph[j][1]) > 0) { n += alph[j][0]; i -= alph[j][1]; j++; }
	}
	return n;
}
__________________
Чебурашка стал символом олимпийских игр. А чего достиг ты?
Тишина - самый громкий звук
Ответить с цитированием
  #7 (permalink)  
Старый 07.12.2011, 22:13
sinistral
Посмотреть профиль Найти все сообщения от melky
 
Регистрация: 28.03.2011
Сообщений: 5,418

if(~~(i / alph[j][1]) > 0) { n += alph[j][0]; i -= alph[j][1]; j++; }

красава. на хабре говорят, что за такое нужно отрывать руки.

вы для людей код пишите? вы добровольно решаете задачу, выкладываете решение на форум.. да, для людей! так почему не следуете стилю написания?

будьте добры, оформляйте код красиво и читабельно! функциональные огрызки не показывают профессиональность погромиста программиста.

а попытки ручного преобразования в байт-код оставьте для второй версии скрипта, которая называется "минифицированной" и после всех ухищрений ещё и сжата в GCC.

.. наболело. если я вас коим образом задел, прошу меня извинить.

PS если вы не знаете, что такое стильный код - то это такой код, который очень легко и приятно читать.
PSS если выложите код в двух версиях - для разработчиков (с комментариями и со всем порядочным) и для пользователей (минифицированная), то я поставлю вам плюсик, если это важно
Ответить с цитированием
  #8 (permalink)  
Старый 07.12.2011, 22:28
Аватар для trikadin
Модератор
Отправить личное сообщение для trikadin Посмотреть профиль Найти все сообщения от trikadin
 
Регистрация: 27.04.2010
Сообщений: 3,417

melky, не злись)

У меня тоже был бзик на минимальность кода) Понял, что это фигня, когда через месяц мне было проще переписать всё, чем разбирать то, что написал.
__________________
Читайте:
Ты любопытный) Всё-таки, ничему в этом мире не помешает хорошая доля юмора)
Как спросить, чтобы вам ответили
Часто Задаваемые Вопросы (FAQ)
Ответить с цитированием
  #9 (permalink)  
Старый 07.12.2011, 22:34
sinistral
Посмотреть профиль Найти все сообщения от melky
 
Регистрация: 28.03.2011
Сообщений: 5,418

Сообщение от trikadin Посмотреть сообщение
melky, не злись)

У меня тоже был бзик на минимальность кода) Понял, что это фигня, когда через месяц мне было проще переписать всё, чем разбирать то, что написал.
у меня тоже было. да оно у всех есть. только надо это вовремя пресекать, чтобы не было дальше разочаровния, что так делать некруто
Ответить с цитированием
  #10 (permalink)  
Старый 07.12.2011, 22:39
Аватар для trikadin
Модератор
Отправить личное сообщение для trikadin Посмотреть профиль Найти все сообщения от trikadin
 
Регистрация: 27.04.2010
Сообщений: 3,417

Сообщение от melky
у меня тоже было. да оно у всех есть. только надо это вовремя пресекать, чтобы не было дальше разочаровния, что так делать некруто
Ну, от разочарования никуда не денешься, так или иначе. Нельзя сразу писать идеально))
__________________
Читайте:
Ты любопытный) Всё-таки, ничему в этом мире не помешает хорошая доля юмора)
Как спросить, чтобы вам ответили
Часто Задаваемые Вопросы (FAQ)
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Помогите дописать раскрывающиеся меню frost18 Библиотеки/Тулкиты/Фреймворки 3 07.09.2011 09:58
Помогите дописать скрипт. peektoseen Javascript под браузер 7 22.03.2011 00:15
таймер обратного отсчёта , помогите дописать ДимаЯл Элементы интерфейса 5 08.01.2011 10:20
Помогите пожалуйста дописать 1 функцию (onmouseout) -user21- Элементы интерфейса 0 09.06.2010 22:04
Помогите дописать скрипт ползунков + калькулятор saigo AJAX и COMET 0 30.03.2010 11:00