Вы находитесь на странице: 1из 17

Модуль 3 Практика

3.1 Лабораторная работа №3 Создание программ использующих массивы,


строки, а так же подпрограммы

Задание на лабораторную: В среде Microsoft Visual C# , решить 5 задач по


вариантам и оформить отчѐт.

Задание №1

Задачи на использование одномерных целочисленных массивов . Условие вида "дан


массив" означает, что пользователем вводится величина размерности и все элементы
массива с клавиатуры. Осуществить ввод необходимых данных, выполнить реализацию
алгоритма, обеспечить вывод полученных результатов. Для решения задачи
предварительно составляется блок-схема. Если по ходу решения задачи требуется
создание дополнительных массивов, размерность которых изначально неизвестна,
необходимо выполнить предварительную обработку исходного массива, для выяснения
размерности вновь создаваемого. Не допускается использование операторов,
прерывающих ход программы (break, goto). Ввод массивов, обработка и вывод
результатов реализуется отдельными методами.

Задачи по вариантам

 1 Дан целочисленный массив A размера N. Получить среднее арифметическое всех


чѐтных элементов массива, стоящих на нечѐтных местах.

 2 Дан массив A размера N. Сформировать массив B из положительных элементов


массива A, имеющих четный индекс. Найти сумму квадратов элементов нового
массива.

 3 Дан целочисленный массив В размера N. В массиве найти минимальный и


максимальный элементы, поменять их местами. При невозможности определить
один максимальный и один минимальный элементы, выдать соответствующее

1
сообщение.

 4 Найти сумму и произведение элементов одномерного вещественного массива.

 5 Дан массив A размера N. Сформировать новый массив B того же размера по


следующему правилу: элемент BK равен сумме элементов массива A с номерами от
0 до K.

 6 Дан целочисленный массив F размера N, и целое число b>5. В одномерном


массиве найти количество положительных элементов до элемента F[b].

 7 Дан целочисленный массив A размера N. Найти среднее арифметическое


отрицательных элементов массива.

 8 Даны два массива A и B одинакового размера N. Сформировать новый массив C


того же размера, каждый элемент которого равен максимальному из элементов
массивов A и B с тем же индексом.

 9 Даны два массива A и B. Найти в данных массивах максимальные элементы и


поменять их местами, при условии, что они не равны между собой. Вывести
массивы.

 10 Дан целочисленный массив М размера N. Найти сумму четных отрицательных


элементов.

 11 Дан целочисленный массив A размера N. Переписать в новый целочисленный


массив B все элементы с порядковыми номерами, кратными трем (3, 6, …), и
вывести размер полученного массива B и его содержимое. Условный оператор не
использовать.

 12 Дан целочисленный массив D размера N. В массиве найти минимальное


значение среди элементов с нечетными индексами.

 13 Даны два массива A и B. Определить которых из них имеет больший диапазон,


2
т.е. разницу между самым большим и самым меньшим значением.

 14 Дан целочисленный массив A размера N. Определить индексы элементов


массива, значения которых лежат в интервале [a,b], при этом a<b.

 15 Даны два массива A и B. Распечатать те элементы массива А, которых нет в


массиве В. Распечатать те элементы массива В, которых нет в массиве А.

 16 Даны два массива A и B, элементы которых упорядочены по возрастанию.


Объединить эти массивы так, чтобы результирующий массив C остался
упорядоченным по возрастанию.

 17 Даны два массива A и B. Сформировать новый массив С, занести в него только


положительные элементы из массивов A и B.

 18 Дан массив A размера N. Сформировать два новых массива B и C: в массив B


записать все положительные элементы массива A, в массив C — все
отрицательные (сохраняя исходный порядок следования элементов). Вывести
вначале размер и содержимое массива B, а затем — размер и содержимое массива
C.

 19 Дан целочисленный массив G размера N. Получить произведение всех нечѐтных


элементов массива, стоящих на чѐтных местах.

 20 Дан массив A размера N. Сформировать новый массив B того же размера по


следующему правилу: элемент BK равен среднему арифметическому элементов
массива A с номерами от 0 до K.

 21 Дан целочисленный массив С размера N. Найти минимальный и максимальный


