Yatoi
20.10.2022 11:48

Напишите программы для алгоритмов, приведённых ниже в виде блок-схем

Нажмите на рекламу ниже и сразу увидите ответ
Популярные вопросы:
Ответ:
Linkin251
10.09.2020 15:05

Задача 1:

using System;

using System.Linq;

namespace ConsoleApp1

{

   internal class Program

   {

       private static void Main(string[] args)

       {

           Console.Write("Enter n: ");

           int n = int.Parse(Console.ReadLine());

           var x = new int[n];

           var rand = new Random();

           for (int i = 0; i < n; i++)

           {

               x[i] = rand.Next(-100, 100);

               Console.WriteLine($"x[{i}] = {x[i]}");

           }

           int max = x.Max();

           int index = Array.IndexOf(x, max);

           for (int i = 0; i < index; i++)

           {

               if (x[i] < 0)

                   x[i] = 0;

           }

           Console.WriteLine("\nResult:");

           for (int i = 0; i < n; i++)

               Console.WriteLine($"x[{i}] = {x[i]}");

       }

   }

}

Задача 2:

using System;

using System.Linq;

namespace ConsoleApp2

{

   internal class Program

   {

       private static void Main(string[] args)

       {

           Console.Write("Enter n: ");

           int n = int.Parse(Console.ReadLine());

           var a = new int[n];

           var rand = new Random();

           for (int i = 0; i < n; i++)

           {

               a[i] = rand.Next(-100, 100);

               Console.WriteLine($"x[{i}] = {a[i]}");

           }

           int[] positiveItems = a.Where(t => t > 0).ToArray();

           if (positiveItems.Length == 0)

           {

               Console.WriteLine("No positive numbers");

               return;

           }

           int sum = positiveItems.Sum();

           int product = positiveItems.Aggregate((x, y) => x * y);

           double arithmeticMean = sum / (double)positiveItems.Length;

           double geometricMean = Math.Pow(product, 1 / (double)positiveItems.Length);

           Console.WriteLine($"\nArithmetic mean: {arithmeticMean}");

           Console.WriteLine($"Geometric mean: {geometricMean}");

       }

   }

}


1) В заданном массиве Х(N) замените нулями все отрицательные компоненты, непосредственно предшествую
1) В заданном массиве Х(N) замените нулями все отрицательные компоненты, непосредственно предшествую
0,0(0 оценок)
Ответ:
Дашакот2345681
18.06.2020 05:03

Объяснение:

В общем алгоритм такой.

Пусть мы имеем массив a[1..n, 1..n] из n*n элементов,

i - номер строки, j - номер столбца.

Спускаемся вниз по строкам до строки, номер которой отличается от того,

n - четное или нечетное.

В общем случае это номер i_ser, равный n делить на 2, и округленный до целого вниз.

Например, если n = 4, i_ser = 2, если n = 7, то i_ser = 3.

Для i от 1 до i_ser делать

 начало

   Для j от 1 до i делать

     // здесь мы получаем нужные нам координаты i, j

 конец

Если i_ser нечетно, то отдельно проходимся по строке с номером i_ser+1

Если i_ser нечетно то

 начало

   i_ser = i_ser + 1

Для j от 1 до i_ser делать

     // здесь мы получаем нужные нам координаты i_ser, j

 конец

 

i_ser = i_ser + 1      

Для i от i_ser до n делать

 начало

   Для j от 1 до n - i + 1 делать

     // здесь мы получаем нужные нам координаты i, j

 конец

0,0(0 оценок)
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота