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

Задача о философах с использованием событий - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Организовать введение данных в массив , обработку элементов и выведение результатов используя указатели. Дано натуральное число N и одномерный массив http://www.cyberforum.ru/cpp-beginners/thread1115939.html
Организовать введение данных в массив , обработку элементов и выведение результатов используя указатели. Дано натуральное число N и одномерный массив А1, А2,...,AN целых чисел. Найти три не находящихся рядом числа, умножение котах равняется Р. B C++!
C++ Dev Cpp Решение системы алгебраических уравнений компактным методом исключения Здравствуйте! Есть задание, "решение системы алгебраических уравнений компактным методом исключения. Коэффициенты обрабатываются в двух матрицах, матрица действительной части и матрица мнимой части комплексного числа в алгебраической форме." На входе - txt файл с коэффициентами системы в виде матрицы размером N строк на N+1 столбцов, в N+1 столбце - свободные члены системы, коэффициенты -... http://www.cyberforum.ru/cpp-beginners/thread1115928.html
C++ Массив. нужно перемножить элементы столбика и вывести результат
я понял только как считать всю инф. с файла, а вот как перемножить теперь эл-ты 1 столбца? #include <iostream> #include <fstream> #include <iomanip> #include <stdlib.h> using namespace std; int main() { setlocale (LC_ALL, "RUS"); int n=0;
C++ более компактный код
нужна замыниты вес то что я написал в функции void n() на более компактный код (суть кода выравнивать столбик ) //Calculator #include<iostream> #include<conio.h> using namespace std;
C++ Сериализация и десериализация двусвязного списка http://www.cyberforum.ru/cpp-beginners/thread1115917.html
Ребят, помогите плиз решить задачу, которые сутки сижу нифига не получается(( Может я просто, глупый((( Реализуйте функции сериализации и десериализации двусвязного списка, заданного следующим образом: struct ListNode { ListNode * prev; ListNode * next; ListNode * rand; // указатель на произвольный элемент данного списка std::string data; };
C++ OpenMP в Dev CPP как подключить openMP в DevCPP? подробнее

Показать сообщение отдельно
Toshkarik
 Аватар для Toshkarik
1139 / 856 / 51
Регистрация: 03.08.2011
Сообщений: 2,381
Завершенные тесты: 1
11.03.2014, 01:35     Задача о философах с использованием событий
Просто у последнего потока должно быть some[ 4 ] для левой вилки, и some[ 0 ] для правой. Лучше передавай в качестве аргумента структуру с параметрами:

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
struct ThreadArgs {
   HANDLE forks[ 2 ];
};
 
...
 
ThreadArgs args;
...
args.forks[ 0 ] = some[ i ];
 
if ( i < 4 )
   args.forks[ 1 ] = some[ i + 1 ];
else
   args.forks[ 1 ] = some[ 0 ];
 
Philosopher[i] = CreateThread( NULL, 0, philosopher, static_cast< void * >( &args ), 0, NULL );
...
Кстати, вообще не понятно что это за программа, в CreateThread 3 параметром должен передаваться указатель на функцию, а здесь передается результат функции philosopher, которая всегда возвращает 0. Параметр для этой функции должен передаваться пятым. Тут нет никакой многопоточности. Попробую сейчас исправить для вас, чтоб было попроще.
 
Текущее время: 16:57. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru