Treść zadania

hikicianka

Mnożenie macierzy w C#.
Poniższe mnożenie należy zrobić używając wątków (threads). Ogólnie zadanie polega na porównaniu czasów wykonania programu na jednym wątku i na wielu wątkach.




using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading;
//using System.Threading.Tasks;

namespace macierze
{
class Program
{

static void Main(string[] args)
{
int[,] mac1, mac2, mac;
int a, b, c, d, t;
Random gen = new Random(); //metoda, za pomocą której można generować liczby pseudolosowe

a = 2000; b = 2000; c = 2000; d = 2000;


mac1 = new int[c, d];
mac2 = new int[a, b];
mac = new int[c, b];

for (int i = 0; i < c; i++)
{
for (int j = 0; j < d; j++)
{
mac1[i, j] = gen.Next(1, 1000); //generowanie pierwszej macierzy
// Console.Write(mac1[i,j]+"|");
}
Console.WriteLine();

}
Console.WriteLine();
for (int k = 0; k < a; k++)
{
for (int l = 0; l < b; l++)
{
mac2[k, l] = gen.Next(1, 1000); //generowanie drugiej macierzy
// Console.Write(mac2[k, l] + "|");
}
Console.WriteLine();
}

DateTime start = DateTime.Now;
for (int i = 0; i < c; i++)
{
for (int j = 0; j < b; j++)
{
t = 0;
for (int k = 0; k < d; k++) t = t + mac1[i, k] * mac2[k, j]; //mnożenie macierzy

mac[i, j] = t;
}
}
// DateTime st = DateTime.Now;

DateTime stop = DateTime.Now;

//TimeSpan czas = stop - start;
TimeSpan czas = stop - start;
Console.WriteLine();
Console.WriteLine(czas.TotalMilliseconds);
// Console.WriteLine("Czas Start:" + start + "\nCzas Stop:" + stop);
Console.WriteLine();

for (int i = 0; i < c; i++)
{
for (int j = 0; j < b; j++)
{
//wyswietlanie wynikowej macierzy
// Console.Write(mac[i, j] + "|");
}
// Console.WriteLine();

}
Console.ReadKey();

}
}
}

Zadanie jest zamknięte. Autor zadania wybrał już najlepsze rozwiązanie lub straciło ono ważność.

Rozwiązania

Podobne zadania

Dorotka15_1993 Czy ktoś zrobi mi pracę w GIMPie? Przedmiot: Informatyka / Liceum 2 rozwiązania autor: Dorotka15_1993 30.9.2010 (19:24)
kas03 Kto będzie taki kochany i zrobi mi stronę we Frontpage? może mieć dowolny Przedmiot: Informatyka / Liceum 1 rozwiązanie autor: kas03 19.12.2010 (19:42)

Podobne materiały

Przydatność 55% Algebra macierzy

Dodawanie macierzy. Dwie macierze możemy dodać wtedy, gdy są tego samego wymia¬ru. Przykład: Niech Wówczas

0 odpowiada - 0 ogląda - 0 rozwiązań

Dodaj zadanie

Zobacz więcej opcji