элементы. Вычислить их разность.

 22 Дан целочисленный массив K размера N. Получить среднее арифметическое


всех чѐтных элементов массива, стоящих на нечѐтных местах.

3
 23 Дан вещественный массив A размера N и целое число K<N. Определить какая
сумма элементов массива больше – с первого до элемента с номером К или от
элемента с номером К+1 до последнего.

 24 Даны два массива A и B. Распечатать те элементы, которые присутствуют в


обоих массивах.

 25 Дан целочисленный массив A размера N. Переписать в новый целочисленный


массив B все четные числа из исходного массива (в том же порядке) и вывести
размер полученного массива B и его содержимое.

Задание №2

Задачи на исследование серий в одномерных целочисленных массивах . Условие


вида "дан массив" означает, что пользователем вводится величина размерности и все
элементы массива с клавиатуры. Осуществить ввод необходимых данных, выполнить
реализацию алгоритма, обеспечить вывод полученных результатов. Для решения
задачи предварительно составляется блок-схема. Если по ходу решения задачи
требуется создание дополнительных массивов, размерность которых изначально
неизвестна, необходимо выполнить предварительную обработку исходного массива, для
выяснения размерности вновь создаваемого. Не допускается использование операторов,
прерывающих ход программы (break, goto). Ввод массивов, обработка и вывод
результатов реализуется отдельными методами.

Задачи по вариантам

 1 Дан целочисленный массив размера N. Преобразовать массив, увеличив каждую


его серию на один элемент. Серия - это группа подряд идущих одинаковых
элементов, длина серии — количество этих элементов (длина серии может быть
равна 1).

 2 Дано целое число K и целочисленный массив размера N. Удалить из массива

4
серию с номером K. Если серий в массиве меньше K, то вывести массив без
изменений. Серия - это группа подряд идущих одинаковых элементов, длина серии
— количество этих элементов (длина серии может быть равна 1).

 3 Дан целочисленный массив размера N. Вставить после каждой его серии элемент
с нулевым значением. Серия - это группа подряд идущих одинаковых элементов,
длина серии — количество этих элементов (длина серии может быть равна 1).

 4 Даны два массива A и B. Распечатать отрицательные элементы, которые


присутствуют в обоих массивах.

 5 Дан целочисленный массив размера N. Преобразовать массив, увеличив его


первую серию наибольшей длины на один элемент. Серия - это группа подряд
идущих одинаковых элементов, длина серии — количество этих элементов (длина
серии может быть равна 1).

 6 Дан целочисленный массив размера N. Найти количество серий в массиве и


определить самую длинную из них. Серия - это группа подряд идущих одинаковых
элементов, длина серии — количество этих элементов (длина серии может быть
равна 1).

 7 Дан целочисленный массив размера N. Преобразовать массив, увеличив каждую


его серию на два элемента. Серия - это группа подряд идущих одинаковых
элементов, длина серии — количество этих элементов (длина серии может быть
равна 1).

 8 Дан целочисленный массив размера N. Найти количество серий в массиве. Серия


- это группа подряд идущих одинаковых элементов, длина серии — количество
этих элементов (длина серии может быть равна 1).

 9 Дан целочисленный массив A размера N. Переписать в новый целочисленный


массив B все элементы с чѐтными номерами и вывести размер полученного

5
массива B и его содержимое.

 10 Дан целочисленный массив A размера N. Назовем серией группу подряд


идущих одинаковых элементов, а длиной серии — количество этих элементов
(длина серии может быть равна 1). Сформировать два новых целочисленных
массива B и C, записав в массив B длины всех серий образованных четными
элементами исходного массива, а в массив C — значения четных элементов,
образующих эти серии.

 11 Дан целочисленный массив размера N. Преобразовать массив, уменьшив


каждую его серию на один элемент. Серия - это группа подряд идущих
одинаковых элементов, длина серии — количество этих элементов (длина серии
может быть равна 1).

 12 Дан массив A размера N. Сформировать два новых массива B и C: в массив B


записать все чѐтные положительные элементы массива A, в массив C — все
нечѐтные отрицательные (сохраняя исходный порядок следования элементов).
Вывести вначале размер и содержимое массива B, а затем — размер и содержимое
массива C.

 13 Дан целочисленный массив размера N. Вставить перед каждой его серией


элемент с нулевым значением. Серия - это группа подряд идущих одинаковых
элементов, длина серии — количество этих элементов (длина серии может быть
равна 1).

 14 Дан целочисленный массив размера N и целое число M. Проверить есть ли в


массиве серии с числом элементов M, подсчитать количество таких серий. Серия -
это группа подряд идущих одинаковых элементов, длина серии — количество этих
элементов (длина серии может быть равна 1).

 15 Дано целое число K и целочисленный массив размера N. Поменять местами


первую серию массива и его серию с номером K. Если серий в массиве меньше K,

6
то вывести массив без изменений. Серия - это группа подряд идущих одинаковых
элементов, длина серии — количество этих элементов (длина серии может быть
равна 1).

 16 Дано целое число L и целочисленный массив размера N. Заменить каждую


серию массива, длина которой меньше L, на один элемент с нулевым значением.
Серия - это группа подряд идущих одинаковых элементов, длина серии —
количество этих элементов (длина серии может быть равна 1).

 17 Дан целочисленный массив A размера N. Переписать в новый целочисленный


массив B все элементы с нечѐтными индексами и вывести размер полученного
массива B и его содержимое.

 18 Дан целочисленный массив размера N. Преобразовать массив, увеличив все его


серии наибольшей длины на один элемент. Серия - это группа подряд идущих
одинаковых элементов, длина серии — количество этих элементов (длина серии
может быть равна 1).

 19 Сформировать массив простых чисел не больших заданного натурального числа


N. Длина массива должна соответствовать количеству простых чисел.

 20 Дан целочисленный массив A размера N. Назовем серией группу подряд


идущих одинаковых элементов, а длиной серии — количество этих элементов
(длина серии может быть равна 1). Сформировать два новых целочисленных
массива B и C одинакового размера, записав в массив B длины всех серий
исходного массива, а в массив C — значения элементов, образующих эти серии.

 21 Дан массив целых чисел. Создать два новых массива, разделив исходный
массив на две части. Поместить в первый новый массив элементы, которые больше
среднего арифметического их суммы, а во второй новый — меньшие.

 22 В массиве целых чисел с количеством элементов N найти наиболее часто

7
встречающееся число. Если таких чисел несколько, то определить наименьшее из
них.

 23 Проверить, есть ли одинаковые числа в целочисленном массиве. Вывести


одинаковые элементы.

 24 Дан целочисленный массив А. Среди его элементов, возможно, встречаются


одинаковые. Создать на основе него новый массив, состоящий из различных
элементов.

 25 Даны два массива A и B. Найти и распечатать элементы первого массива,


которые присутствуют и во втором массиве.

Задание №3

Задачи на обработку одномерных целочисленных массивов . Условие вида "дан


массив" означает, что пользователем вводится величина размерности и все элементы
массива с клавиатуры. Осуществить ввод необходимых данных, выполнить реализацию
алгоритма, обеспечить вывод полученных результатов. Для решения задачи
предварительно составляется блок-схема. Если по ходу решения задачи требуется
создание дополнительных массивов, размерность которых изначально неизвестна,
необходимо выполнить предварительную обработку исходного массива, для выяснения
размерности вновь создаваемого. Не допускается использование операторов,
прерывающих ход программы (break, goto). Ввод массивов, обработка и вывод
результатов реализуется отдельными методами.

 1 Дан массив A размера N. Упорядочить его по возрастанию методом сортировки


простым выбором: найти максимальный элемент массива и поменять его местами
с последним элементом; выполнить описанные действия N – 1 раз, каждый раз
уменьшая на 1 количество анализируемых элементов и выводя содержимое
массива.

8
 2 Дан массив D вещественных чисел. Вычислить сумму чисел, порядковые номера
которых являются числами Фибоначчи.

 3 Дан одномерный целочисленный массив. Найти сумму элементов,


