Требования к выполнению лабораторной работы. Выполнить два задания. Оформить отчеты

Выполнить два задания. Оформить отчеты. Пример оформления приведен в приложении 1.

Требования к заданию 1

1. Использовать статический массив с переменной верхней границей.

2. Размер массива определить в через define констант.

3. Тип массива определить в разделе типа с указанным в разделе констант размером.

4. Ввод данных в массив с помощью клавиатуры оформить функцией с параметрами: массив, количество обрабатываемых элементов (в пределах размера выделенной памяти). Функция обеспечивает: ввод значений, контроль вводимых значений.

5. Ввод данных в массив с помощью датчика случайных чисел оформить функцией с параметрами: массив, количество обрабатываемых элементов. Функция обеспечивает заполнение массива датчиком случайных чисел в соответствии с диапазоном значений.

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

7. Управление программой обеспечить с помощью интерфейса (текстовое меню), включив в него: пункт ввод, код которого содержит: реализацию запроса на количество обрабатываемых элементов массива и контроль введенного значения и вызов одной из функций ввода по выбору пользователя; вывод, и обработку массива согласно условию задачи и завершение программы.

 

Требования к заданию 2

1. Использовать только динамический массив.

2. Для каждой задачи варианта выполните декомпозицию и для каждой разработайте отдельную функцию.

3. В программу включите интерфейс пользователя для выбора пользователем способа ввода элементов массива: с клавиатуры и датчиком случайных чисел, вывода массива и выполнение всех задач задания.

Варианты заданий

ВАРИАНТ 1

1. Дан массив Х из М целых чисел(0<M<97;1000<X[i]<100). Найти максимальное из чисел, встречающееся в данном массиве более 1 раза.

2. Дан одномерный целочисленный массив А, состоящий из N элементов. N заданное натуральное число.

· Cформировать массив В из элементов массива А, являющихся простыми числами.

· Выполнить сортировку части массива В между первым минимальным и последним минимальным значениями методом прямого обмена.

· Удалить все элементы массива, сумма цифр которых кратна 7.

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

ВАРИАНТ 2

1. Дан массив М, состоящий из К целых чисел (0<K<100;-10000<M[i]<10000). Найти минимальное число среди четных чисел чисел этого массива.

2. Дан одномерный целочисленный массив А состоящий из N различных элементов. N заданное натуральное число.

· Найти среднее арифметическое значение элементов, расположенных между первым наибольшим и первым наименьшим элементами, включая эти элементы.

· Сформировать массив В, из тех элементов массива А, у которых двоичный код содержит более трех единиц.

· Выполнить упорядочение массива А по правилу: с младших индексов разместить элементы большие нуля, затем меньшие нуля, затем нули (порядок следования элементов в исходном массиве оставить прежним).

· Удалить все элементы массива, являющиеся простыми числами.

ВАРИАНТ 3

1. Дан массив К состоящий из М целых чисел (0<M<97; 0<K[i]<1000000). Определить НОК (наименьшее общее кратное) среди элементов массива, имеющих четные индексы.

2. Дан одномерный целочисленный массив А состоящий из N элементов. N заданное натуральное число.

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

· Сформировать массив В, из тех элементов массива А, которые являются палиндромами.

· Упорядочить массив А по убыванию методом Вставки.

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

ВАРИАНТ 4

1. Дан массив A состоящий из N целых чисел (0<N<97; 0<A[i]<10000).Определить НОД (наибольший общий делитель) тех элементов этого массива. у которых совпадают младшая и старшая цифры.

2. Дан одномерный целочисленный массив А состоящий из N элементов. N заданное натуральное число.

· Определить образуют ли элементы массива арифметическую прогрессию.

· Сформировать массив В, поместив в элемент В[i] значение равное количеству делителей элемента А[i].

· Выполнить упорядочение элементов массива А по правилу: с младших индексов нули, затем положительные, затем отрицательные (порядок следования элементов в исходном массиве оставить прежним).

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

ВАРИАНТ 5

1. Дан массив M состоящий из N целых чисел (0<N<1000; 0<M[i]<1000). Определить, сколько элементов массива начинаются с цифры 1, сколько с цифры 2, сколько с цифры 3 и т.д. Вывести ту цифру, с которой в массиве начинается больше всего элементов.

2. Дан одномерный целочисленный массив А состоящий из N элементов. N заданное натуральное число.

· Найти последнее максимальное значение массива и его индекс.

· Выполнить сортировку массива А методом прямого выбора.

· Сжать массив А, удалив из него элементы, значения которых принадлежат сегментам [1,10] либо [20,30], сохранив взаимное расположение остальных элементов в массиве А, если таких элементов нет, то выдать соответствующее сообщение.

· Сформировать массив В из элементов массива А, являющихся совершенными числами (сумма делителей числа, исключая само число, равна самому числу).

ВАРИАНТ 6

1. В одномерном массиве Х состоящем из N целых чисел (0<N<100;-10000<X[i]<1000) расположить элементы в следующем порядке:

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

· положительные элементы в порядке убывания их модулей

· нулевые элементы

2. Дан одномерный целочисленный массив А, состоящий из N элементов.

· Выполнить сортировку массива А методом улучшенного Пузырька, располагая элементы в порядке возрастания.

· Найти индекс заданного элемента, используя метод бинарного поиска.

· Найти в массиве самую длинную возрастающую подпоследовательность.

· Удалить из массива А все числа, являющиеся числами Армстронга (натуральное число, удовлетворяющее условию: сумма цифр, возведенных в степень n равна самому числу 153=13+53+33 степень n определяется путем подбора).

ВАРИАНТ 7

1. В одномерном массиве А, состоящем из N целых чисел (0<N<1000; 0<A[i]<100) расположить серии повторяющихся элементов в порядке убывания длин серий. Например: 33333336666662222277778845. Подсказка: использовать массив из 99 счетчиков, для каждого возможного значения массива А.

2. Дан одномерный целочисленный массив А, состоящий из N элементов. N заданное натуральное число.

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

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

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

· Найти наибольший общий делитель элементов массива, имеющих индексом простое число.

ВАРИАНТ 8

1. Дан массив N состоящий из К целых чисел (0<K<=50;-10000<N[i]<10000). Определить НОК (наименьшее кратное) тех элементов массива, которые имеют в своем представлении цифру 5.

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

· Объединить элементы этих двух массивов в один также упорядоченный по возрастанию массив (примените алгоритм сортировки последовательным слиянием).

· Сформируйте массив из равных элементов массивов А и В(пересечение двух массивов).

· Удалите из массива А элементы равные элементам В (вычитание из А массива В).

· Найдите самую длинную подпоследовательность в массиве А, состоящую из нечетных чисел.

ВАРИАНТ 9

1. Дан массив Х, состоящий из N целых чисел (0<N<1000;0<X[i]<10000). Выполнить упорядочение массива по правилу: все положительные четные элементы массива Х перенести в начало, а все остальные элементы в конец, сохраняя взаимное расположение, как среди четных элементов, так и среди остальных элементов

2. Дан одномерный целочисленный массив А, состоящий из N элементов. N заданное натуральное число.

· Определить, образуют ли значения элементов массива последовательность чисел Фиббоначи.

· Сформировать массив В из простых множителей элемента массива А, являющегося наибольшего среди элементов массива имеющих нечетное значение.

· Удалить из массива А все элементы, сумма цифр корторых кратна 7.

· Выполнить циклический сдвиг массива влево на число элементов равное заданному К.

ВАРИАНТ 10

1. Дан массив Z состоящий из M целых чисел (0<M<1000;0<Z[i]<1000000). Сформировать массив В из тех элементов массива А, значения которых являются числами – палиндромами.

2. Дан одномерный целочисленный массив А состоящий из N элементов. N заданное натуральное число.

· Определить, симметричен ли массив (т.е. первый элемент равен последнему, второй предпоследнему и т.д.).

· Выполнить сортировку массива А, располагая элементы в порядке возрастания сумм цифр, применяя метод прямого выбора (можно использовать дополнительный массив).

· Удалить из массива А, все элементы (числа) массива, цифры которых образуют строго возрастающую последовательность.

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

ВАРИАНТ 11

