педро228
18.05.2022 21:30

Объясните (ОЧЕНЬ подробно следующий код о соортировке массива слиянием, написанный на языке программирования C#:

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

namespace ConsoleApp4
{
class Program
{
static void Main(string[ ] args)
{
int[ ] arr = { 3, 5, 1, 5, 1, 7, 2 };
foreach (int a in arr)
Console.Write(a + " "); Console.ReadKey();
CycleMergeSort(ref arr);
Console.WriteLine();
foreach (int a in arr)
Console.Write(a + " "); Console.ReadKey();
}

static void CycleMergeSort(ref int[ ] arr)
{
for (int size = 1; size < arr.Length; size *= 2)
for (int i = 0; i < arr.Length; i += size * 2)
MergeSorted(ref arr, i, size);
}

static void MergeSorted(ref int[ ] arr, int startIndex, int leftLength) // leftLength - длина объединяемого массива
{
int rightLength = arr.Length - startIndex - leftLength;
if (leftLength < rightLength)
rightLength = leftLength;
if (rightLength <= 0)
return;
int[ ] result = new int[leftLength + rightLength];
for (int l = 0, r = 0; l < leftLength || r < rightLength;)
{
if (r == rightLength || l != leftLength && arr[startIndex + l] < arr[startIndex + leftLength + r])
{
result[l + r] = arr[startIndex + l];
l++;
}
else
{
result[l + r] = arr[startIndex + leftLength + r];
r++;
}
}
for (int i = 0; i < leftLength + rightLength; i++)
arr[i + startIndex] = result[i];
}
}
}

Нажмите на рекламу ниже и сразу увидите ответ
Популярные вопросы:
Ответ:
63344667876763823947
20.01.2023 03:40

три раза используется вычисление факториала - n!, m! и (m - n)!. REM Начало подпрограммы факториал. В приведенной блок-схеме результаты. Составить и зафиксировать в форме блок-схемы алгоритм вычисления факториала числа. 1. Попроси больше объяснений; Следить. Блок-схема алгоритма вычисление факториала. Дано целое число X и натуральное N. Составьте алгоритм вычисления XN. Проверьте алгоритм. Посчитать сумму N! (N - факториал). Блок-схема. do factorial:=factorial*i; Writeln('Факториал N чисел равен = ',factorial:0:2); Readln; End.. Вычисление суммы цифр заданного числа · Массивы в Pascal · Матрицы в. Стандартная блок-схема линейного алгоритма приводится на рис.. значения счетчика в теле цикла (К = К + 1 в алгоритме вычисления факториала).

0,0(0 оценок)
Ответ:
Dayun3212
20.01.2020 10:19

Кривы́е Безье́ — типы кривых, предложенные в 60-х годах XX века независимо друг от друга Пьером Безье из автомобилестроительной компании «Рено» и Полем де Кастельжо из компании «Ситроен», где применялись для проектирования кузовов автомобилей.

Несмотря на то, что открытие де Кастельжо было сделано несколько ранее Безье (1959), его исследования не публиковались и скрывались компанией как производственная тайна до конца 1960-х.

Кривая Безье является частным случаем многочленов Бернштейна, описанных русским математиком Сергеем Натановичем Бернштейном в 1912 году.

Впервые кривые были представлены широкой публике в 1962 году французским инженером Пьером Безье, который, разработав их независимо от де Кастельжо, использовал их для компьютерного проектирования автомобильных кузовов. Кривые были названы именем Безье, а именем де Кастельжо назван разработанный им рекурсивный определения кривых (алгоритм де Кастельжо).

Впоследствии это открытие стало одним из важнейших инструментов систем автоматизированного проектирования и программ компьютерной графики.

Кривая Безье относится к частному классу алгебраических кривых, а именно: к кривым 3-го и 2-го порядков соответственно.

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