Форум программистов, компьютерный форум CyberForum.ru

Задача про круглый стол (динамические массивы) - C++

Восстановить пароль Регистрация
 
sabich
0 / 0 / 0
Регистрация: 24.12.2013
Сообщений: 23
02.03.2014, 10:20     Задача про круглый стол (динамические массивы) #1
Помогите решить задачу.
Условие.
За круглым столом собралось 10 участников, номера стульев от 1 до 10 по порядку. Случайным образом выпадает число (от 1 до 10). По кругу идет отсчет и игрок, на которого указывает стрелка отсчет выбывает, затем отчет продолжается дальше, выбывшие игроки не участвуют в игре. Игра заканчивается, когда за столом останется 2 игрока.
Пример: выпало число 3. Выбывают игроки на стульях: 3,6,9,2,7,1,8,5. Победители на стульях 4 и 10.
Решить задачу нужно с помощью динамических массивов, т.е. текущий массив нужно уменьшать на количество выбывших пока не останется 2 стула.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
02.03.2014, 10:20     Задача про круглый стол (динамические массивы)
Посмотрите здесь:

Динамические массивы C++
C++ Динамические массивы
задача про массивы C++
C++ массивы задача про отрезок
C++ динамические массивы
Программа про динамические массивы C++
Динамические массивы C++
Задачка про стол. Размещение гостей без повторений C++
Динамические массивы C++
Динамические массивы C++
Динамические массивы C++
C++ Задача про массивы и функции

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
sabich
0 / 0 / 0
Регистрация: 24.12.2013
Сообщений: 23
03.03.2014, 16:15  [ТС]     Задача про круглый стол (динамические массивы) #2
Очень сожалею, что никто не откликнулся. Я уже сам решил эту задачу. Вот код...
C++
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
# include <iostream>
# include <cstdlib>
# include <ctime>
 
using namespace std;
 
int main ()
{
    setlocale(LC_CTYPE, "rus");
    srand (time(NULL));
 
    int size=rand()%9+3;
    int sch=0,n=rand()%size+1,kill=size;
    int *p_ar=new int [size],*p_ar2=new int [2];
 
    cout << "Количество участников: " << size;
    cout << "\nВыпало число: " << n << endl;
 
    for (int i=0;i<size;i++){p_ar[i]=i+1;cout<<p_ar[i]<<"\t";}cout<<endl;
    
    do
    {
        for (int j=0;j<size;j++)
        {
            if (p_ar[j]!=0)
            {
                sch++;
                if (sch==n)
                {
                p_ar[j]=0;
                sch=0;
                kill--;
                if (kill<=2){break;}
                }
            }
        }
    }while (kill>2);
 
    for (int i=0,j=0;i<size;i++)
    {
        if (p_ar[i]>0)
        {p_ar2[j]=p_ar[i];j++;}
    }
    cout << "\nНаши победители: ";
    for (int i=0;i<2;i++)
    {
        cout << p_ar2[i]<<"\t";
    }
    cout<<endl;
    system ("pause");
return 0;
}
Yandex
Объявления
03.03.2014, 16:15     Задача про круглый стол (динамические массивы)
Ответ Создать тему
Опции темы

Текущее время: 08:12. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru