Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Паскаль, Turbo Pascal, PascalABC.NET
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 03.04.2014, 18:54   #1
НужнаПомощь
 
Регистрация: 27.03.2014
Сообщений: 9
По умолчанию Задачи на обработку файлов. Паскаль!

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

Код:
uses crt;
var F: text;
st: string;
s: Char;
count: integer;
i: integer;

function LowerCase(s: string): string;
var
i: integer;
begin
result := s;
for i := 1 to length(result) do
if (result[i] in ['A'..'Z', 'À'..'ß']) then
result[i] := chr(ord(result[i]) + 32);
end;

function LoCase(ch: char): char;
begin
if (ch in ['A'..'Z', 'À'..'ß']) then
result := chr(ord(ch) + 32)
else
result := ch;
end;

begin
ClrScr;
Write('Vvedite proverochuyu bukvu - ');
Read(s);
s:=LoCase(s);
Assign(F,'test.txt');
write(F);
Count:=0;
While not Eof(F) do
begin
Writeln(F,St);
St:=LowerCase(St);
if St[i]=s then Inc(count);
for i:=2 to Length(St)-1 do if St[i]=' ' then
begin
if St[i+1]=s then Inc(Count);
end;
end;
Write('Bukva',s);
Write(' v nachale slova vstrechaetsya ',count);
Write(' raz');
end.

Последний раз редактировалось Serge_Bliznykov; 04.04.2014 в 09:37.
НужнаПомощь вне форума Ответить с цитированием
Старый 03.04.2014, 20:38   #2
ViktorR
Старожил
 
Регистрация: 23.10.2010
Сообщений: 2,311
По умолчанию

1. Вроде есть функции: UpCase(), Pos(), Delete().
2. Приняли символ, сделали в верхний регистр.
Цикл по файлу
3. Читаем файл до конца, по строкам
4. Символы строки переводим в верхний регистр
Цикл по строке
5. Ищем вхождение символа в строке: позиция символа - m.
6. Если m = 0, то Break (выход из цикла по строке), а иначе - символ в позиции m.
7. Проверяем символ строки в позиции m - 1. Должен быть пробел.
8. Если пробел, то подсчитываем.
9. Удаляем из строки символы с первой позиции до m.
10. Переходим к п.5. Конец цикла по строке.
11. Конец цикла по файлу.
12. Вывод результата.

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

Как-то так, ...
Как-то так, ...
ViktorR вне форума Ответить с цитированием
Старый 06.04.2014, 09:47   #3
НужнаПомощь
 
Регистрация: 27.03.2014
Сообщений: 9
По умолчанию

Не могли бы в в программе подправить?
НужнаПомощь вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Задачи на обработку файлов. Паскаль! НужнаПомощь Помощь студентам 6 04.04.2014 21:19
Задачи на обработку файлов с данными, списков и текстовых файлов Диана96 Помощь студентам 1 26.12.2013 12:09
Задачи на обработку двухмерного массива (Паскаль) Янка88 Помощь студентам 1 18.12.2013 22:05
две задачи на обработку массивов на Паскаль amkarperm Помощь студентам 2 27.12.2012 22:03
задачи: на двумерные массивы,обработку строк,обработку текстовых файлов. (Паскаль) Yaro Помощь студентам 2 12.11.2009 12:55