Как мне написать программу, которая сортирует людей по группам на основе ввода имен и сколько групп должно быть создано? - PullRequest
0 голосов
/ 13 сентября 2018

Итак, я должен создать программу, которая объединяет людей в группы.Он должен:

  • Спросить пользователя, сколько групп он хочет создать
  • Спрашивать имена людей, по одной, пока пользователь не введет «стоп», например, есть три группыи введено 5 имен: первый человек входит в первую группу, второй - во вторую группу, третий - в третью группу, четвертый - в первую группу и пятый - во вторую группу.Спросите у пользователя номер группы.Выведите людей из этой группы, каждый из которых разделен запятой и пробелом.Номера групп «индексируются 1», поэтому, если пользователь вводит 1, должна быть напечатана первая группа, а не вторая.
  • Продолжайте запрашивать у пользователя номера групп, пока пользователь не введет «стоп»

Это то, что я имею до сих пор, но, честно говоря, я не знаю, куда идти дальше, или даже если это правильно.Я знаю, что где-то должен быть модуль, но не могу понять, как его сформулировать (я новичок в этом!).

puts "Enter the number of groups you would like to create"
group_number = gets.chomp.to_i

array = Array.new(group_number) { [] }

puts "Give me a name"
while input_name = gets.chomp
    if input == "stop"
        break
    else puts "Give me a name"
        array << input_name
    end
end

1 Ответ

0 голосов
/ 13 сентября 2018

Сначала попробуйте отладить ваш код и попрактиковаться в логической части.

Попробуйте, это напечатает все группы с участниками. Я ввожу от 'q' до 'l' с клавиатуры QWERTY как имя члена

puts "Enter the number of groups you would like to create"
group_number = gets.chomp.to_i

array = Array.new(group_number) { [] }

puts "Give me a name"
count = 0
while input_name = gets.chomp
    if input_name == "stop"
        break
    else puts "Give me a name"     
      array[count] << input_name
      count += 1
      count = 0 if count == group_number
    end
end
puts array.inspect
#[["q", "y", "a", "h"], ["w", "u", "s", "j"], ["e", "i", "d", "k"], ["r", "o", "f", "l"], ["t", "p", "g"]]

Над комментарием выводится, после чего вы можете спросить, каких членов группы вы хотите напечатать

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...