Лабораторная работа 10
https://programm.top/c-sharp/algorithm/array-sort/quick-sort/
https://education.yandex.ru/journal/osnovnye-vidy-sortirovok-i-primery-ikh-realizatsii ЗДЕСЬ ВИДЫ СОРТИРОВОК Сортировка массива
Join Использование String.Join() метода Простым решением для объединения нескольких строк с помощью разделителя является
Вам необходимо сделать несколько блоков кода, которые делают следующее:
Блок 2. Выводит все элементы массива в обратном порядке метод Reversive
Методы копирования массива в C# С помощью ArrayCopy() С помощью Clone() С помощью CopyTo()
метод Clone
метод Copy
метод CopyTo
Двумерные массивы
Написать код программы для нахождения произведения всех отрицательных элементов массива A(3,4).Массив задать с использованием
Убрать предлоги и союзы
Задача
задача
Задача
Заполнение массива символами латинского алфавита и кириллицы
задача
Ввод слов. Вывод одного из них случайным образом
Организовать ввод слов. Сформировать фразу
Задача
Способы доступа к элементам массива. 1.По номеру. 2.For(можно задать интервал или весь массив) 3. Foreach (только весь массив)
задача
нахождения произведения всех отрицательных элементов массива A(3,4).Массив задать с использованием генератора случайных чисел в
1.13M

ТИ_ Лабораторная работа 10

1. Лабораторная работа 10

Решить задачи слайды 5,8
Решить 1 задачу по выбору (слайды 18-26)
Решить 1 задачу по выбору (слайды 32,34,35,37, 40, 42)
На оценку "отлично" решить ещё 1 задачу (слайды 32,34,35,37, 40, 42)
1

2. https://programm.top/c-sharp/algorithm/array-sort/quick-sort/


Быстрая сортировка (quick sort), или сортировка
Хоара – один из самых быстрых алгоритмов
сортирования данных.
Алгоритм Хоара – это модифицированный вариант
метода прямого обмена. Другие популярные
варианты этого метода - сортировка
пузырьком и шейкерная сортировка, в отличии от
быстрой сортировки, не очень эффективны.
Принцип работы алгоритма быстрой сортировки
Идея алгоритма следующая:
Необходимо выбрать опорный элемент массива,
им может быть любой элемент, от этого не зависит
правильность работы алгоритма;
Разделить массив на три части, в первую должны
войти элементы меньше опорного, во вторую равные опорному и в третью - все элементы
больше опорного;
Рекурсивно выполняются предыдущие шаги, для
подмассивов с меньшими и большими
значениями, до тех пор, пока в них содержится
больше одного элемента.
2

3. https://education.yandex.ru/journal/osnovnye-vidy-sortirovok-i-primery-ikh-realizatsii ЗДЕСЬ ВИДЫ СОРТИРОВОК Сортировка массива

пузырьком
3

4. Join Использование String.Join() метода Простым решением для объединения нескольких строк с помощью разделителя является

Join
Использование String.Join() метода
Простым решением для объединения нескольких строк с помощью разделителя является использование
метода String.Join() . Он объединяет элементы указанного списка с указанным разделителем
4

5.

Задать массив А(9) -9,80,0,56,-7,2,3,78,50.
Отсортировать его(использовать алгоритм
пузырька и метод sort ). Вывести в консоль.
Сравнить результаты
5

6. Вам необходимо сделать несколько блоков кода, которые делают следующее:

• Блок 1. Выводит все элементы массива.
• Блок 2. Выводит все элементы массива в
обратном порядке.
• Блок 3. Выводит чётные элементы массива.
• Блок 4. Выводит все элементы массива
через 1.
• Блок 5. Выводит все элементы массива пока
не встретится элемент -1.
6

7. Блок 2. Выводит все элементы массива в обратном порядке метод Reversive

7

8.

• Сформировать массив. Вывести его в
обратном порядке (использовать Join или
foreach)
8

9. Методы копирования массива в C# С помощью ArrayCopy() С помощью Clone() С помощью CopyTo()

• Clone Результирующий клон должен иметь тот же тип, что и исходный
экземпляр.Он копирует полное содержимое массива, хранящееся в
новом массиве.
• CopyTo()Этот метод помещает копии демонстрационного класса всех
данных массива в существующий массив. Используется для
копирования одномерного массива в C #. Этот оператор копирует
полное содержимое массива в новый массив, начиная с индекса,
переданного в параметре в C #.
• Copy Метод копирует все текущие элементы массива в указанный
целевой массив в C #. Этот метод должен вызываться из исходного
массива и принимать два параметра. Первый - это массив, в который
вы хотите скопировать, а второй параметр сообщает ему, с какого
индекса целевого массива он должен начать копирование в C#
9

10. метод Clone

10

11. метод Copy

11

12. метод CopyTo

12

13. Двумерные массивы

• int[,] nums1;
• int[,] nums2 = new int[2, 3];
• int[,] nums3 = new int[2, 3] { { 0, 1, 2 }, { 3, 4, 5
} };
• int[,] nums4 = new int[,] { { 0, 1, 2 }, { 3, 4, 5 }
};
• int[,] nums5 = new [,]{ { 0, 1, 2 }, { 3, 4, 5 } };
• int[,] nums6 = { { 0, 1, 2 }, { 3, 4, 5 } };
13

14.

• Дан массив, состоящий из целых чисел. Напишите
программу, которая в данном массиве определит
количество элементов, у которых два соседних и,
при этом, оба соседних элемента меньше
данного.
14

15.


Петя впервые пришел на урок физкультуры в новой школе. Перед началом урока ученики
выстраиваются по росту, в порядке невозрастания. Напишите программу, которая определит
на какое место в шеренге Пете нужно встать, чтобы не нарушить традицию, если заранее
известен рост каждого ученика и эти данные уже расположены по невозрастанию (то есть
каждое следующее число не больше предыдущего). Если в классе есть несколько учеников с
таким же ростом, как у Пети, то программа должна расположить его после них.
Входные данные
Сначала задано число N
— количество учеников (не считая Петю)(1≤N≤100
). Далее через пробел записаны N
чисел — элементы массива. Массив состоит из натуральных чисел, не превосходящих 200
(рост учеников в сантиметрах). Затем, на новой строке, вводится рост самого Пети.
Выходные данные
Необходимо вывести единственное число - номер Пети в шеренге учеников.
15

16.

• Дан массив, состоящий из целых чисел.
Напишите программу, которая подсчитает
количество элементов массива, больших
предыдущего (элемента с предыдущим
номером).
16

17.

• Дан массив, состоящий из целых чисел. Напишите программу, которая
определяет, есть ли в массиве пара соседних элементов с
одинаковыми знаками.
• Необходимо вывести слово YES, если существует пара соседних
элементов с одинаковыми знаками. В противном случае следует
вывести слово NO.
17

18.

• Информация о средней суточной
температуре воздуха за месяц задана в
виде массива. Определить, температура
скольких дней была ниже среднемесячной.
18

19.

• Рост учеников класса представлен в виде
массива. Рост девочек кодируется знаком +,
рост мальчиков знаком -. Определить
средний рост мальчиков.
19

20.

• Дан список оценок по математике 30-ти
абитуриентов. Кого больше троечников,
четверочников или пятерочников?
20

21.

• Имеются сведения о количестве проданных
билетов в 17-ти вагонах поезда. Найти
наименее загруженный вагон, учитывая,
что количество мест в вагоне зависит от
типа вагона: в мягком и купейном вагонах по 36 мест, а в плацкартном - 46.
21

22.

• Известны абсциссы и ординаты 10 точек на
плоскости. Написать программу, которая
выдает номера двух наиболее удаленных
друг от друга точек.
22

23.

• Известны температуры каждого из 10-ти
дней трех декад месяца. Какая декада была
наиболее холодной?
23

24.

• Известно количество денег у каждого из N
учеников, а также стоимость 4 комплексных
обедов в школьной столовой. Вывести
сколько каких обедов будет куплено и
сколько учеников останутся голодными,
если каждый ученик выбирает наиболее
дорогой обед, который он может купить.
24

25.

Дано натуральное число. Получить из него
новое по правилу: если сумма его цифр
больше заданного значения (натурального),
то изменить порядок следования цифр на
обратный. Иначе, заменить исходное число
на ближайшее к нему кратное заданному.
25

