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

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

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 15.05.2012, 21:35   #1
vitaliy089
 
Регистрация: 11.05.2012
Сообщений: 4
По умолчанию объясните как работает программа

С помощью текстового редактора создать файл, который содержит текст, длина которого не превышает 700 символов ( длина строки текста не должна превышать 70 символов )
Имя файла должно иметь расширение DAT. Написать программу что:
1) Выводит текст на экран дисплея
2) По нажатию произвольной клавиши по очереди выделяет в тексте заданное слово ( заданное слово вводить из клавиатуры )
3)Виводить текст на экран дисплея еще раз, замещая в заданном слове малые буквы на прописанных (Большие буквы ).
Код:
Program lab;
uses crt;
var
f:text;
s,way:string;
m:set of char;
c:array[1..700] of char;
i,j,k,n:integer;
Begin
clrscr;
textcolor(white);
m:=['.',',',':',';','''','!','?',' ','[',']','{','}','\'];
writeln('Введіть шлях до файлу');
readln(way);
assign(f,way);
reset(f);
clrscr;
writeln('текст');
k:=1;
while not eof(f) do
begin
read(f,c[k]);
write(c[k]);
k:=k+1;
end;
writeln;
writeln;
writeln('Введіть слово для пошуку у тексті');
readln(s);
clrscr;
writeln('результат пошуку');
for i:=1 to k-1 do
begin
n:=0;
for j:=0 to length(s)-1 do
if(n=length(s)) and ((c[i-1]=' ') or (i=1)) and (c[i+length(s)] in m) then
begin
textcolor(red);
for j:=0 to length(s) do
write(c[i+j]);
i:=i+length(s);
readkey;
end
else
write(c[i]);
end;
readkey;
clrscr;
writeln('текст:');
for i:=1 to k-1 do
begin
n:=0;
for j:=0 to length(s)-1 do
if c[i+j]=s[j+1] then n:=n+1;
if (n=length(s)) and ((c[i-1]=' ') or (i=1)) and (c[i+length(s)] in m) then
begin
for j:=0 to length(s) do
write(upcase(c[i+j]));
i:=ilength(s);
end
else
write(c[i]);
end;
readkey;
end.

Самое большее меня интересует этот блок
for i:=1 to k-1 do
begin
n:=0;
for j:=0 to length(s)-1 do
if(n=length(s)) and ((c[i-1]=' ') or (i=1)) and (c[i+length(s)] in m) then
begin
textcolor(red);
for j:=0 to length(s) do
write(c[i+j]);
i:=i+length(s);
readkey;
end
else
write(c[i]);
end;
readkey;


________
Код нужно оформлять по правилам:
тегом [CODE]..[/СODE] (это кнопочка с решёточкой #)
Не забывайте об этом!
Модератор.

Последний раз редактировалось Serge_Bliznykov; 16.05.2012 в 00:24.
vitaliy089 вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Объясните, как работает программа grovail Общие вопросы C/C++ 1 24.12.2011 11:33
C++ объясните пжлста как работает ПРОГРАММА monkey_tree Помощь студентам 0 21.06.2011 01:48
Множества, объясните как работает программа ilyas22 Помощь студентам 4 06.06.2010 12:17
Объясните как работает PaintBox. NIQK Компоненты Delphi 1 11.12.2009 17:46