расположенных между максимальным и минимальным элементами. В сумму
включить и оба этих числа. Если окажется несколько минимальных и
максимальных элементов – то рассматривать серию максимально широко.

 4 В массиве целых чисел с количеством элементов N найти наиболее часто


встречающееся число. Если таких чисел несколько, то определить наибольшее из
них.

 5 Дан массив действительных чисел H. Требуется домножить все элементы


данного массива на квадрат наименьшего элемента данного массива min, если min
> 0, или на квадрат наибольшего элемента данного массива max, если min < 0.

 6 Дан целочисленный массив. Подсчитать количество нулевых элементов,


сформировать новый массив, в котором сначала идут все ненулевые элементы с
сохранением порядка следования, в конце массива записать нулевые элементы.
Полученный массив распечатать.

 7 Дан целочисленный массив с количеством элементов N. Сформировать новый


массив, выбросив из него каждый второй элемент.

 8 Дан одномерный целочисленный массив из n элементов. Найти количество


различных чисел среди элементов этого массива. Например, если задан массив,
состоящий из чисел 10,13,10,18,5,10,5, то ответ будет 4, поскольку различные
числа это 10,13,18,5. Рекомендуется использовать ещѐ один массив для хранения
различных чисел.

 9 Дан массив M вещественных чисел. Вычислить сумму чисел, порядковые


номера которых являются простыми числами.

9
 10 Дан одномерный целочисленный массив. Вычислить сумму элементов массива,
порядковые номера которых совпадают со значением этого элемента.

 11 Дан целочисленный массив размера N. Удалить из массива все одинаковые


элементы, оставив их первые вхождения.

 12 В одномерном массиве все отрицательные элементы переместить в начало


массива, а остальные — в конец с сохранением порядка следования.
Дополнительный массив использовать не разрешается.

 13 Дан целочисленный массив размера N. Удалить из массива все элементы,


встречающиеся менее трех раз, и вывести размер полученного массива и его
содержимое.

 14 Дан массив действительных чисел. Определить, сколько раз меняется знак в


последовательности элементов массива, запомнить в другом массиве номера
позиций, в которых происходит смена знака.

 15 Дан целочисленный массив размера N. Удалить из массива все элементы,


встречающиеся ровно два раза, и вывести размер полученного массива и его
содержимое.

 16 Дан целочисленный массив размера N. Удалить из массива все соседние


одинаковые элементы, оставив их первые вхождения.

 17 Дан массив M вещественных чисел. Вычислить произведение чисел,


порядковые номера которых являются нечѐтными числами.

 18 Дан массив A размера N. Не изменяя данный массив, вывести номера его


элементов в том порядке, в котором соответствующие им элементы образуют
возрастающую последовательность.

 19 Расставить по возрастанию одномерный целочисленный массив из n элементов.

10
При упорядочивании разрешается менять местами только два соседних элемента.
Результат распечатать.

 20 Дан целочисленный массив размера N. Удалить из массива все одинаковые


элементы, оставив их последние вхождения.

 21 Задан одномерный целочисленный массив. Создать новый массив, исключив


нулевые элементы из исходного массива, распечатать новый массив.

 22 Дан целочисленный массив с количеством элементов N. Напечатать те его


элементы, индексы которых являются степенями двойки (1, 2, 4, 8, 16, ...).

 23 Дан одномерный целочисленный массив из n элементов. Определить и


распечатать все локальные экстремумы в нѐм. Экстремумами не могут быть
крайние элементы.

 24 Дан целочисленный массив размера N. Заменить все его элементы, большие


заданного Z, на Z. Подсчитать количество замен. Вывести массив.

 25 В заданном одномерном массиве поменять местами соседние элементы,


стоящие на четных местах, с элементами, стоящими на нечетных местах.

Задание №4

Задачи на обработку строк . Условие вида "дана строка" означает, что


пользователем вводится строка с клавиатуры. Осуществить ввод необходимых данных,
выполнить реализацию алгоритма, обеспечить вывод полученных результатов. Для
решения задачи предварительно составляется блок-схема. Задача решается
поэлементной обработкой строки в цикле. Не допускается использование встроенных
средств обработки строк. Не допускается использование операторов, прерывающих ход
программы (break, goto). Ввод строк, обработка и вывод результатов реализуется
отдельными методами .

11
 1 Дана строка S. Из строки требуется удалить текст, заключенный в фигурные
скобки. В строке может быть несколько фрагментов, заключѐнных в фигурные
скобки. Возможно использование вложенных фигурных скобок и, следовательно
необходимо, чтобы программа это учитывала.

 2 Дана строка S (предложение). Найти самое длинное слово в строке не используя


стандартные средства для разбиения строк.

 3 Дана строка S. Найти количество различных слов в ней. Программа должна


работать без учѐта регистра букв.

 4 Дана строка S. Подсчитать, сколько слов в строке.

 5 Дана строка S. Подсчитать, сколько в ней букв s, n, m.

 6 Дана строка S. Найти количество слов, начинающихся с буквы z.

 7 Дана строка S. Подсчитать, сколько различных символов встречается в ней.


Вывести их на экран.

 8 Дана строка S, содержащая текст. Найти длину самого короткого слова и самого
длинного слова.

 9 Дана строка S. Строка содержит произвольный русский текст. Проверить, каких


букв в нем больше: гласных или согласных.

 10 Дана строка. Определить, сколько в ней символов *, ;, :.

 11 Дана строка S (предложение). Составить программу, определяющую является


ли текст перевѐртышем без учѐта пробелов.

 12 Дана строка S. Определить есть ли в строке удвоенные буквы (пара


соседствующих одинаковых букв), напечатать слова, содержащие их.

12
 13 Даны строки S и S0. Проверить, содержится ли строка S0 в строке S. Не
использовать стандартные средства для поиска подстрок.

 14 Для заданного текста определить длину содержащейся в нем максимальной


серии символов, отличных от букв. Пробел не входит в серию.

 15 Дана строка S. Создать из четных и нечетных символов новые строки S1 и S2.

 16 Дана строка S. Разделить строку на отдельные слова не используя стандартные


средства для разбиения строк.

 17 Дана строка S. В строке между словами вставить вместо пробела запятую и


пробел.

 18 Даны строки S и S0. Найти количество вхождений строки S0 в строку S. Не


использовать стандартные средства для поиска подстрок.

 19 Дана строка S. Проверить, одинаковое ли число открывающихся и


закрывающихся скобок в данной строке.

 20 Дана строка. Вывести все слова, у которых первая и последняя буквы


одинаковые не используя стандартные средства для разбиения строк.

 21 Даны две строки. Напечатать те слова, которые встречаются в каждой из двух


заданных строк.

 22 Дана строка S. В строке заменить все двоеточия на точку с запятой (;).


Подсчитать количество замен.

 23 Дана строка символов, среди которых, возможно, есть одна открывающаяся


круглая и одна закрывающаяся круглая скобка. Вывести на экран все символы,
расположенные внутри этих скобок, а при отсутствии вывести соответствующее
сообщение.

13
 24 Дана строка S. Найти количество различных букв в ней. Программа должна
работать без учѐта регистра букв.

 25 Дана строка символов, среди которых, возможно, есть двоеточие. Определить,


сколько символов ему предшествует, а при отсутствии вывести соответствующее
сообщение.

Задание №5

Задачи на двухмерные массивы. Условие вида "дана матрица" означает, что


пользователем вводится с клавиатуры размерность и все элементы. Осуществить ввод
необходимых данных, выполнить реализацию алгоритма, обеспечить вывод полученных
результатов. Для решения задачи предварительно составляется блок-схема. Не
допускается использование операторов, прерывающих ход программы (break, goto).
Ввод многомерных массивов, обработка и вывод результатов реализуется отдельными
методами.

 1 Дана квадратная целочисленная матрица размера M. Написать программу,


которая проверяет, является ли введенная с клавиатуры матрица магическим
квадратом. Магическим квадратом называется матрица, сумма элементов которой
в каждой строке, в каждом столбце и по каждой диагонали одинакова.

 2 Задана матрица размером n×m. Найти максимальный по модулю элемент


матрицы. Переставить строки и столбцы матрицы таким образом, чтобы
максимальный по модулю элемент был расположен в позиции (k, k).

 3 Дана матрица размера M х N. Элемент матрицы называется ее локальным


максимумом, если он больше всех окружающих его элементов. Поменять знак всех
локальных максимумов данной матрицы на противоположный. При решении
допускается использовать вспомогательную матрицу.

 4 Дана целочисленная матрица размера M х N. Найти ее строки, все элементы

14
которых различны.

 5 Дана матрица n×m. Особым элемент матрицы будет в том случае, если он
является наименьшим в своей строке и одновременно наибольшим в своем столбце
или, наоборот, является наибольшим в своей строке и наименьшим в своем
столбце. Для заданной матрицы напечатать индексы всех ее особых элементов.

 6 Упорядочить по убыванию элементы каждой строки матрицы размером n×m.

 7 Дана квадратная матрица. Преобразовать матрицу по следующему правилу:


строку с номером n сделать столбцом с номером n, а столбец с номером n —
строкой с номером n.

 8 Дана квадратная матрица. Поменять местами строку с максимальным элементом


на главной диагонали со строкой с заданным номером n.

 9 В данной квадратной матрице найти сумму элементов строки, в которой


расположен элемент с наименьшим значением. Если таких строк несколько то
выбрать строку с меньшим номером.

 10 Дана целочисленная квадратная матрица. Найти в каждой строке наибольший


элемент и поменять его местами с элементом главной диагонали.

 11 Дана целочисленная матрица размера M х N. Найти ее строки, содержащие


равное количество положительных и отрицательных элементов (нулевые элементы
матрицы не учитываются). Если таких строк нет, то вывести соответствующее
сообщение.

 12 Дана квадратная матрица, все элементы которой различны. Найти наибольшие


элементы из стоящих на главной и побочной диагоналях и поменять их между
собой.

 13 Дана матрица размером m*n, определить количество и координаты особых

15
элементов матрицы. Элемент считается особым, если он больше суммы остальных
элементов своего столбца и при этом в его строке слева от него находятся
элементы меньше него, а справа больше него. (Особый элемент может быть
крайним в строке)

 14 Дана целая квадратная матрица n-го порядка. Определить, является ли она


магическим квадратом, т.е. такой, в которой суммы элементов во всех строках и
столбцах одинаковы.

 15 Дана матрица n×m. Найти в каждой строке матрицы максимальный и


минимальный элементы и поменять их местами с первым и последним элементом
строки соответственно.

 16 Дана матрица размера M х N. Упорядочить ее столбцы так, чтобы их последние


элементы образовывали убывающую последовательность.

 17 Дана матрица n×m. Найти строку с наибольшей и наименьшей суммой


элементов. Вывести на печать найденные строки и суммы их элементов.

 18 Дана целочисленная матрица размера M х N. Найти номер первого из ее


столбцов, содержащих максимальное количество одинаковых элементов.

 19 Для целочисленной квадратной матрицы найти число элементов, кратных k, и


наибольший из них.

 20 Дана целочисленная матрица размера M х N. Различные строки матрицы


назовем похожими, если совпадают множества чисел, встречающихся в этих
строках. Найти строки, похожие на первую строку данной матрицы.

 21 Дана матрица n×m. В каждой строке выбирается элемент с наименьшим


значением, затем среди этих чисел выбирается наибольшее. Указать индексы
найденного элемента.

16
 22 Определить наименьший элемент каждой четной строки матрицы n×m.

 23 Дана матрица n×m. Найти наибольший и наименьший элементы матрицы и


поменять их местами.

 24 Дана матрица размера M х N. Найти ее строки, элементы которых упорядочены


по возрастанию.

 25 Дана матрица размера M х N. Упорядочить ее строки так, чтобы их


минимальные элементы образовывали убывающую последовательность.

Отчѐт по лабораторной работе

По каждой из решѐнных задач в отчѐте должны быть:

 Постановка задачи
 Словесное объяснение алгоритма
 Блок-схема
 Текст программы с комментариями
 Не менее десяти тестовых примеров. Один из примеров подтверждается
скриншотом исполняемой программы в обязательном порядке.

17

Вам также может понравиться