26.

Проверить, есть ли в заданном
целочисленном одномерном массиве
простые числа. Если такие есть, то найти
наименьшее и наибольшее из них.
26

27.

27

28.

28

29. Написать код программы для нахождения произведения всех отрицательных элементов массива A(3,4).Массив задать с использованием

генератора случайных чисел в интервале [-10,10].
29

30.

• Дан текст, оканчивающийся точкой. Найти
количество слов, у которых первый и последний
символы совпадают.
30

31. Убрать предлоги и союзы

31

32. Задача

• Организовать ввод текста из консоли.
• Посчитать количество предлогов и союзов в тексте(слова, состоящие
из одной буквы, двух, трех)
• Отдельно вывести слова на букву «К». Сколько их?
• Примерный текст:
• Фрактальная графика является на сегодняшний день одним из самых
быстро развивающихся и перспективных видов компьютерной
графики. Логично, что фрактальная графика состоит из фракталов. Но
что это такое? Фрактал-это структура самоподобных элементов. Это
значит, что взяв небольшую часть фрактала, можно получить
информацию обо всем фрактале.
32

33.

• Организовать ввод текста из консоли. Проверить текст на соблюдение
правил ЖИ ШИ, и при наличии ошибок исправить и вывести
правильный текст.
33

34. задача

• Проверить в тексте написание словарных слов и при
наличии ошибок, исправить их
• Вывести текст до и после исправления.
• Встретиться на привокзальной площаде, беседовать
наедене, митинг на небольшой площадке, назначьте
дежурных, развивать скорость, приземлиться в степи,
прервать переговоры, предобрый старичок, отказ от
привелегий, сильно преувиличивать, рассердиться на
товарища, преследовать свои интересы, в будущей
профессии, на металлической застежке, вставать
спазаранку, обязанности секретаря, скреплять сургучом.
34

35. Задача

• Создайте строковый массив, состоящий из
имен ваших одноклассников.
• Используя метод SORT() отсортируйте
список.
• Иcпользуя метод Reverse() измените
порядок слов и выведите список в консоль
35

36. Заполнение массива символами латинского алфавита и кириллицы

36

37. задача

• Сформировать массив символьного типа,
состоящий из букв русского алфавита.
Посчитать количество гласных
37

38. Ввод слов. Вывод одного из них случайным образом

38

39. Организовать ввод слов. Сформировать фразу

39

40. Задача

• Дан массив, состоящий из пяти целых
чисел.
• Вывести сумму старшей и младшей цифр
числа.
• Два способа решения.
• 1.Методы min() max()
• 2.Sort()
40

41. Способы доступа к элементам массива. 1.По номеру. 2.For(можно задать интервал или весь массив) 3. Foreach (только весь массив)

41

42. задача

• Объявить и инициализировать массив [3,2]
• как на слайде 12.
• Вывести количество четных элементов
массива
• Есть ли нули в матрице? Напечатать
сообщение
• Использовать for, foreach
42

43.

43

44. нахождения произведения всех отрицательных элементов массива A(3,4).Массив задать с использованием генератора случайных чисел в

интервале [-10,10].
44

45.

45

46.


int M, N;
M:
Console.Write("Введите размер таблицы умножения M: ");
{
M = Convert.ToInt32(Console.ReadLine());
}
N:
Console.Write("Введите размер таблицы умножения N: ");
{
N = Convert.ToInt32(Console.ReadLine());
}
Console.Write("╔");
for (int i = 0; i < M - 1; i++)
{
Console.Write("═══════╦");
}
Console.Write("═══════╗\n");
for (int i = 1; i <= M; i++)
{
for (int j = 1; j <= N; j++)
{
Console.Write($"║{i * j}\t");
}
if (i < M)
{
Console.Write("║\n╠");
for (int h = 0; h < M - 1; h++)
{
Console.Write("═══════╬");
}
Console.Write("═══════╣\n"); ;
}
else
{
Console.Write("║\n╚");
for (int h = 0; h < M - 1; h++)
{
Console.Write("═══════╩");
}
Console.Write("═══════╝\n");
Console.ReadKey();
}
}
46
English     Русский Rules