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

Веселая считалочка - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Задача с геометрической прогрессией http://www.cyberforum.ru/cpp-beginners/thread362377.html
Доброго времени суток :) помогите сделать одну задачку. собственно, эта самая задачка... ;) Проверить истинность высказывания: «Цифры данного трехзначного числа образуют геометрическую прогрессию". Выведите 1 если высказывание истинно, иначе выведите 0. з.ы: исходник нужен в Си
C++ Скобки Вывести все правильные скобочные выражения длиной N, состоящие из круглых и квадратных скобок. Входные данные: Входной файл INPUT.TXT содержит единственное четное натуральное число N, не менее 2 и не превышающее 666. Выходные данные: В выходной файл OUTPUT.TXT выведите всевозможные правильные скобчатые выражения по одному в каждой строке в произвольном порядке. http://www.cyberforum.ru/cpp-beginners/thread362373.html
C++ обработчик message для консоли
меня интересует такой вопрос ___ можно ли к консоли привязать свой обработчик message так как я не хочу создавать window меня устраивает консоль(с ней я себя чуствую комфортней) вот момент когда я наталкнулся на это проблему WSAsyncSelect(hwnd,???msg??? ,...,...) и получается надо будет организовать вот это цикл while (GetMessage (&messages, NULL, 0, 0)) { TranslateMessage(&messages);...
Двухмерный массив C++
Задание , в двухмерном массиве поменять местами главную диагональ. #include<iostream.h> const int n=3,m=3; void InArray (float ); void Change (float ); void PrintArray (float ); void main() { float a; InArray (a);
C++ Простое задание с AppWizard http://www.cyberforum.ru/cpp-beginners/thread362326.html
Помогите решить простое задание. Сам я недавно начал изучать С++ и вот что не делаю всё получается с ошибкой.У меня такое чувство, что я не сделаю задание до завтра. Буду очень признателен от вашей помощи. З.Ы Вариант №6
C++ Преобразование Уолша Адамара! Доброго времени суток всем, Уважаемые! собственно надо реализовать на с++ программку, в письменном виде задачу я уже решил, решение приложу в файле. Если будут какие либо вопросы по работе алгоритма спрашивайте, но вроде в файле обьяснил все довольно просто. сама задача не сильно сложная, просто мой уровень дружбы с матрицами тоже не слишком высок=D через минут 40 попробую выложить свой код,... подробнее

Показать сообщение отдельно
talis
 Аватар для talis
789 / 541 / 37
Регистрация: 11.05.2010
Сообщений: 1,298
Записей в блоге: 1
09.10.2011, 23:42     Веселая считалочка
Без массива никак. Вам же нужно знать, кто выбыл, а кто нет.

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
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
#include <stdio.h>
 
#define OK  0
#define OUT 1
 
int main()
{
    size_t players_count;  // количество игроков
    size_t out_count = 0;  // количество выбывших игроков
    size_t game_count;     // количество ходов
    size_t current_player; // текущий игрок
 
    #define FIRST_OUT_COUNT 5
    size_t first_out[ FIRST_OUT_COUNT ] = { 0 }; // учёт выбывших первыми
    size_t first_out_i = 0; // счётчик выбывши первыми
 
    printf( "Players:\n>" );
    scanf( "%d", &players_count );
 
    char * players = (char*) calloc( 1, players_count );
 
    printf( "Max count:\n>" );
    scanf( "%d", &game_count );
 
    printf( "Start with:\n>" );
    scanf( "%d", &current_player );
 
    if( current_player >= players_count )
    {
        printf( "We have %d players only!\n", players_count );
        free( players );
 
        return 0;
    }
 
    size_t i;
 
    while( out_count != players_count - 1 ) // пока не останется один невыбывший
    {
        for( i = 0; i < game_count; i++ ) // считаем от нуля до game_count - 1
        {
            do // ищем следующего невыбывшего
            {
                current_player++; // идём к следущему игроку
 
                if( current_player == players_count ) // если предыдущий был последним
                    current_player = 0; // идём к первому
            }
            while( players[ current_player ] == OUT );
 
            printf( "%3d ", current_player );
        }
 
        out_count++; // ещё один выбыл
        players[ current_player ] = OUT; // отмечаем его как выбывшего
        printf( " - %3d OUT\n", current_player ); // и говорим об этом
 
        if( first_out_i < FIRST_OUT_COUNT ) // если список выбывших первыми ещё не заполнен
        {
            first_out[ first_out_i ] = current_player; // добавляем выбывшего игрока в него
            first_out_i++;
        }
    }
 
    for( i = 0; players[i] != OK; i++ ); // ищем не выбывшего
 
    printf( "\n%d won!\nFirst %d out: ", i, FIRST_OUT_COUNT ); // выводим его
 
    for( i = 0; i < FIRST_OUT_COUNT; i++ ) // выводим первых выбывших
        printf( "%3d ", first_out[i] );
 
    puts( "\nGame over.\n" );
 
    free( players );
 
    return 0;
}
 
Текущее время: 06:53. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru