Главная страница
Навигация по странице:

  • Односвязные списки

  • Кольцевые списки

  • Сортировка методом выбора 7/2

  • Задачи. Все задания. Задания лаб 1


    Скачать 28.32 Kb.
    НазваниеЗадания лаб 1
    АнкорЗадачи
    Дата30.05.2022
    Размер28.32 Kb.
    Формат файлаdocx
    Имя файлаВсе задания.docx
    ТипДокументы
    #556343

    Задания лаб 1


    Ввести символы, формируя из них стек.

    Варианты

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

    2. Развернуть стек, т.е. сделать "дно" стека вершиной, а вершину - "дном"

    3. Удалить элемент, находящийся в середине стека , если число элементов нечетное, или 2 средних элемента, если число элементов четное.

    4. Удалить каждый второй элемент стека

    5. Вставить символ ‘*’ в середину стека, если число элементов четное, или  после среднего элемента, если число элементов нечетное.

    6. Найти минимальный элемент и вставить после него 0.

    7. Найти максимальный элемент и вставить после него 0

    8. Удалить минимальный элемент.

    9. Удалить все элементы, равные первому.

    10. Удалить все элементы, равные последнему.

    11. Удалить максимальный элемент.

    12. Найти минимальный элемент и вставит на его место 0.

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

    Задания лаб 2

    Односвязные списки

    1. Написать программу передвижения элемента на n позиций.

    2. Создать копию списка.

    3. Добавить элемент в начало списка.

    4. Склеить два списка.

    5. Удалить n-ый элемент из списка.

    6. Вставить элемент после n-го элемента списка.

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

    8. Упорядочить элементы в списке по возрастанию.

    9. Удалить каждый второй элемент списка.

    10. Удалить каждый третий элемент списка.

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

    12. Очистить список.

     

    Кольцевые списки

     

    13. Дан кольцевой список, содержащий 20 фамилий игроков футбольной    команды. Разбить игроков на 2 группы по 10 человек. Во вторую группу попадает каждый 2-й человек.

    14. Даны 2 кольцевых списка, содержащие фамилии спортсменов двух фехтовальных команд. Произвести жеребьевку. В первой  команде выбирается каждый n-й игрок, а во второй - каждый m-й.

    15. Задача Джозефуса:  n воинов из одного войска убивают каждого m-го из другого. Требуется определить номер k начальной позиции воина, который должен будет остаться последним.

    16. Даны 2 кольцевых списка, содержащие фамилии участников лотереи и наименования призов. Выиграет N человек (каждый К-й). Число для пересчета призов - t. Вывести фамилии выигравших.

    17. Даны 2 списка, содержащих фамилии учащихся и номера экзаменационных билетов. Число пересчета для билетов - Е, для учащихся - К. Определить номера билетов, вытащенных  учащимися.

    18. Дан список, содержащий перечень товаров. Из элементов 1-го списка (товары изготовленные фирмой SONY) создать новый список.

    19. Даны 2 списка, содержащие фамилии студентов 2-х групп. Перевести L студентов из 1-й группы во вторую. Число пересчета -К.

    20. Даны 2 списка, содержащие перечень товаров, производимых концернами BOSH и FILIPS. Создать список товаров, выпускаемых как одной, так и другой фирмой.

    21. Даны 2 списка, содержащие фамилии футболистов основного состава команды и запасного. Произвести К замен.

    22. Даны 2 списка, содержащие фамилии солдат 1-го и 2-го взводов. Во время атаки М человек из 1-го взвода погибли. Произвести пополнение солдатами 2-го взвода.

    23. Даны 2 списка, содержащие перечень товаров и фамилии покупателей. Каждый N-й покупатель покупает М-й товар. Вывести список покупок.

    24. Даны 2 списка, содержащие наименования товаров, выпускаемых фирмами SONY и SHARP. Создать список конкурирующих между собой товаров.

    Задания лаб 3

    Во всех вариантах использовать упорядоченный по возрастанию целочисленный массив


    1. Найти наименьший элемент в упорядоченном массиве А с помощью линейного, бинарного и индексно-последовательного поиска.

    2. Найти элементы в упорядоченном массиве А, которые больше 30, с помощью линейного, бинарного и индексно-последовательного поиска.

    3. Вывести на экран все числа массива А кратные 3 (3,6,9,...) с помощью линейного, бинарного и индексно-последовательного поиска.

    4. Найти все элементы, модуль которых больше 20 и меньше 50 в упорядоченной таблице, с помощью с помощью линейного, бинарного и индексно-последовательного поиска.

    5. Вывести на экран все числа упорядоченного массива А кратные 4 (4,8,...) с помощью помощью линейного, бинарного и индексно-последовательного поиска.

    6. Вывести на экран сообщение, каких чисел больше относительно 50 в упорядоченной таблице с помощью линейного, бинарного и индексно-последовательного поиска.

    7. Найти элемент в упорядоченном массиве А и найти число сравнений помощью линейного, бинарного и индексно-последовательного поиска.

    8. Поиск элементов случайным образом помощью линейного, бинарного и индексно-последовательного поиска.

    9. Дан список номеров машин (345, 368, 876, 945, 564, 387, 230), найти, на каком месте стоит машина с заданным номером, линейный, бинарный и индексно-последовательный поиск.

    10. Поиск каждого кратного двум элемента в упорядоченном массиве  помощью линейного, бинарного и индексно-последовательного поиска.

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

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

    Задания лаб 4

    1. Описать процедуру или функцию, которая:

    a) присваивает параметру Е запись из самого левого листа непустого дерева Т (лист-вершина, из которого не выходит ни одной ветви);

    b) определяет число вхождений записи Е в дерево Т.

    2. Вершины дерева вещественные числа. Описать процедуру или функцию, которая:

    a) вычисляет среднее арифметическое всех вершин дерева;

    b) добавляет в дерево вершину со значением, вычисленным в предыдущей процедуре (функции).

    3. Записи вершин дерева - вещественные числа. Описать процедуру, которая выбирает все вершины с отрицательными записями и строит из них новое дерево.

    4. Записи вершин дерева - вещественные числа. Описать процедуру или функцию, которая:

    a) находит максимальное или минимальное значение записей вершин непустого дерева;

    b) печатает записи из всех листьев дерева.

    5. Описать процедуру или функцию, которая:

    a) определяет, входит ли вершина с записью Е в дерево Т;

    b) если такая запись не найдена, то она добавляется.

    6. Описать процедуру или функцию, которая:

    a) находит в непустом дереве Т длину (число ветвей) пути от корня до ближайшей вершины с записью Е; если Е не входит в Т, то за ответ принять - 1.

    b) определяет максимальную глубину непустого дерева Т, т.е. число ветвей в самом длинном из путей от корня дерева до листьев.

    7. Описать процедуру СОРY(Т,Т1), которая строит Т1 - копию дерева Т.

    8. Описать процедуру ЕQUAL(T1,T2), проверяющую на равенство деревья Т1 и Т2 (деревья равны, если ключи и записи вершин одного дерева равны соответственно ключам и записям  другого дерева).

    9. Описать процедуру, которая:

    a) присваивает переменной b типа char значение:

    К - если вершина - корень,

    П - если вершина - промежуточная вершина,

    Л - если вершина - лист;

    b) распечатывает атрибуты всех вершин дерева.

    10. Описать процедуру, которая:

    a) находит максимальное или минимальное значение записей листьев  непустого дерева;

    b) добавляет элемент с данной записью в дерево.

    11. Описать процедуру или функцию, которая:

    а) вставляет узел с записью Е в дерево, если ранее такой не было;

    b) считает и выдает на экран сумму значений всех ключей, если такая запись есть.

    12. Описать процедуру или функцию, которая:

    а) печатает запись, встречающуюся в дереве один раз;

    b) печатает запись, встречающееся в дереве максимальное число раз.

    Задания 5


    Дан массив целых чисел. Решить заданную согласно варианту задачу и переставить найденный элемент обоими методами оптимизации поиска в начало списка.

    1. Найти максимальный элемент массива.

    2. Найти минимальный элемент массива.

    3. Найти значение lg (x) от каждого элемента и переставить на 1 место элемент, значение функции от которого максимально.

    4. Найти число, нацело делящееся на 11 (если таких чисел несколько, то найти максимальное; если таких чисел нет - выдать сообщение).

    5. Найти элемент, разность соседних элементов которого не меньше 72. Если таких элементов несколько, выбрать максимальный. Если таких элементов нет, выдать сообщение.

    6. Найти элемент, частное соседних элементов которого четное число. Если таких элементов несколько, выбрать максимальный или минимальный элемент. Если таких элементов нет, выдать сообщение.

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

    8. Найти элемент, среднее арифметическое элементов, находящихся до этого элемента равно 12. Если таких элементов нет, выдать сообщение.

    9. Найти максимальный элемент, делящийся на 10. Если такого элемента нет, выдать сообщение.

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

    11. Найти элемент, для среднее квадратичное элементов, находящихся после этого элемента меньше 10. Если таких элементов несколько, выбрать максимальный элемент. Если таких элементов нет, выдать сообщение.

    12. Найти значение tg (x) от каждого элемента и переставить на 1 место элемент, значение функции от которого максимально.

    Задания 6


    Используя генератор случайных чисел сформировать бинарное дерево, состоящее из 15 элементов  (предусмотреть ручной ввод элементов). Причем числа должны лежать в диапазоне от -99 до 99. Произвести поиск со вставкой и  удалением  элементов в соответствии со следующими вариантами заданий:

    1. Числа кратные N.

    2. Нечетные числа.

    3. Числа > N.

    4. Числа < N.

    5. Числа по выбору.

    6. Простые числа.

    7. Составные числа.

    8. Числа в интервале от X до Y.

    9. Числа, сумма цифр (по модулю) которого > N.

    10. Числа, сумма цифр (по модулю) которого < N.

    11. Числа, сумма цифр (по модулю) которого лежит в интервале от X до Y.

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

    где: N, X, Y - задается преподавателем.

    Задания 7


     Сортировка методом включения 7/1

     

    В ремонтной мастерской находятся несколько (N) машин. О них имеются следующие сведения:

     - номер,

     - марка,

     - имя владельца,

     - дата последнего ремонта (число, месяц, год),

     - день, к которому машина должна быть отремонтирована (число, месяц, год).

    Требуется (согласно варианту):

    1. Расположить по алфавиту имена владельцев и, соответственно, вывести информацию об их машинах.

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

    3. Вывести по убыванию количество всех предыдущих ремонтов машин марки "Жигули".

    4. Вывести по убыванию номера тех машин, количество предыдущих ремонтов которых равно 2.

    5. Вывести по возрастанию даты конца ремонта всех машин, которые ранее не ремонтировались.

    6. Вывести по алфавиту в обратном порядке владельцев автомобилей марки "Мерседес"

    7. Вывести по алфавиту марки машин, которые должны быть отремонтированы раньше всех (дата конца ремонта меньше 01.08.96).

    8. Вывести по возрастанию номера машин марки "Жигули".

    9. Вывести по алфавиту имена владельцев, чьи машины не ремонтировались с прошлого года.

    10. Вывести машины, которые надо отремонтировать к следующему месяцу по возрастанию даты их последнего ремонта.

    11. Вывести по алфавиту в обратном порядке имена владельцев, количество предыдущих ремонтов машин которых больше трех.

    12. Вывести по убыванию номера машин марки "Мерседес".

    Сортировка методом выбора 7/2

    Создать группу из N студентов.

    Ввести их:

     - фамилии, имена, годы рождения,

     - оценки по предметам:

       структуры и алгоритмы данных, высшая математика, физика, программирование,

     - общий балл сдачи сессии.

    Разработать программу, которая осуществляет сортировку (согласно варианту) :

    1. Фамилий студентов по алфавиту.

    2. Фамилий студентов по алфавиту в обратном порядке.

    3. Студентов по старшинству (начиная со старшего).

    4. Студентов по старшинству (начиная с младшего).

    5. Студентов по общему баллу (по возрастанию).

    6. Студентов по общему баллу (по убыванию).

    7. Студентов по результатам 1-го экзамена (по возрастанию).

    8. Студентов по результатам 2-го экзамена (по убыванию).

    9. Студентов по результатам 3-го экзамена (по возрастанию).

    10. Студентов по результатам 4-го экзамена (по убыванию).

    11. Имен в алфавитном порядке.

    12. Имен в обратном алфавитном порядке.

    Задания 8


    1. На заводе выпустили детали со следующими серийными номерами: 45, 56, 13, 75, 14, 18, 43, 11, 52, 12, 10, 36, 47, 9. Детали с четными номерами поступают на склад №1, а с нечетными на слад №2. Требуется отсортировать детали на складе №1.

    2. Угнали автомобиль. Свидетель запомнил, что первой цифрой номера была 4. В базе угнанных автомобилей в этот день были следующие номера: 456, 124, 786, 435, 788, 444, 565, 127, 458, 322, 411, 531, 400, 546, 410. Нужно составить список номеров начинающихся на 4 и упорядочить его по возрастанию.

    3. За неделю езды в транспорте накопились билеты с номерами  124512, 342351, 765891, 453122, 431350, 876432, 734626, 238651, 455734, 234987. Нужно отобрать "счастливые" билеты и расположить их по возрастанию.

    4. Дан список людей с указанием их возраста. Для составления графика ухода сотрудников на пенсию требуется составить новый список новый список в том порядке, в каком они будут уходить на пенсию.

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

    6. В городе был один автобусный парк, куда приезжали автобусы с номерами: 11, 32, 23, 12, 6, 52, 47, 63, 69, 50, 43, 28, 35, 33, 42, 56, 55, 101. После строительства второго автопарка решили перевести туда автобусы с нечетными номерами. Для того чтобы составить расписание их движения нужно организовать список номеров автобусов второго парка, упорядочив их по убыванию.

    7. Была составлена ведомость по зарплате, представленная в виде: Иванов - 166000, Сидоров - 180000, ... Требуется упорядочить этот список таким образом, чтобы размер зарплаты уменьшался.

    8. На стоянке стоят автомобили со следующими номерами: 1212, 3451, 7694, 4512, 4352, 8732, 7326, 2350, 4536, 2387, 5746, 6776, 4316, 1324. Для статистики необходимо составить список автомобилей с такими номерами, сумма первых двух цифр которых равна сумме двух последних цифр, так чтобы каждый следующий номер был меньше предыдущего.

    9. Выпустили лотерейные билеты с четырехзначными номерами. Выигрышными считаются те билеты, сумма цифр которых делится на 4. Составить список выигрышных билетов, упорядоченных по убыванию.

    10. Молодой человек взял номер телефона у своей знакомой, но забыл его. Он смог вспомнить только первые три цифры: 469***. В его записной книжке были следующие номера телефонов: 456765, 469465, 469321, 616312, 576567, 469563, 567564, 469129, 675665, 469873, 569090, 469999, 564321, 469010. Составить список номеров начинающихся с цифр 469 и упорядочить их по убыванию.

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

    12. Выпустили лотерейные билеты с четырехзначными номерами. Выигрышными считаются те билеты, сумма первых трех цифр которых равна 8. Составить список выигрышных билетов, упорядоченных по возрастанию.

    Задания 9


    С использованием любого из улучшенных методов сортировки решить задачу согласно своему варианту.

     

    1. Составить программу вывода на экран самого большого (самого малого) элемента массива А.

    2. Составить программу сортировки массива А по убыванию величин его элементов.

    3. В массиве А находятся элементы. Составить программу, которая сформирует массив В, в котором расположить элементы массива А в порядке убывания.

    4. Дан упорядоченный массив А - числа, расположенные в порядке возрастания, и число а, которое необходимо вставить в массив А, так,  чтобы упорядоченность массива сохранилась.

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

    6. Дан массив А, содержащий как отрицательные, так и положительные числа. Составить программу исключения из него всех отрицательных чисел, а оставшиеся положительные расположить в порядке их возрастания.

    7. Составить программу, которая будет из массива А брать одно число за другим и формировать из них массив В, располагая числа в порядке возрастания.

    8. Дан список авторов в форме массива А. Составить программу формирования указателя авторов в алфавитном порядке и вывести его на экран.

    9. Имеется n абонентов телефонной станции. Составить программу, в которой формируется  список по форме: номер телефона, фамилия (номера идут в порядке возрастания).

    10. Имеется n слов различной  длины, все они занесены в массив А.  Составить программу упорядочения слов по возрастанию их длин.

    11. Составить программу для сортировки массива А по возрастанию и убыванию модулей его элементов.

    12. В отсортированный массив А. между каждой соседней парой элементов вставить число больше левого и меньше правого элемента в массиве и вывести полученный массив на экран.


    написать администратору сайта