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

Решить СЛАУ многопоточным вариантом метода Гаусса - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 10, средняя оценка - 4.60
~aspro~
 Аватар для ~aspro~
0 / 0 / 0
Регистрация: 24.05.2011
Сообщений: 21
03.12.2011, 21:40     Решить СЛАУ многопоточным вариантом метода Гаусса #1
Здравствуйте,прошу помощи по условию моего задания:
Решить систему линейных уравнений параллельным вариантом метода Гаусса.
Количество потоков задается с помощью клавиатуры. Данные системы считываются из
файла. Результат записывается снова в файл.

Пускай,к примеру есть такой код
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
#include <iostream>
#include "windows.h"
#include "process.h"
#include "conio.h"
using namespace std;
void myThread(void* pParams) 
{ 
for(int f=0;f<=10;f++) 
{
cout << "1"; 
}
_endthread(); 
} 
 
int main() 
{ 
_beginthread(myThread, 0, NULL); 
for(int q=0;q<=10;q++) 
{
cout << "2"; 
}
cout<<endl;
system("pause"); 
}
Что подразумевается под "количество потоков задается с помощью клавиатуры"?
И в коде,который выше,логично получается,что количество потоков 1? И как переделать его под,например,количество потоков 10?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
03.12.2011, 21:40     Решить СЛАУ многопоточным вариантом метода Гаусса
Посмотрите здесь:

Для матриц I=2P-E, где Е-единичная матрица,а Р=Р(n,n), проверить св-во I^2=Е.При помощи метода Гаусса решить СЛАУ Ix=y, где вектор состоит из единиц. C++
Решание СЛАУ методом Гаусса в С++ C++
Решение СЛАУ методом Гаусса C++
Решить СЛАУ методом Гаусса (проверить) C++
C++ СЛАУ методом Жордана-Гаусса
C++ Решение СЛАУ методом Гаусса
C++ Решение СЛАУ методом Гаусса
СЛАУ методом Гаусса C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
~aspro~
 Аватар для ~aspro~
0 / 0 / 0
Регистрация: 24.05.2011
Сообщений: 21
06.12.2011, 04:20  [ТС]     Решить СЛАУ многопоточным вариантом метода Гаусса #2
Продолжу тему,так как нужна ваша помощь с этими моими "любимыми" потоками.
Написал 50% метода Гаусса параллельный вариант. Сейчас выложу сам код,потом уже свою проблему
1)http://pastebin.com/kcSvNj9Q
2)http://pastebin.com/X66p80Bd

Входные данные в файле gauss.txt :
3
1 2 -4
2 -3 3
3 2 -2

3 -1 5


В первой ссылке мой код,который должен работать через потоки и записывает в файл outgauss.txt.
Вторая ссылка,тот же код,только выполняется 2 функции без потоков и записывает снова в файл outgauss.txt.

Мой параллельный вариант метода Гаусса работает так,делаю под главной диагональю 0 в одной функции,а во второй функции исходя из этого ищу сам вектор.

В первой ссылке код делает 0 под главной диагональю, но не считает вектор
Во второй ссылке, все ИКП (и коню понятно),что будет все нормально делать и выводить то,что я хочу.

Помогите разобраться с этими потоками,чтобы нормально заработало.

Добавлено через 8 минут
http://www.webmath.ru/web/prog13_2.p...=1&chislo_ur=3

Вот решение этой системы онлайн


Могут быть несколько причин того,что работает не верно:
1)Я не правильно реализовываю параллельный вариант,и нужно параллельно считать не вектор и 0 под диагональю,а разбить наш массив (систему из 6 уравнений например) на 2 системы по 3 уравнения, и параллельно решать уже через потоки и 1ю и 2ю систему

2)Не правильно реализовываю потоки (всмысле нужно что-то еще дописать)

3)Я очень сильно туплю и мне пора отдохнуть )))
Yandex
Объявления
06.12.2011, 04:20     Решить СЛАУ многопоточным вариантом метода Гаусса
Ответ Создать тему
Опции темы

Текущее время: 02:27. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru