Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Помогите разобраться с задачей, Вопрос 
:(
    Опции темы
Poput4ik
Дата 21.11.2009, 21:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 2
Регистрация: 21.11.2009
Где: Россия

Репутация: нет
Всего: нет



Здравствуйте уважаемые форумчане. Написал программу на основе задачи 
Цитата

Целое трёхзначное число вводится с клавиатуры. Найти сумму его цифр. 
 Не могу понять где допустил ошибку. Раньше работал только с кубейсиком. Заранее спасибо smile 
Код

def num_digits(n)
if n<100 || n>999
  return "ERROR"
  else
    def sum_digits(n)
    s = 0
    while n > 0
      s = s + n%10
      n = n/10
    end
    return s
  end
end

puts s


PM MAIL   Вверх
source777
Дата 22.11.2009, 13:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1878
Регистрация: 12.3.2007

Репутация: 6
Всего: 56



Цитата(Poput4ik @  21.11.2009,  21:24 Найти цитируемый пост)
def sum_digits(n)

что это делает посреди тела метода?

Цитата(Poput4ik @  21.11.2009,  21:24 Найти цитируемый пост)
return "ERROR"
А это что за фигня? Какой вообще семантический смысл метода num_digits?

Цитата(Poput4ik @  21.11.2009,  21:24 Найти цитируемый пост)
Раньше работал только с кубейсиком.
В таком случае, лучше сразу забудь всё что связано с кубейсиком, ибо тебе будет мешать всё, что ты не забудешь по этой теме.

P.S. Раз уж у тебя так строго задан диапазон, то весь расчёт суммы цифр уместится в одну строку:
Код

  n = 0
  while (n < 100 || n >= 1000)
    puts "Enter number in range [100; 999]"
    n = gets.to_i
  end
  digits_sum = n/100%10 + n/10%10 + n%10
  puts "digits_sum = #{digits_sum}"





Это сообщение отредактировал(а) source777 - 22.11.2009, 13:51


--------------------
Если бы программистам платили за то, чтобы убирать код из программы вместо того, чтобы добавлять его, программы были бы намного лучше © Николас Негропонте
PM MAIL   Вверх
Poput4ik
Дата 22.11.2009, 21:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 2
Регистрация: 21.11.2009
Где: Россия

Репутация: нет
Всего: нет



source777
Спасибо за помощь  smile Разобрался с задачей. 
PM MAIL   Вверх
source777
Дата 22.11.2009, 23:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1878
Регистрация: 12.3.2007

Репутация: 6
Всего: 56



Цитата(Poput4ik @  22.11.2009,  21:44 Найти цитируемый пост)
Разобрался с задачей.

Poput4ik, на мой взгляд, тебе для начала следует с основами Ruby ознакомиться, а уж потом с задачами разбираться...




--------------------
Если бы программистам платили за то, чтобы убирать код из программы вместо того, чтобы добавлять его, программы были бы намного лучше © Николас Негропонте
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Ruby: Общие вопросы"
source777
  • С чего начать? начинаем
  • Ссылки на полезные ресурсы смотрим тут
  • Обязательно следуйте правилам Vingrad.
  • Пожалуйста, прочитайте рекомендации по работе в форуме и навигации по Vingrad.
  • Для вставки кодов Ruby используйте тег: [code=ruby]код[/code]. Когда в будущем подсветка синтаксиса для Ruby будет реализована, весь исходных код преобразится.
  • Используйтe чекбокс "Транслит" (возле кнопок кодов), если у Вас нет русских шрифтов.
  • Помните, для каждого вопроса должна быть своя тема.

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, source777.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Ruby: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0587 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.