Программирование

Тип работы: Все Задача Курсовая работа Лабораторная работа Ответы на вопросы
Язык программирования: Все Basic C C# C++ Delphi Fortran Free Basic HTML Java Pascal Pascal ABC Turbo Pascal VBA Ассемблер
Блок-схема: Все Есть Нет
Сортировать по умолчанию цене названию
  • Две задачи на С++

    Задание 1

    Создать шаблонный класс матриц NхN. Шаблонный класс должен содержать:

    1. Конструкторы (без параметров, с параметрами, копирования), деструктор, оператор присваивания.

    2. Перегруженный метод det ().

    3. Перегруженные операторы – =, –, * =, *, <<, >>.

    Методы и операторы класса должны работать как для неконстантных, так и для константных объектов.

    Написать тестовую программу, демонстрирующую все возможности класса.

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

    Задание 2

    Напишите программу, которая вычисляет производную функции f(x) = sin(x) численно и аналитически и выводит результаты в текстовый файл в четыре колонки: аргумент, значение функции, значение производной (численное), значение производной (вычисленное аналитически). Между колонками должен быть минимум один пробел. Аргумент функции изменяется в диапазоне [0, 4π] с шагом 1 ∙ 10-1.

  • Написать код программы через таблицу ТАВ или ее еще называют таблица ASCII на С++

    Дана непустая послсдовательносгъ слов из строчных букв; между соседними словами - запятая, за последним словом - точка. Напечатать все буквы, которые входят в наибольшее количество слов тоП последовательности.


  • Другое, Программирование  Код на С++

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

  • Упражнение Д6.5. Напишите программу, которая создаёт контейнер типа list<double> и заполняет его десятью элементами, вставляя их в порядке возрастания значений.

  • Пусть дана последовательность из У элементов. Увеличьте ее, вставив после каждого минимального элемента максимальный.

  • ---Решение задач,---Программирование

    Практическая работа № 8 Программирование вычислитель-
    ного процесса обработки одномерных массивов

    Задание

    Составить программу вычислительного процесса согласно варианту из табл. 1. Заданные в условии векторы программировать с использованием указа­теля. Ввод/вывод векторов осуществлять с помощью файловых потоков C++.

  • Решение задач, программирование на СИ-

    Разработка графического интерфейса приложения «Цвет». С помощью меню и диа-логового окна выбрать цвет и на рабочей области родительского окна вывести название цвета, за-крашенное заданным цветом.

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

  • Даны два файла одного и того же типа. С помощью процедур BlockRead и BlockWrite добавить к первому файлу содержимое второго файла, а ко второму файлу — содержимое первого.

  • Написать программу соответствия между числом и цветом фона (0-черный, 1-голубой,2-зеленый, 3-васильковый, 4-красный, 5-фиолетовый, 6-коричневый, 7-светло-серый).

  • Применяя парадигму абстрактных типов данных и инкрементную модель разработки, создать программную систему для решения поставленной задачи. Все исходные данные должны вводиться со стандартного устройства ввода (с клавиатуры), то есть запрашиваться у пользователя. Результаты обработки должны быть выданы на стандартное устройство вывода (дисплей). Ввод исходных данных, собственно сама обработка и вывод результатов должны быть оформлены в виде отдельных функций. Обмен данными должен быть реализован через аргументы функций. Кроме окончательного варианта программной системы должны быть предоставлены и её промежуточные версии.

    Дана последовательность целых чисел 1 а2, … , аn  }Найти минимальное

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

  • Дано два текстовых файла. Найти все вхождения и их позиции текста из одного файла в другом.

  • Написать программу в Visual Studio,удаляющую все комментарии из листинга программы С++.Программа должна обрабатывать файл *.cpp указываемый пользователем в начале работы.Сделать для программы блок-схему.

  • Вычислить площадь фигуры образованной квадратоми равносторонним треугольником с высотой не более 80% от длин стороны квадрата.

  • Задача на односвязный список выполненная на двух языках Си и С++

    Написать программу, в которой создается односвязный список и реализуется две функции из указанного ниже перечня:

    1) Функция add_lastnode(), добавляющая элементы односвязного линейного списка всегда после последнего элемента.

    2) Функция вывода односвязного линейного списка в обратном порядке

  • Задача на С++

    Реализовать функцию в консольном приложении на языке С/С++, выполняющую поставленную задачу в соответствии с вариантом. При написании программы необходимо:

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

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

    − Из наименования функции и принимаемых аргументов должно быть ясно их назначение.

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

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

  • Решение задач, Информатика и программирование Visual Basic

    Построить график функции у = ех [] cos (х) на отрезке [а, Ь], координаты концов которого а и b вводятся с клавиатуры. Построить оси координат и разместить на них деления, рядом с которыми расположить числа в соответствии с заданным масштабом.

  • Даны действительные числа х, у (x>0, y>1). Получить целое число k (положительное, отрицательное или равное нулю), удовлетворяющее условие (y^k-1)<= x <(y^k). Функцию для возведения в степень не возводить. Сделать через while и while do. Язык C++.

  • Реализовать программный дек на массиве из 10 элементов типа "float”.

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

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

  • Создать иерархию классов, состоящую из одного базового класса и не менее двух классов-наследников. Сделать программу, демонстрирующую функциональность этих классов.

    3. Базовый класс – Спортсмен, производные классы – Тренер, Атлет (участник соревнований)

  • Другое, программирование на СИ --Написать программу

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

  • 1)Подпрограммы и указатели. Написать программу, реализующую хранение информации, указанной в
    вариантах индивидуальных заданий, в массиве структур и следующие
    действия:
    • добавление элемента
    • удаление элемента по заданному значению ключевого поля
    • просмотр (вывод на экран) всех элементов, содержащих информацию
    • поиск и изменение элемента по заданному значению ключевого поля
    • просмотр (вывод на экран) всех элементов, у которых поле отбора
    имеет заданное значение
    Оформить все действия в виде функций, массив и другие данные
    передавать в функции как параметры.

    Вариант задания:
    Информация о телевизорах: Модель
    (ключевое поле, имеет
    уникальные, неповторяющиеся значения), Размер по диагонали (поле
    используется для отбора элементов), Производитель, Цена.

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

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

    Каждый элемент массива содержит сведения об участнике кошачье выставки: кличку, год рождения, получен/не получен ветеринарный пропуск.

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

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

    Указание: следует создать массив указателей, который на момент запуска процедуры сортировки ■ содержит адреса исходных ячеек массива.

  • Приложение «Эллипс». Графика на С++

    Разработка графического интерфейса приложения «Эллипс». В окне приложения отобразить эллипс, высоту, ширину и цвет которого задавать в диалоговой панели.

  • Дан список списков целочисленных элементов:
    • Необходимо его обратить, т.е. список {6,3,10,2} надо преобразовать в {2, 10, 3, 6};
    • При этом, обратить и каждый из подсписков;
    • Не использовать конвертацию в массивы

    НЕЛЬЗЯ использовать контейнерные классы. И стандартные функции там, где без них можно обойтись.

  • Конвертер величин / Конвертер температур (C++)

    Разработать программу, которая будет менять одну величину на другую (переводить). Примеры посмотрите в интернете. Величина обязательно должна быть фиксированная (валюта не подойдет). Требования: Нужно решить задачу и оформить отчет по практике по следующей форме:

    1.Постановка задачи

    2.Разработка тестовых примеров и экранов работы программы

    3.Алгоритм решения

    4.Программа

    5.Результат работы программы (снимки экранов)

  • 200 руб.
    Классы С++

    В задании данные хранятся в бинарном файле записей, а для обработки считываются в массив. При выходе из программы обработанные данные сохраняются в том же файле. Массив должен описываться классом. Один элемент записи также описывается классом. Для организации интерфейса в программе должно;использоваться меню.

    Обязательные методы класса «массив»:

    добавление элемента в начало или конец массива (на выбор),

    просмотр массива,

    удаление элемента из начала или конца массива (на выбор).

    Вывод массива на экран можно выполнять в любом (главное, читабельном) виде.

    Обязательные методы класса «массив»:

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

    просмотр массива,

    удаление произвольного элемента массива.

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

    Вариант:

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

  • Работа со стандартной библиотекой шаблонов

    На языке С++ реализовать класс, описывающий товар на складе, содержащий поля: наименование, артикул, дата поступления на склад, количество товара, цена за единицу товара. Реализовать класс контейнер - вектор, содержащий объекты класса «Товар». Отсортировать контейнер. С использованием алгоритма двоичного поиска, провести поиск в контейнере по артикулу, названию, и дате поступления. При поиске осуществлять запись найденных объектов в контейнер-список. В качестве отчетности представить исходный код программы.

  • Windows - приложение на C++

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

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

  • Windows Form - приложение на C++

    Создать Windows-приложение, которое по запрашиваемому количеству строк и столбцов формирует случайным образом двумерный массив А, подсчитывает сумму элементов не кратных 3 по строкам (для нечетных вариантов) или по столбцам (для четных вариантов) получившейся матрицы, полученные результаты заносит в одномерный массив В и сортирует массив В методом пузырька.

  • Класс «Автомобиль» на С++

    Создать класс «Автомобиль». Разработать методы: ввод марки автомобиля, года выпуска, мощности двигателя, максимальной скорости (добавить по своему усмотрению), вывода на экран информации об автомобиле по запросу. Создать массив объектов класса Автомобиль. Посчитать среднюю скорость всех автомобилей. Найти автомобиль, развивающий максимальную скорость. Предусмотреть вывод соответствующей информации на экран.

  • Ввести массив структур в соответствии с вариантом. Рассортировать массив в алфавитном порядке по первому полю, входящему в структуру. В программе реализовать меню:

    1) Ввод массива структур;

    2) Сортировка массива структур;

    3) Поиск в массиве структур по заданному параметру;

    4) Изменение заданной структуры;

     5) Удаление структуры из массива;

    6) Вывод на экран массива структур;

    7) Выход.

     

    Структура «Человек»: фамилия, имя, отчество; домашний адрес; номер телефона; возраст.

  • Решение задач, Программирование c++ 10 задач

    Шаблон класса динамического массива

    Напишите шаблон класса динамического массива с элементами произвольного типа T. Обеспечьте операции:

    • Перевыделения массива с увеличением вместимости

    • Добавление элемента в конец массива, удаление из конца

    • Оператор []

    • Узнать количество элементов в массиве

    • Правило пяти

  • Написать компьютерную программу, содержащую

    1. Описание класса vect, содержащего:
    1. 1. Скрытые данные, описывающие размерность вектора и массив со значениями элементов вектора;
    1. 2. Открытые данные, описывающие количество созданных векторов (static) и номер вектора;
    1. 3. Набор конструкторов класса, включающий конструктор по умолчанию и конструктор копирования;
    1. 4. Деструктор;
    1. 5. Оператор-функции:
    - сложения векторов,
    - вычитания векторов,
    - унарный минус,
    - умножения числа на вектор,
    - скалярного произведения векторов,
    - присваивания;
    1. 6. Описание дружественного класса matr.

    2. Описание класса matr для квадратной матрицы, содержащего:
    2. 1. Скрытые данные, описывающие размерность матрицы и массив со значениями элементов матрицы;
    2. 2. Открытые данные, описывающие количество созданных матриц (static) и номер матрицы;
    2. 3. Набор конструкторов класса, включающий конструктор по умолчанию и конструктор копирования;
    2. 4. Деструктор;
    2. 5. Оператор-функции:
    - сложения матриц,
    - вычитания матриц,
    - унарный минус,
    - умножения числа на матрицу,
    - произведения матриц,
    - умножения матрицы на вектор,
    - присваивания.
    2. 6. Функцию main, содержащую сценарий тестирования инструментария векторной алгебры.
    Конструкторы, деструкторы и оператор-функции должны содержать вывод на экран сообщений о том, какие вектора и матрицы (по номерам) участвуют в преобразованиях.

  • Написать программу «Моя записная книжка». Одна запись содержит фамилию и имя, дату рождения и номер телефона. База хранится в текстовом файле.

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

    Хранение данных организовать с применением класса tree.

  • Задача структура данных на С++

    Разработка библиографического справочника с использованием динамической памяти на языке C++. В программе предусмотреть:

    • Хранение справочника в файле;
    • Поиск информации по имени автора;
    • Поиск информации по укороченному имени;
    • Включение новой информации о литературном источнике;
    • Удаление информации по имени автора;
    • Графический пользовательский интерфейс;

    Структура данных: ЛОС.

  • Составить программу, которая содержит сведения телефонной книжки

    1.)             Составить программу, которая содержит сведения телефонной книжки.

    Каждая запись включает:

    • фамилия, имя;
    • номер телефона;
    • день рождения (массив из трех чисел).

    2.) Программа должна обеспечивать:

    • хранение всех записей в виде двусвязного списка, записи должны быть
    • упорядочены по датам дней рождения;
    • добавление новой записи;
    • удаление из списка информации о человеке, фамилия которого введена с
    • клавиатуры;
    • вывод информации обо всех номерах телефонов;
    • по запросу выводится информация о человеке (в виде таблицы- приложенный файл), номер телефона которого
    • введен с клавиатуры.

    3.) Программа должна обеспечивать диалог с помощью меню.

    Реализовать с помощью меню:

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

    2. Считывание списка из файла

    3. Сортировка в соответствии с заданием и возможность записи в файл

    4. Возможность вывода с начала списка и с конца списка

    5. Выборка (поиск) в соответствии с заданием

  • 1. Описание класса vect, содержащего:
    1. 1. Скрытые данные, описывающие размерность вектора и массив со значениями элементов вектора;
    1. 2. Открытые данные, описывающие количество созданных векторов (static) и номер вектора;
    1. 3. Набор конструкторов класса, включающий конструктор по умолчанию и конструктор копирования;
    1. 4. Деструктор;
    1. 5. Оператор-функции:
    - сложения векторов,
    - вычитания векторов,
    - унарный минус,
    - умножения числа на вектор,
    - скалярного произведения векторов,
    - присваивания;
    1. 6. Описание дружественного класса matr.

    2. Описание класса matr для квадратной матрицы, содержащего:
    2. 1. Скрытые данные, описывающие размерность матрицы и массив со значениями элементов матрицы;
    2. 2. Открытые данные, описывающие количество созданных матриц (static) и номер матрицы;
    2. 3. Набор конструкторов класса, включающий конструктор по умолчанию и конструктор копирования;
    2. 4. Деструктор;
    2. 5. Оператор-функции:
    - сложения матриц,
    - вычитания матриц,
    - унарный минус,
    - умножения числа на матрицу,
    - произведения матриц,
    - умножения матрицы на вектор,
    - присваивания.
    2. 6. Функцию main, содержащую сценарий тестирования инструментария векторной алгебры.
    Конструкторы, деструкторы и оператор-функции должны содержать вывод на экран сообщений о том, какие вектора и матрицы (по номерам) участвуют в преобразованиях.

    1. Описание класса vect, содержащего:
    1. 1. Скрытые данные, описывающие размерность вектора и массив со значениями элементов вектора;
    1. 2. Открытые данные, описывающие количество созданных векторов (static) и номер вектора;
    1. 3. Набор конструкторов класса, включающий конструктор по умолчанию и конструктор копирования;
    1. 4. Деструктор;
    1. 5. Оператор-функции:
    - сложения векторов,
    - вычитания векторов,
    - унарный минус,
    - умножения числа на вектор,
    - скалярного произведения векторов,
    - присваивания;
    1. 6. Описание дружественного класса matr.

    2. Описание класса matr для квадратной матрицы, содержащего:
    2. 1. Скрытые данные, описывающие размерность матрицы и массив со значениями элементов матрицы;
    2. 2. Открытые данные, описывающие количество созданных матриц (static) и номер матрицы;
    2. 3. Набор конструкторов класса, включающий конструктор по умолчанию и конструктор копирования;
    2. 4. Деструктор;
    2. 5. Оператор-функции:
    - сложения матриц,
    - вычитания матриц,
    - унарный минус,
    - умножения числа на матрицу,
    - произведения матриц,
    - умножения матрицы на вектор,
    - присваивания.
    2. 6. Функцию main, содержащую сценарий тестирования инструментария векторной алгебры.
    Конструкторы, деструкторы и оператор-функции должны содержать вывод на экран сообщений о том, какие вектора и матрицы (по номерам) участвуют в преобразованиях.

  • Решение задач, Информатика

    По каждому цеху предприятия имеются плановые и фактические показатели выпуска товарной продукции. Количество цехов не превышает 16. Для отдельных цехов и по предприятию в целом подсчитать средний процент выполнения плана, а также определить количество цехов, выполнивших план менее чем на 100%, 120%, 140%, 200%. Результат распечатать в виде двух таблиц:

    Таблица 1.

    Сведения о цехах, выполнивших план не более чем на .... процентов

    Таблица 2

     

    Указания: Заполнить исходную таблицу и отсортировать ее по возрастанию процента выполнения плана. Заполнить таблицу 2. После этого в цикле, пока не откажется пользователь

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

    .


  • Эвольвента С++

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

  • Задачи по С++

    Задача 1 на темы «Записи», «Методы сортировки», «Типизированные файлы»

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

    Задание 2 на тему «Односвязные списки»

    Записать в список L N действительных чисел. Перенести 3-й элемент в начало списка.

  • Задача на динамические структуры данных, стек

    Дана символьная строка длиной не более 80 символов, состоящая из слов, разделенных пробелом. Составить программу, которая вводит строку, организует из слов строки однонаправленный список-стек. Используя список, подсчитывает количество слов, длина которых меньше 3-х символов и удаляет из списка слова, длина которых меньше введенной с клавиатуры величины. Вывести на экран список до и после корректировки и все результаты работы.

  • Алгоритмы поиска С++

    1. Написать программу поиска перебором элемента массива равного заданному значению.

    2. Написать программу поиска с барьером элемента массива равного заданному значению.

    3. Написать программу бинарного поиска элемента массива равного заданному значению.

    4. Написать программу бинарного поиска элемента массива равного заданному значению, в которой новое значение индекса m определялось бы не как среднее значение между L и R, а согласно правилу золотого сечения.

  • Работа со структурами С++

    Отсортировать массив в алфавитном порядке по первому полю, входящему в структуру.

    В программе реализовать меню:

    1) ввод массива структур;

    2) сортировка массива структур;

    3) поиск в массиве структур по заданному параметру;

    4) изменение заданной структуры;

    5) удаление структуры из массива;

    6) вывод на экран массива структур;

    7) выход.

    Вариант:

    Структура «Вокзал»: номер поезда, пункт назначения, дни следования, время прибытия, время стоянки.

  • Англо-русский словарь на линейном двунаправленном списке

    Создание англо-русского словаря с использованием динамической памяти на языке С++. В программе предусмотреть:

    - хранение словаря в файле;

    - поиск английского слова и его значений;

    - вставку нового английского слова и его значений;

    удаление английского слова и его значений;

    графический пользовательский интерфейс интерфейс.

    Структура данных: линейный двунаправленный список (ЛДС)

  • Создание операционного меню

    Создать Windows-приложение, которое состоит из трех вкладок и операционного меню. На первой вкладке пользователю предлагается ввести четыре параметра (начальное значение интервала, конечное значение интервала, шаг изменения на интервале и параметр а), на второй вкладке отображается таблица табулирования функции на интервале и экстремумы этой функции, на третьей вкладке отображается график функции на данном интервале. В верхней части окна есть три пункта операционного меню: Файл, Вид и Выход. Все пункты операционного меню должны быть рабочими.

  • Англо-русский словарь, реализация на бинарном дереве поиска

    Создание англо-русского словаря с использованием динамической памяти на языке С++. В программе предусмотреть:

    - хранение словаря в файле;

    - поиск английского слова и его значений;

    - вставку нового английского слова и его значений;

    удаление английского слова и его значений;

    графический пользовательский интерфейс интерфейс.

    Структура данных: Бинарное дерево поиска (БДП)

  • Разработка программы-дневника регистрации температуры, С++

    Опишите запись, содержащую информацию о температуре воздуха:

    - номер месяца;

    - номер дня;

    - температура ночью;

    - температура днем.

    Программа должна создать текстовый файл с данными за указанный пользователем период. Данные одного месяца выводить на одной строке, высчитывая среднедневную температуру. Вывести максимальную и минимальную температуру за каждый месяц. Отсортировать по номеру дня.

  • Разработать класс CMatrix C++

    Разработать класс CMatrix для работы с квадратной матрицей, содержащей целые числа.

    Матрица содержит не более 10 строк и столбцов. Класс должен содержать следующие элементы.

    Поля (скрытые):

    - количество строк матрицы (или столбцов, раз она квадратная);

    - массив элементов матрицы размерностью 10*10.

    Методы:

    - конструктор по умолчанию, формирующий матрицу размером 10*10, заполненную нулями;

    - конструктор, формирующий матрицу заданных размеров, заполненную нулями;

    - конструктор, формирующий матрицу заданных размеров, заполненную случайными числами в заданном диапазоне (диапазон задается в виде двух значений – минимального и максимального);

    - конструктор-копировщик;

    - методы-функции для ввода значений матрицы с клавиатуры и для вывода матрицы на экран;

    - метод-функция для транспонирования матрицы (т.е. строки сделать столбцами);

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

    Реализовать для разработанного класса методы-операторы:

    +, -, * (плюс, минус, умножить) - для выполнения операций поэлементного суммирования, вычитания и умножений двух матриц одинакового размера;

    == (два знака равенства подряд) - для сравнения двух матриц в условии, результатом этой операции должно быть любое ненулевое значение, если матрицы имеют одинаковые размеры и все соответствующие элементы равны между собой; в противном случае результату присвоить значение 0.

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

  • Морской бой на C++

    Написан код к игре морской бой на языке c++.

  • Задачи по С++

    Вычислить и вывести на экран в виде таблицы значения функции F(рисунок 1) на интервале от Xнач. До Хкон. с шагом dX. где a, b, c – действительные числа.

    Функция F должна принимать действительное значение, если выражение (Ац МОД2 Вц) И НЕ (Ац ИЛИ Сц) не равно нулю, и целое значение в противном случае. Через Ац, Вц и Сц обозначены целые части значений a, b,c , операции НЕ, И, ИЛИ и МОД2 (сложение по модулю 2) - поразрядные. Значения a, b,c, Хнач., Хкон., dx ввести с клавиатуры.

  • Вариант №6

    1. Задан массив A из N элементов.  Сформировать массив B,  coдержащий только те элементы массива A, значение которых больше заданного числа X. Значения X, N и элементы массива A ввести с клавиатуры.
    2. В матрице размерами N*M (N и M не больше 10) определить сумму элементов той строки, где расположен максимальный элемент. Размеры матрицы задать при помощи ввода, а саму матрицу сформировать из случайных чисел в диапазоне от 0 до 100.
    3. Вводится строка произвольного текста. Поменять местами ее первое и последнее слово (слова разделены пробелами)
    4. Вводится строка произвольного текста. Подсчитать количество гласных букв в ней.

     

    Вариант №16

    1. Заданы два массива X и Y из N элементов каждый. Сформировать и вывести на печать массив Z из 2*N элементов, в котором элементы массивов X и Y чередуются.
    2. Сформировать и отпечатать "шахматную" матрицу, т.е. матрицу размерами 8*8, состоящую из нулей и единиц, расположенных в шахматном порядке.
    3. Вводится строка произвольного текста. Удалить из нее все пробелы и вывести, сколько пробелов было удалено.
    4. Вводится строка произвольного текста. Удвоить первое слово.

     

    Вариант №26

    1. В отсортированный массив вставить произвольное число, введенное с клавиатуры, в нужное место.
    2. В целочисленной матрице A размерами N*M вычислить количество элементов, имеющих нечетные значения, в каждой строке. Размеры матрицы задать при помощи ввода, а саму матрицу сформировать из случайных чисел в диапазоне от 0 до 50.
    3. В заданной строке текста удалить части текста, заключённые в скобки.
    4. Вводятся две строки произвольного текста. Найти позицию первого несовпадающего символа или вывести сообщение о том, что строки равны.
    5. В текстовый файл записать 20 чисел. Программа должна переставить местами первое число с максимальным из чисел чисел (разрешается использовать для этой цели массив в оперативной памяти).
    6. Разработать библиотечный модуль, содержащий следующие подпрограммы (процедуры или функции) для работы со строками:

    А. Подсчитать количество букв в последнем слове заданной строки

    Б. Заменить в заданной строке все заглавные буквы на строчные.

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

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

     

     

    Задание №1. Программирование линейных алгоритмов.

     

    1. 1.                Найти площадь кольца, внутренний радиус которого равен r, а внешний – заданному числу R (R>r).
    2. 2.                Составьте программу, находящую произведение и результат деления двух обыкновенных дробей.

     

    Задание 2. Программирование ветвящихся алгоритмов.

     

    1. Определить, равен ли квадрат заданного трехзначного числа кубу суммы цифр этого числа.
    2. Дан круг радиуса R. Определить, поместится ли правильный треугольник со стороной а в этом круге.
    3. Дано натуральное число N. Если оно делится на 4, вывести на экран ответ N=4k (где k соответствующее частное); если остаток от деления на 4 равен 1, N=4k+1; если остаток от деления на 4 равен 2, N=4k+2; если остаток от деления на 4 равен 3, N=4k+3.

    Например, 12 - 43, 22 - 45+2.

     

    Задание 3. Программирование циклических алгоритмов.

     

    1. 1.      Дано натуральное число N. Вычислить:

     

     

    1. 2.      Вычислить: y=cosx+cosx2+cosx3+…+cosxn.

     

    Задание 4. Линейные массивы. Сортировка массивов.

     

    1. 1.      Найти произведение всех элементов массива вещественных чисел, меньших заданного числа. Размерность массива –10. Заполнение массива осуществить случайными числами от 50 до 100.
    2. 2.      Вычислить среднее арифметическое значение тех элементов одномерного массива, которые попадают в интервал от –2 до 10.
    3. 3.      Даны два линейных массива одинаковой размерности. Составить третий массив из произведений элементов первых двух массивов, стоящих на местах с одинаковым индексом.
      1. Задание 1.1.

    Составить программу для вычисления по формулам. Предусмотреть задание исходных данных при помощи оператора ввода.

             

    В треугольнике заданы сторона a и углы В и С. Найти площадь S и стороны b и c:

    ;;;

     

    1. Задание 1.2.

    Составить блок-схему алгоритма и программу с использованием условного оператора. Предусмотреть задание исходных данных при помощи оператора ввода.

     

    Дано действительное число А. Вычислить F(А),если

             

    1. Задание 1.3.

    Составить блок-схему алгоритма и программу для вычисления суммы бесконечного сходящегося ряда. Суммирование прекратить при появлении в сумме слагаемых, имеющих абсолютную величину, меньшую заданной погрешности d. Значение d задается при помощи оператора ввода.

     

    (суммировать отдельно слагаемые со знаком + и слагаемые со знаком -.Затем второе значение вычитается из первого)

     

    1. Задание 1.4

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

     

    В заданном массиве К из N элементов найти сумму элементов, имеющих четные номера, и произведение элементов ,имеющих нечетные номера.

     

     

     

     

     

     

  • Выполнить задание на C++

    Практическая работа № 5

    Алгоритм поиска в отсортированных массивах

     

    Постановка задачи

    Составить программу поиска заданного элемента по ключу в одномерном целочисленном массиве A[n], используя алгоритм согласно варианту индивидуального задания. Провести тестирование программы на исходном массиве, сформированном вводом с клавиатуры. Рабочий массив A сформировать с использованием генератора псевдослучайных чисел. Провести контрольные прогоны программы для размеров массива n = 100, 1000, 10000, 100000 и 1000000 элементов в трех режимах: на массивах, строго убывающих, строго возрастающих и случайных чисел и сделать вывод о зависимости (устойчивости) алгоритма от исходной упорядоченности массива.

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

    Полученные результаты свести в сводную таблицу. Построить в одной координатной плоскости графики зависимости теоретической О(n)=f(С(n)) и эмпирической (Сф(n)) вычислительной сложности алгоритма от количества элементов в массиве n.

    Сравнить вычислительную сложность алгоритма с вычислительной сложностью алгоритма последовательного поиска. Экспериментально оценить долю случаев, когда последовательный поиск выполняется быстрее, чем быстрый поиск.

    Провести анализ полученных результатов. Сделать выводы о проделанной работе, основанные на полученных результатах.

     

    Сводная таблица результатов

    n

    f(C)

    100

     

     

    1000

     

     

    10000

     

     

    100000

     

     

    1000000

     

     

     

    Варианты индивидуальных заданий

    Алгоритм

    5.1

    Двоичного поиска

    5.2

    С использованием бинарного дерева поиска

    5.3

    Фибоначчиего поиска 

    5.4

    Поиска хэшированием

    5.5

    Поиска по бору

    5.6

    Поиска Рабина-Карпа

     

    Практическая работа № 6

    Алгоритмы поиска строк в тексте

     

    Постановка задачи

    Составить программу поиска первого вхождения заданной строки P длиной m символов в тексте S, размером n символов, используя алгоритм согласно варианту индивидуального задания. Уточнение: настоящая задача поиска сводится к нахождению в тексте (массиве) S индекса, начиная с которого строка P полностью совпадает с фрагментом текста S. В частном случае заданная строка может отсутствовать в тексте.

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

    Рабочий текст (массив) сформировать из произвольного текстового файла, например, романа Л.Н. Толстого «Война и мир». Провести контрольные прогоны программы как минимум на трех текстовых файлах различной длины.

    Провести эмпирическую (практическую) оценку вычислительной сложности алгоритма, для чего предусмотреть в программе подсчет фактического количества операций посимвольного сравнения Сф и сдвигов подстроки Мф относительно текста.

    Полученные результаты свести в сводную таблицу. Построить в одной координатной плоскости графики зависимости теоретической О(n)=f(С+М) и эмпирической (Сф+Мф) вычислительной сложности алгоритма от размера текста (количества элементов в массиве) n.

    Сравнить вычислительную сложность алгоритма с вычислительной сложностью алгоритма прямого поиска строки.

    Провести анализ полученных результатов. Сделать выводы о проделанной работе, основанные на полученных результатах.

     

    Сводная таблица результатов

    n

    f(C+М)

    Cф+Мф

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

    Варианты индивидуальных заданий

    Алгоритм

    6.1

    Прямого поиска строки

    6.2

    Кнута-Морриса-Пратта

    6.3

    Бойера-Мура 

    6.4

    Поиска хэшированием

     

    Практическое задание №7

    Линейные динамические списки

    1. 1.              Однонаправленные списки

    Постановка задачи

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

    Реализуйте программу решения задачи варианта.

    Вариант 1

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

    Вариант 2

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

    Вариант 3

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

    Вариант 4

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

     

    1. 2.    Двунаправленные списки

    Постановка задачи

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

    Требования к разработке.

    1. Разработать структуру узла списка, структура информационной части узла определена вариантом. Для определения структуры узла списка, используйте тип struct. Сохраните определение структуры узла в заголовочном файле.
    2. Разработайте функции для выполнения операции над линейным динамическим списком:
    • вывод списка в двух направлениях
    • поиск узла с заданным значением (операция должна возвращать указатель на узел с заданным значением).
    1. Дополнительные операции над списком, указанные вариантом оформите в виде функций и включите в отдельный файл с расширением cpp. Подключите к этому файлу заголовочный файл с определением структуры узла.
    2. Разработайте программу, управляемую текстовым меню, и включите в меню  демонстрацию выполнения всех операций задания и варианта.
    3. Проведите тестирование операций.
    4. Оцените сложность алгоритма первой дополнительной операции для реализации линейного списка:
    • на линейном динамическом списке
    • на одномерном массиве.

     

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

    Варианты

    Вариант

    Тип информационной части узла списка

    Дополнительные Операции

    1

    Номер зач. книжки, Номер группы, Оценка.

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

    Удалить узлы с указанным номером группы.

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

    2

     

     

    Номер телефона (из 7 цифр), время разговора (целое число), номер телефона вызываемого абонента.

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

    Удалить последний узел  с заданным значением телефона.

    Подсчитать суммарное время разговора с заданного телефона.

    3

    Номер абонемента, Название книги, дата выдачи, дата возврата, дата фактического возврата.

    Вставить новый узел  в список после последнего узла с таким же номером абонента(дата фактического возврата еще не заполнена).

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

    Удалить узлы, в которых дата возврата и дата фактического возврата совпадают.

    Определить количество книг, заданного абонемента.

    4

    Номер мед. полиса, Дата обращения, Код диагноза (число).

    Вставка нового узла перед первым узлом с заданным значением Мед. полиса, если такого нет, то узел вставить в конец списка.

    Удаление из списка всех узлов с заданным значением Кода диагноза.

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

    Определить количество обращений в одну и туже дату с одним и тем же диагнозом.

    5

    Номер счета в банке, дата, вид операции (приход или расход), сумма вклада.

    Вставка нового узла перед первым узлом.

    Удаление сведений по счету (всех узлов), у которого общая сумма вклада равна нулю ( сумма по приходу, минус сумма по расходу).

    Создать новый список из исходного, которого будет содержать остаток по всем видам операций одного счета, указав вид операции – приход, и текущую дату. 

    6

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

    Вставить новый узел после последнего узла с заданным номером автобуса.

    Удалить все узлы заданного автобуса.

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

     

     

  • 400 руб.
    Задачи на C++

    1. Рекурсивная программа. Задан текстовый файл. Вывести сначала содержащиеся в нем цифры, а затем – латинские буквы в обратном порядке.

    2. Заданы два человека p и q. Определить, имеют ли они общего предка.

    3. Организовать заданную структуру данных (Стек). Определить структуру элемента (строка символов) и написать подпрограммы добавления, удаления и чтения элемента. Написать тестовую программу.

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

  • Англо-русский словарь на C++

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

    Требования для класса: наличие конструктора, деструктора и перегруженного оператора присвоения (=). В коде должны присутствовать комментарии.

  • Несколько задач на С++

    Задача 1

    Создать объект первого типа, у которого одно целочисленное свойство. Значение данного свойства определяется посредством параметризированного конструктора. Создать объект второго типа, у которого две целочисленные свойства. Значение данных свойств определяется посредством метода объекта. Реализовать дружественную функцию, которая находит максимальное значение полей объекта первого типа и полей объекта второго типа.

    Написать программу:

    1. Вводит значение для поля объекта первого типа.

    2. Создает объект первого типа.

    3. Вводит значения полей для полей объекта второго типа.

    4. Создает объект второго типа.

    5. Определяет значения полей объекта второго типа.

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

    7. Выводит полученный результат.

    Входные данные

    Первая строка: целое число в десятичном формате Вторая строка: целое число в десятичном формате˽целое число в десятичном фор-мате

    Выходные данные

    Первая строка, с первой позиции: max = целочисленное значение в десятеричном формате.

    Задача 2

    Разработать объект, который обладает следующей функциональностью: - В конструкторе вводит количество элементов целочисленного массива. - В конструкторе создает целочисленный массив заданным количеством элементов. - Конструкторе определяет значения элементов массива. Значение каждого элемента равно квадрату индекса элемента. - Выводит значения элементов массива в обратном порядке. Необходимые свойства объекта определяется разработчиком. Количество элементов массива принадлежит интервалу от 5 до 20. Написать программу: 1. Создает объект посредством оператора new. 2. Выводит значения элементов массива в обратном порядке. 3. Удаляет объект посредством оператора delete.

    Входные данные

    Первая строка (количество элементов массива): целое число в десятичном формате

    Выходные данные

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

    Задача 3

    Создать объект, который сообщает об отработке конструктора и деструктора. У объекта нет свойств и функциональности. Написать программу, которая: 1. Создает объект.

    Входные данные

    Отсутствует.

    Выходные данные

    Первая строка, с первой позиции: Constructor Вторая строка, с первой позиции: Destructor

    Задача

    Создать класс для объекта стек. Стек хранит целые числа. Имеет характеристики: наименование (строка, не более 10 символов) и размер (целое). Размер стека больше или равно 1.

    Функционал стека:

    -    добавить элемент и вернуть признак успеха (логическое);

    -    извлечь элемент и вернуть признак успеха (логическое);

    -    получить имя стека (строка);

    -    получить размер стека (целое);

    -    получить текущее количество элементов в стеке (целое).

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

    В основной программе реализовать алгоритм:

    1. Ввести имя и размер для первого стека.

    2. Создать объект первого стека.

    3. Ввести имя и размер для второго стека.

    4. Создать объект второго стека.

    5. В цикле:

    5.1. Считывать очередное значение элемента.

    5.2. Добавлять элемент в первый стек, при переполнении завершить цикл.

    5.3. Добавлять элемент во второй стек, при переполнении завершить цикл.

    6. Построчно вывести содержимое стеков.

      Входные данные

      Первая строка:

      «имя стека 1» «размер стека»

      Вторая строка:

      «имя стека 2» «размер стека»

      Третья строка:

      Последовательность целых чисел, разделенных пробелами, в количестве не менее чем размер одного из стеков + 1.

      Выходные данные

      Первая строка:

      «имя стека 1» «размер»

      Вторая строка:

      «имя стека 2» «размер»

      Третья строка:

      «имя стека 1» «имя стека 2»

      Каждое имя стека в третьей строке занимает поле длины 15 позиции и прижата к левому краю.

      Четвертая строка и далее построчно, вывести все элементы стеков:
      «значение элемента стека 1» «значение элемента стека 2»

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

      Каждое значение занимает поле из 15 позиции и прижата к правому краю.

    1. Методом Симпсона с визуализацией решения

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

      В программе предусмотреть выполнение следующих действий:

      1. Вывод результата.

      2. Вывод графика функции F(x) на заданном интервале.

      3. Графическую иллюстрацию процесса интегрирования.

    2. Задачи по программированию C++

      Вариант 1

      Задание Классы

      Описать класс, реализующий стек и работу с ним.

      1.)  Класс должен содержать следующие сведения об отправлении поездов дальнего следования:

      • пункт отправления;
      • номер поезда;
      • время прибытия.

      2.)  В классе должны быть реализованы следующие операции над стеком:

      • добавление данных о поездах в информационную систему;
      • удаление данных о поезде по введенному номеру поезда;
      • вывод информации обо всех поездах;
      • вывод информации о поезде, номер которого введен с клавиатуры;

      3.)   Программа должна обеспечивать диалог с помощью меню.

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

      Вариант 1

      Задание Двуязычный список

      1.)   Автоматизированная информационная система на железнодорожном вокзале содержит сведения об отправлении поездов дальнего следования.

      Для каждого поезда указывается:

      • пункт назначения;
      • номер поезда;
      • время отправления.

      2.)  Программа должна обеспечивать:

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

      3.)  Программа должна обеспечивать диалог с помощью меню.

      Вариант 1

      Задание Файлы

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

      Вариант 2

      Задание Двуязычный список

      1.)  Составить программу, которая содержит текущую информацию о книгах в библиотеке.

      Сведения о книгах включают:

      • фамилию и инициалы автора;
      • название;
      • год издания;
      • количество экземпляров данной книги в библиотеке.

      2.)  Программа должна обеспечивать:

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

      3.)  Программа должна обеспечивать диалог с помощью меню

      Вариант 2

      Задание Файлы

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

      Вариант 2

      Задание Классы

      Описать класс, реализующий стек и работу с ним.

      1.)  Класс должен содержать следующие сведения о книгах в библиотеке:

      • фамилию и инициалы автора;
      • название;
      • год издания;
      • количество экземпляров данной книги в библиотеке.

      2.)  В классе должны быть реализованы следующие операции над стеком:

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

      3.)  Программа должна обеспечивать диалог с помощью меню.

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

    3. Две задачи по информатике
      1. Основной поток создает другой поток, передавая ему параметр. Параметр может принимать два значения: 0 или 1. Если параметр равен 1, то второй поток создает файл размером 10 Кб.
      2. Создать два потока. Один создает файл нулевой длины и завершается, а другой дожидается появления файла, созданного первым потоком, записывает в файл 1000 случайных чисел типа DOUBLE и также завершается. После этого основной поток удаляет файл.
    4. Сортировка односвязного списка простым однократным слиянием

      Сортировка односвязного списка простым однократным слиянием

    5. Задача на классы и перегрузку операторов C++

      Создать тип данных для хранения целого без знакового числа. Для этого типа данных обеспечить возможность занесения и получения целого безнакового числа в произвольной системе счисления (основание системы допускается предполагать не более 20). Обеспечить возможность выполнения арифметических операций с данными такого типа.

    6. Работа с контейнерными классами С++

      Задание 1. Написать программу учета книг в библиотеке.

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

      Программа должна обеспечивать выбор с помощью меню и выполнение одной из следующих функций:

      - добавление данных о книгах, вновь поступающих u библиотеку;

      - удаление данных о списываемых книгах;

      - выдача сведений о всех книгах, упорядоченных по фамилиям авторов;

      - выдача сведении о всех книгах, упорядоченных по годам издания.

      Хранение данных организовать с применением контейнерного класса vector.

      Задание 2. Составить программу учета заявок на авиабилеты.

      Каждая заявка содержит: пункт назначения, номер рейса, фамилию и инициалы пассажира, желаемую дату вылета.

      Программа должна обеспечивать выбор с помощью меню и выполнение одной из следующих функций:

      - добавление заявок в список;

      - удаление заявок;

      - вывод заявок по заданному номеру рейса и дате вылета;

      - вывод всех заявок, упорядоченных по пунктам назначения;

      - вывод всех заявок, упорядоченных по датам вылета.

      Хранение данных организовать с применением контейнерного класса multimap, в качестве ключа использовать «пункт назначения».

    7. Вычисление определенного интеграла методом Симпсона с визуализацией решения

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

      В программе предусмотреть выполнение следующих действий:

      1. Вывод результата.

      2. Вывод графика функции F(x) на заданном интервале.

      3. Графическую иллюстрацию процесса интегрирования.

    8. Игра "Змейка" с дополнениями

      Написать на языке C++ консольную игру змейку.

      Меню игры:

      - Play

      - Top

      - Exit

      Play (начать играть):

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

      Еда бывает 3 видов:

      1. Увеличивает длину хвоста на 1 единицу

      2. Увеличивает длину хвоста на 2 единицы

      3. Уменьшает длину хвоста на 1 единицу.

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

      В один момент на карте может появиться от 1 до 3 разных видов еды в разных местах.

      Top:

      Показывает 10 лучших результатов

      Exit:

      Выход из игры

      Игра заканчивается, когда змея врезается себе в хвост или стенки игрового поля.

      Игру можно сохранить и продолжить позже.

    9. 4 задачи на С++

      Лабораторная работа 1. Массивы, указатели и строки. Методы организации и работы

      Вариант задания реализовать в виде функции, использующей для работы со строкой только указатели и операции вида *p++,  p++ и т.д. Если функция возвращает строку или ее фрагмент, то это также необходимо сделать через указатель.

      Вариант: «Быстрая» сортировка (разделением) с использованием указателей на правую и левую границы массива, текущих указателей на правый и левый элемент и операции сравнения указателей.

      Лабораторная работа 2. Структуры, объединения и списки. Файловый ввод-вывод

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

      - «очистка» структурированных переменных;

      - поиск свободной структурированной переменной;

      - ввод элементов (полей) структуры с клавиатуры;

      - вывод элементов (полей) структуры с клавиатуры;

      - поиск в массиве структуры и минимальным значением заданного поля;

      - сортировка массива структур в порядке возрастания заданного поля (при сортировке можно использовать тот факт, что в Си++ разрешается присваивание структурированных переменных);

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

      - удаление заданного элемента;

      - изменение (редактирование) заданного элемента.

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

      Вариант: Фамилия И.О., количество переговоров (для каждого - дата и продолжительность).

      Лабораторная работа 3. Разнотипные переменные. Динамический и статический способы создания переменных

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

      Вариант: В начале области памяти размещается форматная строка. Выражение "%nnnd", где nnn - целое - определяет массив из nnn целых чисел, "%d" - одно целое число, "%nnnf" - массив из nnn вещественных чисел, "%f" - одно вещественное число. Сразу же вслед за строкой размещается последовательность целых, вещественных и их массивов в соответствии с заданным форматом.

      Лабораторная работа 4. Функции с переменным количеством параметров. Функция, как тип данных

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

      Вариант: Первый параметр - строка, в которой каждый символ «*n», где n-цифра -  обозначает место включения строки, являющейся n+1 параметром. Функция выводит на экран полученный текст.

    10. Решение задач, Программирование, Программирование на Си, Программирование на языках высокого уровня

      Разработка системы имитационного моделирования работы строительных машин.

      Условие: на строительстве здания занято 3 машины (экскаватор и 2 бульдозера), машины периодически ломаются, математические ожидания межремонтного (рабочего) времени равны: для экскаватора – 4 часа, для бульдозера – 6 часов. Машины работают две смены подряд (16 часов). Третья смена используется для профилактики (в случае необходимости в 3-ю смену ведется ремонт). Таким образом, каждый рабочий день машины начинают в исправном состоянии. После каждого отказа машины подвергаются ремонту. Обслуживает машины бригада из двух слесарей (6 и 3 разряд). Продолжительность ремонта – случайная величина, распределенная по экспоненциальному закону, зависит она от типа машины и от состава бригады. Математические ожидания продолжительности ремонта:

      Состав бригады

      Экскаватор

      Бульдозер

      Бульдозер

      Слесарь 3-го разряда

      2 часа

      Не может

      Не может

      Слесарь 6-го разряда

      1 час

      2 часа

      2 часа

      Вместе

      0,25 часа

      1,5 часа

      1,5 часа

      Межремонтное время также распределено по экспоненциальному закону. Простой машин приносит следующие убытки: экскаватор – 5000 рублей/час, бульдозер – 3000 рублей/час. Работа машин приносит следующий доход – экскаватор – 5000 рублей/час, бульдозер – 3000 рублей/час. Слесарь 6-го разряда получает 1000 рублей/час за ремонт, слесарь 3-го разряда получает 600 рублей/час. Накладные расходы на бригаду – 500 рублей/час. Требуется определить экономическую целесообразность увольнения слесаря 3-го разряда.