8. Пользовательские типы данных (enum, struct, union). Битовые операторы. (1109526), страница 2
Текст из файла (страница 2)
По запросу пользователя вывестина экран целиком все строки исходного файла, содержащие указанное пользователемслово.13. ВариантСоздать тип данных комплексные числа. Прочитать из файла массив комплексныхчисел, отсортировать его с помощью библиотечной функции qsort(). Для использованияфункции qsort() создать свою функцию сравнения двух комплексных чисел по модулю.Результат напечатать на экране специально созданной функцией.14. ВариантСоздать тип данных многомерный вектор чисел с операциями вставки и удаления новогоэлемента в произвольное место вектора. Для изменения длины вектора использоватьфункции динамического выделения памяти.
Для заданных в двух разных текстовыхфайлах векторов построить вектор, состоящий только из их общих элементов.Результат вывести в третий файл.11.10.20166Кафедра математического моделирования и информатики: первый курс, первый семестр15. ВариантСоздать тип данных прямоугольник, как набор двух точек (задаваемых собственнымтипом) – левой верхней и правой нижней. Для прямоугольников реализовать функциипересечения и объединения. Из двух файлов считать два массива прямоугольников,внутри каждого массива – объединить все прямоугольники, между массивами ихпересечь. Результат вывести на экран.16. ВариантСоздать тип данных матрица и тип данных вектор. Прочитать из одного файла матрицунеизвестной заранее размерности, из другого – вектор, также неизвестной размерности.Перемножить матрицу на вектор (дополняя его нулями или усекая по необходимости).Результат напечатать на экране специально созданной функцией.17.
ВариантЛинейный односвязный список – это динамический список, каждый элемент которогосостоит из двух полей. Одно поле содержит полезную информацию, другое поле содержитуказатель на следующий элемент списка, например:struct list { list* next; double elem; };Прочитать из двух файлов два списка географических объектов формата: название,широта, долгота и пересечь их по координатам, считая координаты полностьюсовпадающими, если они различаются не более, чем на одну сотую градуса по широте идолготе. Из совпавших по координатам элементов в результирующий список записатьлюбой (но один), результат вывести на экран.18.
ВариантСоздать тип данных полиномы произвольного порядка. Создать для них функциисложения, умножения на число, умножения самих полиномов и суперпозиции (когда одинполином подставляется в другой в качестве аргумента, при этом должны использоватьсяоперации сложения, умножения и умножения на число). Считать из файла два разныхполинома, подставить второй из них аргументом в первый.Результат напечатать на экране.19. ВариантЛинейный односвязный список – это динамический список, каждый элемент которогосостоит из двух полей. Одно поле содержит полезную информацию, другое поле содержитуказатель на следующий элемент списка, например:struct list { list* next; double elem; };Составить частотную таблицу (тип данных: слово, частота) для уникальных слов взаданном текстовом файле, проводя линейный поиск новых слов в отсортированном поалфавиту списке.
Найденным словам увеличивать счетчик частоты, не найденные –вставлять в нужную позицию списка. Результат вывести на экран.20. ВариантСоздать тип данных входные данные для решения уравнения методом деления отрезкапополам (границы интервала, пороги точности и невязки) и тип данных ответ (корень,точность, невязка, количество итераций). Написать функцию поиска корня любогоуравнения из семинара 2 с использованием этих структур.11.10.20167Кафедра математического моделирования и информатики: первый курс, первый семестр21. ВариантСоздать тип данных отсортированный вектор (длина, указатель на массив элементов),написать для него функции добавления элемента (так, чтобы сохранить порядоксортировки) и удаления первого элемента.
В качестве элементов вектора использоватьуказатель на уникальные слова из заданного текстового файла.Список уникальных слов вывести на экран.22. ВариантСоздать типы данных для геометрических объектов на плоскости: точка, отрезок (дветочки), круг (точка цента и радиус), прямоугольник (два отрезка, задающие стороны),равносторонний треугольник (три отрезка, задающие стороны). Прочитать из файла наборгеометрических объектов, вывести их звездочками в поле зрения 25 строк на 80 столбцовна экран.23. ВариантЛинейный односвязный список – это динамический список, каждый элемент которогосостоит из двух полей.
Одно поле содержит полезную информацию, другое поле содержитуказатель на следующий элемент списка, например:struct list { list* next; double elem; };Составить частотную таблицу (тип данных: слово, частота) для уникальных слов взаданном текстовом файле, проводя линейный поиск новых слов в отсортированном почастотам списке. Найденным словам увеличивать счетчик частоты, не найденные –вставлять в конец списка. Результат вывести на экран.24. ВариантЛинейный односвязный список – это динамический список, каждый элемент которогосостоит из двух полей. Одно поле содержит полезную информацию, другое поле содержитуказатель на следующий элемент списка, например:struct list { list* next; double elem; };Создать тип данных функция (текстовое обозначение функции, указатель насоответствующую функцию), определить несколько элементарных функций (sin, cos, log ит.п.).
Пользователь вводит простое арифметическое выражение (без учета приоритетаопераций) с указанными функциями, например:sin * sin + cos * cosчто означает:(sin(x) * sin(x) + cos(x)) * cos(x)Нужно построить односвязный список, в котором элементы задают последовательноуказанные функции и операции между ними, а также отдельную функцию, котораявычисляет все выражение, определенное этим списком для заданного пользователемзначения х.Можно воспользоваться типом union для того, чтобы в элементах списка можно было задавать или функциюили операцию. Результат напечатать на экране специально созданной функцией.25.
ВариантВ файле записана система линейных уравнений в виде матрицы коэффициентов, гдепоследний столбец – это вектор правых частей уравнения. Прочитать этот файл в массиввекторов-строк, решить систему методом Гаусса (приведением к треугольному виду).Для решения этой системы нужно завести тип: вектор-строка и определить необходимые арифметическиеоперации с этим типом. Результат вывести на экран.11.10.20168.