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

Добыча золота в варкрафт - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Кнопка Enter в командной строке нажимается по 2 раза http://www.cyberforum.ru/cpp/thread1143449.html
Здравствуйте. Есть программа для записи/чтения тесктовых файлов, написана на си++ в Visual. Такое ощущение как будто при нажатии на кнопку enter в программе она нажимается 2 раза. То есть захожу например в первый пункт меню а курсор встает сразу на вторую строку, если нажать ввод еще раз, курсор переходит сразу на четвертую. Чтобы было понятнее прикладываю cpp и exe файлы. Помогите разобраться....
C++ Создание блоков в коде Пишу в Visual Studio 2013. Есть ли в с++ возможность создания блоков #region как в c# , или какие-нибудь аналоги? http://www.cyberforum.ru/cpp/thread1143038.html
C++ Распараллеливание метода нахождения обратной матрицы
Здравствуйте! Помогите пожалуйста. Мне нужно распараллелить метод нахождения обратной матрицы. Посоветуйте литературу, касающуюся этой темы. Просто никогда не делал на практике распараллеливание. Распараллелить мне нужно на С++.
Общий, с чего начать C++
В последнее время не могу понять, что стоит изучить, да и вообще потерял слегка интерес к программированию, хотя раньше очень любил это. В колледже по программе мы прошли не особо много, азы: типо классов, функций, рекурсий и тп., далеко не углублялись, потому что пары должны идти "для всех", а не для 5-7 человек. В универе кроме математики, ничего практически нет, а те пары и лабораторные по...
C++ Программное обеспечение для Аудиографа http://www.cyberforum.ru/cpp/thread1140560.html
Доброго времени суток! Собственно сразу к делу. Есть проект по разработке устройства для измерения остроты слуха, который делится на 2 части, 1-я касается разработки аппаратной части, а 2-я программная часть. Мне необходимо написать программу которая: 1: Будет управлять процессом измерения чувствительности слуха пациента 2: Cчитать с прибора сохраненные результаты измерения слуха на частотах...
C++ Код подключения к MS SQL Здравствуйте. Возможно вопрос покажется совсем уж тупым, но пожалуйсто ответте, ибо никак не могу решить проблему, а сроки поджимают. Имеется некторый MSSQL Server, который находится по адресу, скажем, 192.168.1.10, мне на хосте необходимо запустить клиент, который коннектится к БД и совершает некторые транзакции. Вопрос в следующем: как написать код подключения к этой БД на с++ без mfc.... подробнее

Показать сообщение отдельно
stima
431 / 286 / 16
Регистрация: 22.03.2011
Сообщений: 932
Завершенные тесты: 1
10.04.2014, 02:10     Добыча золота в варкрафт
Во первых
задерживаясь в пути на случайное время
эти задержки должны быть разбиты на интервалы или это одна задержка? Путь это туда и обратно, или это не важно?

Во вторых
Написать программу работы одного юнита.
это как? Подразумевается ли что могут быть запущенны другие программы для других юнитов?, но где тогда "находится шахта" (если спроецировать на реализацию это может быть как шаренный файл, пайп, так и сервер в конце концов)? Может подразумевалось написать программу для эмулирующую работу шахты и N юнитов.

Во третьих fork поможет лишь в том случае, если Вы сделаете общей "шахту" для всех порожденных процессов.
В четвертых, зачем Вы добавляете если Вам нужно вычитать?

Ну и в последних, если все таки подразумевалось смоделировать рабочий процесс для N юнитов в одном приложении, где не важно путь и будет ли остановка одна или разбита, а целью стоит лишь параллельность выполнения, то ниже приведен код, так как я это вижу, в стандарте c++11 (g++ my_file_name.cpp -std=c++11)
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
#include <ctime>
#include <mutex>
#include <thread>
#include <chrono>
#include <vector>
#include <string>
#include <sstream>
#include <iostream>
 
int total_gold = 0;
int units_count = 0;
static const int unit_gold = 10;
 
std::mutex unit_mutex, cout_mutex;
 
void print(const std::string& msg)
{
    //just avoid interlaced out
    std::unique_lock<std::mutex> locker(cout_mutex);
    std::cout << msg << std::endl;
}
 
void unit_routine(int unit_id)
{
    print("unit " + std::to_string(unit_id) + " start his task");
    for ( ;; )
    {
        {
            std::unique_lock<std::mutex> locker(unit_mutex);
            if (total_gold < unit_gold)
            {
                total_gold = 0;
            }
 
            if (total_gold == 0)
            {
                print("no more gold! unit " + std::to_string(unit_id) + " finished ");
                break;
            }
 
            total_gold -= unit_gold;
            print(std::string("current amount of gold: ")  + std::to_string(total_gold));
        }
        std::this_thread::sleep_for(std::chrono::milliseconds(rand() % 100));
    }
}
 
int main()
{
    srand(unsigned int(time(nullptr)));
 
    std::cout << "Enter total gold: ";
    std::cin >> total_gold;
    std::cout << std::endl;
 
    std::cout << "Enter units count: "; 
    std::cin >> units_count;
    std::cout << std::endl;
 
    std::vector<std::thread> thread_group;
    for (int i = 0; i < units_count; ++i)
    {
        thread_group.push_back(std::move(std::thread(unit_routine, i)));
    }
 
    for (auto it = thread_group.begin(); it != thread_group.end(); ++it)
    {
        it->join();
    }
 
    std::cin.get();
    std::cin.get();
 
    return 0;
}
 
Текущее время: 09:07. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru