ООП. Написать программу с последовательностью - C#
Формулировка задачи:
Помогите дорешать программу. Мне нужно в конце вывести Выражение=Сумма квадратов+ Факториал. Но так как у меня потоки в разных частях, никак не удается это провернуть.
namespace ConsoleApplication12
{
class ThreadTest
{
static void Proiz()
{
int[] arr = { 1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20 };
int proiz = 0;
double A1 = 0;
for (int i = 0; i < 20; i++)
{
proiz = arr[i]*arr[i];
A1 = proiz+A1;
Console.WriteLine("Сумма квадратов = "+ A1);
Thread.Sleep(1000);
}
}
static void Main()
{
int[] arr ={ 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20 };
Thread t = new Thread(Proiz);
t.Start(); // Выполнить Summ в новом потоке
for (int i = 0; i < 19;i++ )
{
int n = arr[i]*arr[i+1];
Console.WriteLine("Факториал числа "+arr[i]+" = "+n);
Thread.Sleep(1000);
}
}
}
}Решение задачи: «ООП. Написать программу с последовательностью»
textual
Листинг программы
class Program
{
public double A1 = 0;
void Proiz()
{
int[] arr = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20 };
int proiz = 0;
double A1 = 0;
for (int i = 0; i < 20; i++)
{
proiz = arr[i] * arr[i];
A1 = proiz + A1;
Console.WriteLine("Сумма квадратов = " + A1);
Thread.Sleep(1000);
}
}
static void Main(string[] args)
{
Program pr = new Program();
int[] arr = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20 };
Thread t = new Thread(pr.Proiz);
t.Start(); // Выполнить Summ в новом потоке
for (int i = 0; i < 19; i++)
{
int n = arr[i] * arr[i + 1];
// Console.WriteLine("Факториал числа " + arr[i] + " = " + n);
Console.WriteLine("Факториал числа + Сумма квадратов " + arr[i] + pr.A1 + " = " + n);
Thread.Sleep(1000);
}
Console.ReadKey();
}
}