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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
grobogon
0 / 0 / 0
Регистрация: 27.11.2011
Сообщений: 16
#1

Необходимо найти максимальный элемент матрицы, используя несколько потоков - C++

14.01.2012, 01:53. Просмотров 868. Ответов 7
Метки нет (Все метки)

Добрый день программисты, необходимо выполнить поиск наименьшего элемента матрицы используя количество потоков равное количеству строк данной матрицы. Каждый поток находит минимальный элемент своей строки и записывает его в одномерный массив. а потом оттуда находиться минимальный элемент. кто сможет помочь с поставленной задачей?
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
14.01.2012, 01:53
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Необходимо найти максимальный элемент матрицы, используя несколько потоков (C++):

Необходимо найти максимальный элемент во второй части матрицы. - C++
Задачи 1) Дан двухмерный массив A размерностью n n (Матрица). Если провести диагонали, то матрицу можно разделить на 4 частей:...

Максимальный элемент матрицы с использованием потоков - C++
#include "stdafx.h" #include <Windows.h> #include <iostream> #include <conio.h> using namespace std; int *Mas; struct...

Максимальный элемент матрицы заменить на нуль и вывести на печать угол матрицы, в котором расположен этот максимальный элемент - C++
Помогите, пожалуйста, добить программу: -Максимальный элемент матрицы заменить на нуль и вывести на печать угол матрицы, в котором...

Необходимо найти максимальный элемент в списке параметров,подскажите как исправить? - C++
У меня значение MAX не изменяется почему-то. #include "stdafx.h" #include <iostream> #include <conio.h> #include <clocale> ...

Найти минимальный элемент каждой строки и максимальный элемент каждого столбца матрицы - C++
как найти минимальный элемент каждой строки и максимальный элемент каждого столбца матрицы на с++ Добавлено через 6 минут ...

Найти максимальный элемент в массиве используя соотношение деления пополам - C++
Помогите ребята, что не так с кодом.Найти максимальный элемент в массиве ai (i=1, ...., n), используя соотношение (деления пополам)...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
niXman
Эксперт C++
3135 / 1447 / 49
Регистрация: 09.08.2009
Сообщений: 3,441
Записей в блоге: 2
14.01.2012, 03:08 #2
с чем помогать, когда вопросов-то у тебя нет?
0
nxnx
Формучанин
362 / 293 / 16
Регистрация: 02.11.2010
Сообщений: 1,234
14.01.2012, 11:29 #3
Цитата Сообщение от grobogon Посмотреть сообщение
кто сможет помочь с поставленной задачей?
чем помочь?
0
grobogon
0 / 0 / 0
Регистрация: 27.11.2011
Сообщений: 16
14.01.2012, 11:32  [ТС] #4
помочь с созданием потоков равных количеству строк матрицы
0
niXman
Эксперт C++
3135 / 1447 / 49
Регистрация: 09.08.2009
Сообщений: 3,441
Записей в блоге: 2
14.01.2012, 12:10 #5
grobogon, перенести тему сюда? там за деньги все быстро сделают, и слова из тебя вытягивать готовы.
0
grobogon
0 / 0 / 0
Регистрация: 27.11.2011
Сообщений: 16
14.01.2012, 12:13  [ТС] #6
нет не надо переносить тему, может кто и откликнется тут.....
0
nxnx
Формучанин
362 / 293 / 16
Регистрация: 02.11.2010
Сообщений: 1,234
14.01.2012, 12:16 #7
ну например, на WINAPI можно так:
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
#include <windows.h>
 
//DWORD WINAPI thread(void* p);// прототип потока
 
int create_threads(size_t N,HANDLE out_handles[],LPTHREAD_START_ROUTINE thr)
//Создаёт N потоков. в out_handles пишет хендлы потоков.
{
    
    size_t i;    
    for (i=0;i<N;i++)    
        if ((out_handles[i]=CreateThread(NULL,0,thr,(void*)i,0,NULL))==NULL)
        {            
           while (--i<N)           
               CloseHandle(out_handles[i]);     
            
            return 0;
        }    
    
    return 1;
}
void free_threads(HANDLE handles[],size_t count)
//освобождает хендлы потоков
{
    size_t i;
    for (i=0;i<count;i++)
        CloseHandle(handles[i]);    
    
}
использовать так:
Поток:
C
1
2
3
4
5
6
7
8
DWORD WINAPI thread(void* p)
{
    int num=(int) p;
//код потока помещать сюда. num - номер потока, в нашем примере num меняется от 0 до 3
   
    
    return 0;
}
Использование:
C
1
2
3
4
5
//...создаём 4 потока
HANDLE threads[4];
if (create_threads(4,threads,thread))
    free_threads(threads,4);
//....
1
grobogon
0 / 0 / 0
Регистрация: 27.11.2011
Сообщений: 16
14.01.2012, 12:24  [ТС] #8
Спасибо nxnx..
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
14.01.2012, 12:24
Привет! Вот еще темы с ответами:

В матрице найти максимальный элемент среди элементов (используя подпрограмму) - C++
Дана квадратная матрица А размерностью 5. Расположить элементы каждой строки заданной матрицы по убыванию. В полученной матрице найти...

Дана матрица вещественных чисел. Найти максимальный элемент и наиболее удалённый от него (по значению) элемент матрицы. - C++
Дана матрица вещественных чисел. Найти максимальный элемент и наиболее удалённый от него (по значению) элемент матрицы. Поиск осуществлять...

Матрицы. Необходимо найти значение среднего арифметического строк матрицы, исключая нулевые, в случае, если строка имеет отрицательный элемент(ы) - C++
Добрый день уважаемые форумчане! На днях возник вопрос, как найти среднее арифметическое строк, исключая нулевые элементы, если там есть...

Найти максимальный элемент матрицы - C++
Добрый вечер.Написал программу, а она чего то не работает...Она работает, выводит максимальный элемент, и если он 1 она тоже его выводит......


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
14.01.2012, 12:24
Ответ Создать тему
Опции темы

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