Sunteți pe pagina 1din 2

///////////////////////////////////////////////////////////////

10. Realizați o aplicație care să calculeze suma unui vector de numere.


Fiecare două numere consecutive din vector vor fi adunate de către un fir.
Rezultatul fiecărei adunări va fi scris într-un fișier.
//////////////////////////////////////////////////////////////

C.A

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.IO;
using System.Threading;
namespace Prob10
{
class Program
{
static int[] vector;
static int i = 0;
static StreamWriter w;
static void Main(string[] args)
{
w = File.AppendText("textFile.txt");
vector = new int[8];
for (int i = 0; i < 8; i++)
vector[i] = i;
int n = vector.Length;
do
{
for (int r = 0; r < n / 2; r++)
{
if ((r * 2 + 1) < n)
{
Thread t = new Thread(() => calculeazaSuma(vector[r *
2], vector[r * 2 + 1]));
t.Start();
t.Join();
}
else
vector[i] = vector[r * 2 + 1];
}
n = n / 2;
i = 0;
} while (n > 1);
//Console.WriteLine(vector[0]);
Console.ReadLine();
}
public static void calculeazaSuma(int a, int b)
{
int c = a + b;
vector[i] = c;
i++;
Monitor.Enter(w);
w.WriteLine(c + "");
w.Flush();
Monitor.Exit(w);
}
}
}

CREEZI UN FISIER IN DEBUG PT A FI SCRISE SUMELE

S-ar putea să vă placă și