
- •Исходная формулировка
- •Формальная постановка задачи
- •1 Версия:
- •Для версии с классами отсутствует «*» в файле
- •2 Версия:
- •Для версии с классами отсутствует «@» в файле
- •Контрольный пример
- •Пользовательские типы
- •Ограничение, условленное исполнением на компьютере
- •Организация интерфейса пользователя
- •1 Версия
- •2 Версия
- •Макеты ввода/вывода
- •Средства обеспечения ввода/вывода
- •Параметры функций:
- •Алгоритм решения
- •Программа
- •Результаты работы программы
МИНОБРНАУКИ РОССИИ
Санкт-Петербургский государственный
электротехнический университет
«ЛЭТИ» им. В.И. Ульянова (Ленина)
Кафедра систем автоматизированного проектирования
отчет
по лабораторной работе №1
по дисциплине «Программирование»
Тема: «Структуры и их реализация в языке С и С++. Обращение к полям структуры. Массивы структур. Понятие класса и его реализация в языке С++. Данные и функции класса.»
Студентка гр. 3352 |
|
|
Преподаватель |
|
|
Санкт-Петербург
2024
Исходная формулировка
Дана строка из слов, разделённых пробелами. Удалить в строке все слова, встречающиеся более 1 раза.
Формальная постановка задачи
1 Версия:
Из файла считывается маркер конца строки и маркер конца файла. Далее в массив размером N+1, где N - это const, считываются символы до того момента, пока не встретится маркер конца файла. После того, как массив будет сформирован, начинается его обработка. Задача в том, чтобы найти слова с одинаковой длиной, а потом посимвольно их сравнить. Если каждый символ первого слова совпадает соответственно с каждым символом второго слова, то символы этих слов заменяются на пробелы. После этого программа обрабатывает массив во второй раз и выводит слова без лишних пробелов.
@ |
* |
|
h |
e |
l |
l |
o |
|
w |
o |
r |
l |
d |
|
h |
e |
l |
l |
o |
|
! |
@ |
w |
o |
r |
l |
d |
|
|
* |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
h |
e |
l |
l |
o |
|
w |
o |
r |
l |
d |
|
h |
e |
l |
l |
o |
|
! |
@ |
|
|
|
|
|
|
|
|
|
|
Для версии с классами отсутствует «*» в файле
2 Версия:
Из файла считывается количество символов в строке Int и маркер конца. Далее массив размером Int полностью заполняется символами. Если в массив попал маркер конца строки, то программа обрабатывает массив строго до этого маркера, иначе - до конца массива. Принцип решения задачи аналогичен принципу в первой версии.
22 |
@ |
|
h |
e |
l |
l |
o |
|
w |
o |
r |
l |
d |
@ |
h |
i |
|
! |
|
w |
o |
r |
l |
d |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
h |
e |
l |
l |
o |
|
w |
o |
r |
l |
d |
@ |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|