|
|
zadach520.PAS |
|
{* Задача 520 *}Unit ZADACH520;Interface Implementation Begin writeln('Из заданного текста выбрать и напечатать те символы, которые встречаются в нем ровно один раз (в том порядке, как они встречаются в тексте). '); End. Program zadach520; Uses zadach520.pas; {* Эту строку можно удалить *} Uses crt; {* Вызов внешних функций *} Var {* В работе нам потребуются переменные: *} f : Text; a : Array [1..256, 1..2] Of Char; i : Word; j : Word; k : Word; ch : Char; b : Boolean; Begin ClrScr; {* Стираем всё с экрана *} Writeln; {* Пустая строка *} assign(f, 'input.txt'); {входной файл} reset(f); {* Подготовка переменной f для чтения из файла *} i := 1; {цикл чтения текста и проверки на встречаемость символа} Repeat {читаем символ из файла} read(f, ch); {если это первый символ, то записываем его в массив и} {увеличиваем счетчик массива на 1} If i = 1 Then Begin a[1, 1] := ch; a[1, 2] := '0'; inc(i) {* Прибавим к i единицу *} End; Else Begin {если это не первый символ, то сравниваем его со всеми} {элементами массива a[j, 1] и если такой символ не найден,} {то увеличиваем счетчик массива на 1 и записываем этот} {символ в конец массива} {если текущий символ встретился в массиве, то в a[j, 2] записываем '1'} {'0' признак того, что символ встречался в тексте один} {раз, а '1', что он встречался более одного раза} b := true; For j := 1 To i Do {* Переменная j увеличивается с 1 до i *} If a[j, 1] = ch Then Begin a[j, 2] := '1'; b := false; break End; If b = true Then Begin a[i, 1] := ch; a[i, 2] := '0'; inc(i) {* i++ *} End; End; Until eof(f); {Вывод символов} {проверяем один раз (a[j, 2]='0') или более встречался символ, если один раз} {то он выводится на печать} For j := 1 To i Do {* Увеличиваем j от 1 до i с шагом 1 *} If a[j, 2] = '0' Then write(a[j, 1]); close(f); {* Файл f будет закрыт *} ReadKey End.. 07.08.2014 - Breakpoint - точка остановки 07.08.2014 - Топ-10 самых популярных приложений в Facebook 18.11.2013 - Панель управления и персонализация системы. Windows Vista 18.11.2013 - Логические и физические диски. Windows Vista 18.11.2013 - Удаление файлов и папок 01.11.2013 - Программирование дисковых подсистем: возможности 31.10.2013 - Windows8 или Windows7? 31.10.2013 - Windows8, игры |
|
Non-commercial fansite
|