6 / 6 / 9
Регистрация: 18.03.2014
Сообщений: 176
1

Исключение людей из круга

04.06.2014, 09:55. Показов 632. Ответов 4
Метки нет (Все метки)

Вокруг считающегося стоят n человек, один из которых назван первым, остальные пронумерованы против часовой стрелки от 2 до n. Считающий введет счет до k, начиная с первого.K-ый человек выбывает из списка. Счет продолжается со следующего человека. Так продолжается до тех пор, пока не останется один человек. Необходимо определить начальный номер этого человека. Создать приложение, в котором число n и k вводятся с клавиатуры. Решение реализовать при помощи кольцевого списка.
__________________
Помощь в написании контрольных, курсовых и дипломных работ здесь
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
04.06.2014, 09:55
Ответы с готовыми решениями:

Вывод людей из круга
Помогите пожалуйста! Даны натуральные n, m. Предпологается, что n человек встают в круг и...

Задача про выбывающих из круга людей.
По кругу расположено N человек. Начиная с некоторой позиции, мы считаем по кругу и каждый третий...

Список: Определите порядок выбывания людей из круга...
Всем привет! С prolog я не сталкивался, и честно не понимаю как он работает, но мне нужно...

Составить программу, моделирующую процесс вычеркивания людей из круга
Пожалуйста помогите с этими заданиями. Коллекции (10) 2) В кругу стоят N человек, пронумерованных...

4
Почетный модератор
64073 / 47484 / 32734
Регистрация: 18.05.2008
Сообщений: 115,185
04.06.2014, 10:18 2
Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
program Project2;
 
{$APPTYPE CONSOLE}
 
uses
  SysUtils;
 
{$R-}
 
type
  { Элемент кольцевого списка }
  PCNode = ^TCNode;
  TCNode = record
    data: integer;
    next: PCNode;
  end;
 
var
  cirList, next: PCNode;
  n,i,k,tmp: integer;
begin
{ Создаем список }
GetMem(cirList, sizeof(TCNode));
cirList^.next:= cirList;
{ Первый элемент }
cirList^.data:= 1;
{ Получаем n - количество элементов }
write('n = '); readln(n);
{ Заполняем список }
for i:= 2 to n do
 begin
  next:= cirList^.next;
  GetMem(cirList^.next, sizeof(TCNode));
  cirList:= cirList^.next;
  cirList^.next:= next;
  cirList^.data:= i;
 end;
{ Вводим k }
repeat
 write('k = '); readln(k);
until(k > 0);
{ Пока в списке не останется }
{ всего один элемент }
while (cirList <> cirList^.next) do
 begin
 { Отсчитываем k-1 элемент }
  for i:= 1 to k-1 do
  cirList:= cirList^.next;
 { Следующий элемент - k-й }
  next:= cirList^.next;
  cirList^.next:= next^.next;
 { Удаляем k-й элемент }
    FreeMem(next, sizeof(TCNode));
  end;
 { Выводим номер оставшегося элемента }
 writeln('result = ', cirList^.data);
 { Удаляем последний элемент }
 FreeMem(cirList, sizeof(TCNode));
 Readln
end.
1
6 / 6 / 9
Регистрация: 18.03.2014
Сообщений: 176
04.06.2014, 10:25  [ТС] 3
Можно эту же программу, только на Delphi?
0
Почетный модератор
64073 / 47484 / 32734
Регистрация: 18.05.2008
Сообщений: 115,185
04.06.2014, 10:27 4
А это и есть Делфи, консольный режим. А нафига тебе форма? Ввести и вывести по 1 числу? Ну сделай сам.
0
6 / 6 / 9
Регистрация: 18.03.2014
Сообщений: 176
04.06.2014, 10:32  [ТС] 5
Спасибо
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
04.06.2014, 10:32

Как перевезти людей и львов с одного берега на другой так, чтобы львы не съели людей?
Как перевезти людей и львов с одного берега на другой так, чтобы львы не съели людей? На одной...

Вывести фамилии людей, живущих в разных городах по одинаковым адресам или сообщить, что таких людей нет
Задача:В файле содержаться адреса n человек. Вывести фамилии людей, живущих в разных городах по...

Определить площадь круга, длину круга, и объем цилиндра через процедуру
Определить площадь круга, длину круга, и объем цилиндра через процедуру! Пожалуйста решите. Очень...

Сделать таймер задержки отрисовки круга с удалением предыдущего круга
Задача такая: сделать коротенькую анимацию, в которой круг катится по горизонтали. Рисуется круг,...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.