ООП. Написать программу с последовательностью - 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();
        }
    }

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

5   голосов , оценка 3.8 из 5
Похожие ответы