Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 19.02.2010, 18:09   #1
Sparky
Участник клуба
 
Аватар для Sparky
 
Регистрация: 15.05.2009
Сообщений: 1,222
По умолчанию вычисления с использованием потоков

Добрый вечер. У меня началась практика по осям, мягко если сказать нам ничего не объяснили, припод переписал пример из методички и сказал дерзайте, объяснений никаких не было. Вообщем необходимо написать программу которая из вещественной матрицы будет находить номер стобца с мин суммой элементов. Вот то что написал препод
Код:
// mass_max1.cpp : main project file.
/*
		дана матрица вещественных чисел, найти номер столбца с минимальной суммой элементов
*/
#include "stdafx.h"



using namespace System;

	const int m=2, n=2;	
	float mtx[m][n];	//матрица
	float colsum[n];	//массив хранящий суммы стобцов
	int colNumbers[n];	//массив хранящий номера столбцов
	int i,j;


dword WINAPI col_Sum(LPVoid param)	//процедура подсчета суммы столбца
{
	int *pcol_num = (int*)param;
	int col_num=*pcol_num;
	colsum[col_num]=0;
	for (int i=0; i<m; i++)
		colsum[col_num]+=mtx[i][col_num);
	return 0;
}


void main ()
{
	handle h trhead [n];
	dword dwThreadID[n];
	int i,j;
/*
================================================================================================================
														заполнение матицы
================================================================================================================
*/
	for (i=0; i<m; i++)
		For (j=0; j<n; j++)
		 mtx[i][j]=(float)(rand());


	for (i=0; i<n; i++)
	{
		col_sum[i]=0;
		colNumbers[i]:=i;
	}


	for(i=0l i<n ;i++)
	{ 
		hThread[i]= Create Thread (Null,0,col_sum.&(colNumbers[i]),0,z(dwthread[i])),
		if (DWThread[i]==null)
		{
			Std::cout<<"error"<<end<<getlastError();
		}
	
	}
	
wotformultipleObjects(n, hthreadm true, infinite)
{	
	int min_num=0; 
	float min=colsum[0];
	for (i=1, i<n,i++)
	{
		If (min>colsum[i])
		{ 
			min=colsum[i];
			min_num=i;
		}
	}
	cout<<min_num;
	for(i=0; i<n; j++)
		closeHandle(hThread[i]);
}

}
Комменты писала сама, написала в studio 2008, вадает 41 ошибку. Помогите пожалуйста исправить и привести прогу в божеский вид.
Единственное, что ограничивает полет мысли программиста-компилятор
Sparky вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Остановка потоков по ID steelforce Общие вопросы Delphi 2 24.01.2010 16:50
Синхронизация потоков с использованием именованых каналов _Денис Помощь студентам 0 09.01.2010 16:58
обновление в блоге - Распределенные вычисления с использованием .NET Framework Pblog Обсуждение статей 0 10.07.2008 18:20
Использование потоков Repz Общие вопросы Delphi 6 25.01.2008 14:20
Перенаправление потоков Carbon Win Api 5 25.11.2007 14:46