Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
Другие темы раздела
C++ Преобразование строчных букв в прописные Помогите с программой: Написать программу, которая во введённой с клавиатуры строке преобразует строчные буквы русского алфавита в прописные за счёт использования двумерной матрицы соответствия T. https://www.cyberforum.ru/ cpp-beginners/ thread409424.html C++ Игра Лабиринт
Пишу простейшую игру лабиринт.Поле загружаю из файла, курсор двигаю клавишами через SetConsoleCursorPosition, как сделать ограничение на движение курсора в те места где некие "стены" моего лабиринта?
C++ SAve method https://www.cyberforum.ru/ cpp-beginners/ thread409419.html
Доброго времени суток всем! Разрабатываю программу MDI приложения в Visual C++. Возникли сложности с сохранением, а точнее с методом Save, то есть без вызова SaveFileDialog. Подскажите как примерно можно реализовать метод. Заранее спасибо
C++ ребят помогите пожалуйста.СРОЧНО :kiss: прогрммка: Вводим с клавиатуры арифметическое выражение типа 1+45+(4-7)... На выходе ответ. Ребят ну пожалуйста.очень надо. https://www.cyberforum.ru/ cpp-beginners/ thread409408.html
Абстрактный базовый класс(задача) C++
Дано задание :Определите абстрактный базовый класс Person,содержащий поля "пол","возраст". Затем определите производный класс Student, описывающий типичного студента (курс, группа, номер в журнале). В заключении выведите из класса student класс GradStudent, описывающий типичного аспиранта (средний балл). Проинициализируйте через конструктор поля классов данными.Объявите экземпляр класса...
C++ Алгоритм Рабина-Карпа, нужны комментарии к коду https://www.cyberforum.ru/ cpp-beginners/ thread409397.html
Привет всем. Столкнулся с задачей разобраться с кодом алгоритма рабина карпа. Объясните пожалуйста как в данной программе он работает. /* Рабина-Карпа строку алгоритме сопоставления - Предположим, Т и Р состоит только а до я и А. Z.. - проверка является ли P подстрокой Т - Вернуть начальный индекс первого вхождения P в T - m = длина (Т) - n = длина (Р) Худший случай:...
C++ Строки/Матрицы/Функции/Списки https://www.cyberforum.ru/ cpp-beginners/ thread409395.html
Доброго времени суток! Очень нуждаюсь в помощи, срочно. Нужно написать 4 проги, вроде лёгкие, но я сам не могу понять :( 1) Строки: Дана строка: Ваши фамилия, имя и отчество записаны через один пробел. Подсчитать кол - во букв "о" во всей строке. 2) Матрицы:Дана матрица. Найти для каждой строки матрицы сумму максимального и минимального элементов. Распечатать в виде столбца. 3) Функции:...
C++ Удалить каждое четное слово из строки
Задача: Удалить каждое четное слово из строки. Это то что надо получить в конце, но т.к. я пытаюсь разобраться, хотелось бы по подробнее шаги рассмотреть! Идею задачи я понимаю. Но сразу же столкнулся с проблемой написания кода...(подсчет количества слов в введенной строке) #include <iostream> #include <cstring> #include <Windows.h> using namespace std; void main()
C++ остаток от деления https://www.cyberforum.ru/ cpp-beginners/ thread409391.html
обычно использовал "%" для отделения остатка от деления двух чисел только для того чтобы узнать целочисленное деление или нет. Теперь когда надо найти элементом с остатком от деления на три равный 2 не получается. if((a%3)==2) проверял к примеру 12%8 выдает 4 хотя должно быть 5. в чем ошибка. Я уже подумывал что оператор "%" используется только для определения целочисленого деления? ...
C++ Вводить с клавиатуры числа до тех пор, пока не будет нажата клавиша <<ESC>> https://www.cyberforum.ru/ cpp-beginners/ thread409385.html
Задание: Вводить с клавиатуры числа до тех пор, пока не будет нажата клавиша <<ESC>>. На экран вывести кол-во вводимых чисел. #include <string> #include <iostream> #include <conio.h> using namespace std; int main() { int ch; int i;
Борьба за ресурсы C++
Добрый день! Встал вопрос, возможно надуманный. void* a(void* argv) { while(1) { cout << (char*)argv; } } void* b(void* argv)
C++ "Аномалия" в сортировке массивов Есть массив чисел int. В котором присутствуют как отрицательные, так и положительные числа. Есть два цикла for - один из которых записывает все отрицательный числа в конец массива, другой в начало, на вид они одинаковы, почему по разному работают? Вот код первого (отрицательный числа в конец) int num = { -1,-2,3,4,-1,6,-7,8, -1, -1 }; for(int y=0; y<10-1; y++){ for(int f=0;... https://www.cyberforum.ru/ cpp-beginners/ thread409382.html
0 / 0 / 0
Регистрация: 12.12.2010
Сообщений: 19
0

Написать программу, создающую два потока, которые выполняются в одном адресном пространстве (в одном процессе) - C++ - Ответ 2294188

17.12.2011, 21:19. Показов 11799. Ответов 25
Метки (Все метки)

Author24 — интернет-сервис помощи студентам
Здравствуйте!
Есть задание: Написать программу, создающую два потока, которые выполняются в одном адресном пространстве (в одном процессе). Их разделяемый ресурс - целочисленный массив, который содержит данные совместного использования. Потоки должны обрабатывать массив поочередно. Использовать критическую секцию для синхронизации. Пример обработки массива: нахождение суммы всех элементов, вывод этой суммы на экран и запись её в первый элемент массива.

Есть код:
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
#include <windows.h>
#include <stdio.h>
 
CRITICAL_SECTION cs = {0};
int a[]= {1,2,3};
 
 
DWORD WINAPI SUM(LPVOID param)
{
    int i=0;
    int sum;
    while(TRUE)
    {
        EnterCriticalSection(&cs);
        sum = 0;
        for(i=0; i<3; i++)
        {
            sum=sum+a[i];
        }
        a[0]=sum;
       
        LeaveCriticalSection(&cs);
        if (a[0] > 100) return 0;
    }
    return 0;
}
DWORD WINAPI PRINT(LPVOID param)
{
    while (TRUE)
    {
        EnterCriticalSection(&cs);
        printf("%d %d %d \n",a[0],a[1],a[2]);
        LeaveCriticalSection(&cs);
        if (a[0] > 100) return 0;
    }
    return 0;
}
 
int main(void)
{
    HANDLE THR[1];
 
    InitializeCriticalSection(&cs);
 
    THR[0]=CreateThread(NULL, 0, PRINT, NULL , 0, NULL);
    THR[1]=CreateThread(NULL, 0, SUM, NULL, 0, NULL);
 
    WaitForMultipleObjects(2, THR, TRUE, INFINITE);
 
    CloseHandle(THR[0]);
    CloseHandle(THR[1]);
    DeleteCriticalSection(&cs);
 
    getchar();
    return 0;
}
Желаемо, чтобы в итоге выводил нечто вроде:
6 2 3
11 2 3
16 2 3
.........
101 2 3,
а вместо этого:
101 2 3.
Пожалуйста помогите разобраться. Заранее спасибо!

Добавлено через 20 часов 0 минут
Господа, пожалуйста, помощь нужна!

Вернуться к обсуждению:
Написать программу, создающую два потока, которые выполняются в одном адресном пространстве (в одном процессе) C++
0
Заказать работу у эксперта
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
17.12.2011, 21:19
Готовые ответы и решения:

Где выполняются PHP- скрипты в отдельном адресном пространстве или в адресном пространстве сервера?
Кто знает где выполняются PHP- скрипты в отдельном адресном пространстве или в адресном...

Массив и структура в одном адресном пространстве
Мне необходимо создать массив и структуру в одном адресном пространстве. То есть, чтобы заполнять...

Два потока в одном процессе, конфликт чтения/записи файлов
Пробую вникнуть в многопоточность. Хочу написать программу которая создает два потока, которые...

Как заставить процесс всегда запускаться в одном и том же адресном пространстве?
Дано: трейдерская программа типа форекс, с кучей ехе и dll, в реальном времени получает с нета...

25
17.12.2011, 21:19
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
17.12.2011, 21:19
Помогаю со студенческими работами здесь

Два приложение на одном процессе
Ситуация такова запущен процесс, а от него два консольных окна как можно узнать запущено ли 1 и 2...

Два сайта на одном движке на одном хостинге
Доброго времени суток! В наличии: – Хостинг (русоникс) с директориями...

Как сделать несколько функций в одном срр ?Написал программы, которые нужно поочередно запустить в одном срр
#include &lt;iostream&gt; void func(double&amp; x,double&amp; y) { double temp_min = (x + y) / 2.0;; ...

Даны два предложения. Напечатать слова, которые есть только в одном!
Даны два предложения. Напечатать слова, которые есть только в одном! Из них (из них в том числе...

Даны два предложения. Напечатать слова, которые есть только в одном из них (в том числе повторяющиеся)
Даны два предложения. Напечатать слова, которые есть только в одном из них (в том числе...

Даны два предложения. Напечатать слова, которые есть только в одном из них (в том числе повторяющиеся)
Даны два предложения. Напечатать слова, которые есть только в одном из них (в том числе...

0
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru