Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.80/5: Рейтинг темы: голосов - 5, средняя оценка - 4.80
0 / 0 / 0
Регистрация: 10.09.2012
Сообщений: 3
1

Составить алгоритм определения последовательности номеров удаляемых спортсменов

10.09.2012, 16:55. Показов 846. Ответов 5
Метки нет (Все метки)

ребята! до завтра ришите задачу. пожалуйста. я ноль в программировании

по кругу стоят N спортсменов с номерами от 1 до N. начиная с кокого-то человека,по кругу удаляется каждый k-ый спортсмен. после каждого удаления круг смыкается. составить алгоритм определения последовательности номеров удаляемых спортсменов.
__________________
Помощь в написании контрольных, курсовых и дипломных работ здесь
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
10.09.2012, 16:55
Ответы с готовыми решениями:

Найти последовательность номеров удаляемых спортсменов
Добрый день! Подскажите пожалуйста, правильно ли я написал программу, а то преподаватель не...

Составить алгоритм определения последовательности номеров удаляемых спортсменов.
По кругу стоят N спортсменов с номерами от 1 до N. Начиная с какого то человека по кругу удаляются...

каждая вторая машина сошла с дистанции по той или иной причине. составить алгоритм определения их номеров.
в гонках приличествовало 17 машин (номера их идут по порядку) каждая вторая машина сошла с...

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

5
7 / 7 / 1
Регистрация: 03.04.2012
Сообщений: 25
10.09.2012, 17:38 2
Чему равно k-то?
0
Mobile Software Engineer
Эксперт С++
5364 / 1583 / 956
Регистрация: 23.01.2011
Сообщений: 3,214
10.09.2012, 17:43 3
Kandelyabr, осмелюсь предположить, что числу, введенному с клавиатуры
1
387 / 294 / 21
Регистрация: 07.08.2011
Сообщений: 790
Записей в блоге: 1
10.09.2012, 17:52 4
Если я правильно понял:

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
53
54
55
56
57
58
59
60
61
#include <iostream>
 
using namespace std;
 
int main()
{
    int sizesport;
    cout << "Введите количество спортсменов: " << endl;
    cin >> sizesport;
 
    int *mass = new int[sizesport];
    int *temp = new int[sizesport];
 
    for(int i = 0; i<sizesport; i++) temp[i] = 0;
 
    for(int i = 1; i<=sizesport; i++)
    {
        mass[i-1] = i;
    }
 
    cout << "В наличии спотсмены: \n";
    for(int i = 0; i<sizesport; i++) {cout << mass[i]; if(i+1 != sizesport) cout << ", "; else cout << ".\n";}
 
    cout << "Кого будем удалять? Введите номер. Для завершения введите q.\n";
 
    int man;
    int i_temp = 0;
    bool BL = true;
 
    while(cin >> man)
    {
        if(man<0||man>sizesport)
        {
            cout << "Такого спортсмена нет!\n";
            continue;
        }
 
        for(int i = 0; i<sizesport; i++)
        {
            if(temp[i] == man)
            {
                cout << "Вы его уже удалили!\n";
                BL = false;
            }
        }
 
        if(BL)
        {
            temp[i_temp] = man;
            i_temp++;
 
            cout << "Спортсмен под номером - " << man << " удален.\n";
        }
        else
        BL = true;
    }
 
    cout << "Удаляется каждый " << temp[1]-temp[0] << "-й спортсмен...\n";
 
    return 0;
}
Все ошибки не исключал. Бери книгу и вперед
Миниатюры
Составить алгоритм определения последовательности номеров удаляемых спортсменов  
0
0 / 0 / 0
Регистрация: 10.09.2012
Сообщений: 3
10.09.2012, 18:18  [ТС] 5
пример, N=3, K=2
возможные пути:1,1,1 1,2 2,1 ответ:3.

Добавлено через 2 минуты
блин. спасибо вам большое друзья. очень вам признателен
0
Заблокирован
11.09.2012, 03:06 6
Не мог свой динозавровский код не выложить через индексы и векторы решил, тут вводится кол-во спортсменов, с какого спортсмена будем удалять и через сколько их из круга выпинывать... Если так решать наверно в дискретной математике какая-ниб формула подходящая будет. Честно говоря, после фразы по кругу стоят N спортсменов с номерами от 1 до N, я подумал, что продолжение будет - определите общее iq спортсменов , но нет... а жаль
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
#include <iostream>
#include <vector>
#include <iterator>
int main(){
    using std::cout;using std::cin;
    using std::endl;using std::vector;
    int sum,k,f;
    cout<<"Введите количество спортсменов"<<endl;cin>>sum;
    vector<int> sport;
    for(int value=0;value!=sum;++value){
        sport.push_back(value+1);
        cout<<value+1<<" ";
        }
    sport.push_back(0);
    cout<<endl<<"Через сколько спортсменов пойдет счет?"<<endl;cin>>k;
    cout<<"С какого спортсмена начинать отсчет?"<<endl;cin>>f;
    vector<int> newsport;
    vector<int>::iterator itr;
    vector<int>::iterator itr2;
    itr=sport.begin();
    while(sum!=1){
        itr=sport.begin();
        itr+=(f-1);
        newsport.push_back(*itr);
        cout<<"спортсмен №"<<*itr<<" выбыл"<<endl<<"Оставшиеся спортсмены: "<<endl;
        --sum;
        for(itr2=sport.begin();itr2!=itr;++itr2){cout<<*itr2<<" ";}
        while(itr!=sport.end()-1){
            if(*itr==0)break;
            *itr=*(itr+1);
            if(*itr!=0){cout<<*itr<<" ";}
            ++itr;
            }
        cout<<endl; 
        int go=0;
        itr=sport.begin();
        itr+=(f-1);
        while(go!=k){
            if((*itr!=0)&&(*(itr+1)!=0)){++itr;}else{itr=sport.begin();}
            //cout<<*itr<<" "<<itr-sport.begin()+1<<" ; ";
            f=(itr-sport.begin()+1);
            ++go;
            }   
        cout<<endl;
        }
    return 0;}
Добавлено через 5 минут
На выходе массив (вектор) с номерами выбывших по очереди бедолаг спорсменов
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
11.09.2012, 03:06

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

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

Жадный алгоритм для определения последовательности обхода городов.
Здравствуйте! Изучаю разные транспортные алгоритмы и возник следующий вопрос. На основе данных,...

Составить алгоритм, при которых можно расселить клиентов в наименьшее количество номеров
В отеле есть N номеров. Администратор имеет информацию о количестве мест в каждом номере, перечень...


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

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

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