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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  • Выполнить задание на 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

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

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

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

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

     

     

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

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

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

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

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

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

  • Две задачи на С++

    Задание 1

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

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

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

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

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

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

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

    Задание 2

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

  • Две задачи по информатике
    1. Основной поток создает другой поток, передавая ему параметр. Параметр может принимать два значения: 0 или 1. Если параметр равен 1, то второй поток создает файл размером 10 Кб.
    2. Создать два потока. Один создает файл нулевой длины и завершается, а другой дожидается появления файла, созданного первым потоком, записывает в файл 1000 случайных чисел типа DOUBLE и также завершается. После этого основной поток удаляет файл.
  • 1. Дана строка, содержащая текст на русском языке. Найти слово,
    встречающееся в каждом предложении, или сообщить, что такого слова нет.
    2. Написать программу, которая находит и выводит на печать все
    четырехзначные числа вида abcd , для которых выполняется: a, b, c, d –
    разные цифры; a*b-c*d =a+b+c+d

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

  • Другое, Программирование и алгоритмизация, программирование

    Задание 1

    Задание 2

    Задание 3

    Задание 4     

    Задание 5

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

     

    Задание 6

    В заданной строке подсчитать количество букв ‘а’ , ‘b’.

    Задание 7

    Дана строка, состоящая из слов, разделенных пробелами, в конце строки – точка. Определить, сколько в строку слов, содержащих четное число символов

    Задание 8

    В одномерном массиве вещественных чисел заменить элементы кратные пяти, стоящие на четных позициях, числом -1.

     

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

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

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

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

  • Написать программу «Англо-русский и русско-английский словарь».
    «База данных» словаря содержит по одному варианту перевода слов и хранится в текстовом файле.
    Программа должна обеспечивать выбор с помощью меню и выполнение одной из следующих функций:
    Формирование «базы данных» словаря.
    ? Выбор режима работы:
    англо-русский;
    русско-английский.
    Вывод перевода заданного английского слова.
    Вывод перевода заданного русского слова.
    Базу данных словаря реализовать в виде класса vector.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  • 250 руб.
    Задачи на C++
    1. Даны координаты концов двух отрезков: (x11, y11), (х21, у21); (x12, y12), (x22, у22) (вводятся с клавиатуры). Определить, какой из отрезков длиннее. (Написать функцию, находящую длину отрезка).
    2. 22В Числовая прямая разбита на произвольные отрезки точками a1, a2, …, an Выяснить, какому из отрезков принадлежит данная точка х.
    3. S2 Дана строка. Напечатать все различные слова, указав для каждого из НИХ ЧИСЛО его вхождений В эту строку. Указание: Слова в строке могут быть разделены любыми символами отличными от букв и цифр и в любом количестве.
    4. Будем называть соседями элемента с индексами i,j некоторой матрицы такие элементы этой, соответствующие индексы которых отличатся от i, j не более чем на единицу. Для данной целочисленной матрицы А (аij) размерности т×т найти матрицу В, состоящую из нулей и единиц, элемент которой bij равен единице, когда все соседи aij меньше самого aij, и нулю в противном случае;
    5. Дана символьная матрица размера 13×18. Найти номер первой по порядку строки, содержащей наибольшее число цифр;
    6. Дано действительное число х и массив А[п]. В массиве найти два члена, среднее арифметическое которых ближе всего к х.
    7. Все отрицательные элементы массива X перенести в его начало, а все остальные - в конец, сохраняя исходное взаимное расположение как среди отрицательных, так и среди остальных элементов. Дополнительный массив не заводить.
    8. Дана целочисленная прямоугольная матрица. Найти номера строк и столбцов всех седловых точек матрицы. Элемент матрицы назовем седловой точкой, если он является наименьшим в своей строке и одновременно наибольшим в своем столбце или, наоборот, является наибольшим в своей строке и наименьшим в своем столбце.
    9. Уплотнить заданную матрицу, удаляя из неё строки и столбцы, заполненные нулями.
    10. Даны две строки А и В. Составьте программу, проверяющую, можно ли из букв, входящих в А, составить В (буквы можно использовать не более одного раза и можно переставлять). Например, А: ИНТЕГРАЛ; В: АГЕНТ - составить можно; В: ГРАФ - составить нельзя.