1. Даны два одинаково упорядоченных массива А и В, состоящие соответственно из N и M целых чисел. Сформировать массив С, состоящий из M+N целых чисел, в котором элементы также упорядочены и по тому же правилу.

2. Дан одномерный целочисленный массив А из N элементов. N заданное натуральное число.

· Сформировать массив В, из элементов массива А, которые являются числами Мерсена (число N является числом Мерсена, если это простое число и N+1=2P, где Р. также простое число).

· Удалить из массива А те элементы в записи которых есть цифра 5.

· Выполнить циклический сдвиг массива А вправо на заданное число элементов К.

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

ВАРИАНТ 12

1. Дан массив А из N+1 вещественных чисел. Элементы массива А – это коэффициенты многочлена N-ой степени. Вычислить значение многочлена и его первой производной в точке Х (значение Х вводиться).

2. Заданы два одномерных целочисленных массива А и В,состоящие из N и М элементов соответственно (где

0≤i<N; 0≤i<M). Массив А упорядочен по не убыванию.

· Сформировать массив С, элементами которого являются натуральные числа –индексы элементов массива А, значения которых равны элементу Bi (где 0≤i<M), применяя для поиска индекса метод бинарного поиска.

· Удалить из массива В все элементы кратные 3, массив сжать.

· Упорядочить массив В по правилу: с младших индексов четные, затем нечетные, затем нулевые элементы.

· Вставить новый элемент в упорядоченный массив А, не нарушая упорядоченности.

ВАРИАНТ 13

1. В одномерном массиве Y, состоящем из М целых чисел, (0<M<10000;0<Z[i]<100) найти и вывести максимально длинную возрастающую подпоследовательность. Если их несколько, то вывести первую из них.

2. Дан одномерный целочисленный массив А, состоящий из N элементов.

· Присвоить значение флажковой переменной F единицу, если все элементы массива А образуют строго возрастающую арифметическую прогрессию, и F=-1 если строго убывающую арифметическую прогрессию, или 0, если она не упорядочена по указанным правилам.

· Сформировать массив из тех элементов массива А, которые делятся на каждую из своих цифр.

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

· Удалить все элементы массива, являющиеся простыми числами.

ВАРИАНТ 14

1. Дан одномерный целочисленный массив А состоящий из N элементов(0<N<20;-10000<A[i]<10000).. найти наибольший среди элементов массива А, являющихся простыми числами

2. Дан массив A, состоящий из N целых чисел

· Сформировать массив В из неповторяющихся элементов массива А.

· Удалить из массива А элементы, шестнадцатеричный код которых содержит буквы.

· Упорядочить массив по правилу: с младших индексов числа начинающиеся с цифры 1, затем 2, затем 3 и т.д.(сохраняя взаимное расположение всех перемещаемых элементов).

· Найти НОД всех элементов массива, сумма цифр которых кратна 7.

ВАРИАНТ 15

1. Дан массив Y, состоящий из М целых чисел (0<M<=10; -1000<y[i]<1000). Определить количество элементов массива, являющихся числами –палиндромами.

2. Дан одномерный целочисленный массив А, состоящий из N элементов.

· Найти МАХ - наибольшее, а MIN - наименьшее среди элементов массива А.

· Сформировать массив В из чисел, являющихся степенью двух и принадлежащих сегменту [MIN,MAX].

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

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


Приложение 1 Форма отчета

Задание 1

Условие задания

Дан статический массив из целых беззнаковых элементов.

· Вставить новый элемент перед каждым элементом, у которого четное количество цифр.

· Удалить все числа массива, следующие за простым числом.

· Найти максимальное число среди четных чисел массива.

· Для сортировки массива использовать алгоритм линейного выбора элемента.

Декомпозиция

Задачу следует разбить на следующие подзадачи:

· Проверка количества цифр в числе на четность

· Вставка нового элемента перед каждым, у которого четное количество цифр

· Проверка, является ли число простым

· Удаление все числа массива, следующие за простым числом

· Поиск максимального числа среди четных чисел массива

· Сортировка массива методом линейного выбора

Определение функций

1) Проверять, четное ли количество цифр в числе, будем с помощью функции

 
 

 

 



Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: