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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 28.11.2011, 18:36   #1
Ксения1
 
Регистрация: 21.11.2011
Сообщений: 3
Подмигивание что не так, почему программа не преобразует строку?

Дана строка - предложение. Проверить, начинается ли первое слово с прописной буквы, если нет, то найти в строке такое слово и перенести его в начало. Если слова, начинающиеся с прописной буквы отсутствуют, исправить первый строчный символ на прописной.
Код:
program lab7;
var S:string; i1,i,m,l:integer;

function firstword(S:string):boolean;
var n:char;
begin
n:=S[1];
if n in ['A'..'Z'] then
firstword:=true;
end;

function poisk(S:string; var m:integer):integer;
var S1:string; l,k:integer;
begin
l:=length(S);
i1:=0;
for i:=1 to l do
begin
if S[i] in ['A'..'Z'] then
begin
S1:=S[i];
i1:=i;
k:=i;
while not (S[k] in [' ',',','.'])and(k<=l) do
begin
S1:=S1+S[k];
k:=k+1;
end;
m:=length(S1);
poisk:=i1;
end;
end;
end;

function del(S:string):string;
begin
for i:=i1 to l-m do
S[i]:=S[i+m];
S[0]:=chr(ord(S[0])-m);
del:=S;
end;

procedure input(var S:string);
begin
write('ââåäèòå ñòðîêó:');
read(S);
end;

procedure output(S:string);
begin
write('Ïðåîáðàçîâàííàÿ ñòðîêà:');
write(S);
end;

var S1:string;
begin
input(S);
if firstword(S) then
write('S',S)
else
if poisk(S1,m)=i1 then
begin
i1:=poisk(S1,m);
S:=Del(S);
S:=S1+' '+S;
end
else
S[1]:=chr(ord(S[1])-26);
write('S',S);
output(S);
end.

Последний раз редактировалось Stilet; 28.11.2011 в 21:33.
Ксения1 вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
программа не работает, что не так? klubnika Общие вопросы C/C++ 7 11.10.2011 22:47
Почему не работает программа, что не так? Демик Паскаль, Turbo Pascal, PascalABC.NET 9 17.07.2011 21:12
Что тут не так? Ругается почему-то.... kat297 Общие вопросы Delphi 1 03.06.2010 04:24
Вылазает ошибка. Почему что не так? xakkkkker Паскаль, Turbo Pascal, PascalABC.NET 7 18.04.2010 10:54
Почему скрипт преобразует ЗАГЛАВНЫЕ буквы в строчные??? lex1 Microsoft Office Excel 3 17.03.2008 11:21