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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 25.12.2010, 21:25   #1
Twisti
Пользователь
 
Регистрация: 06.12.2010
Сообщений: 24
По умолчанию Обработать слова в Паскаль

Дана последовательность, содержащая от 2 до 10 слов, в каждом из которых от 2 до 6 латинских букв; между соседними словами - не менее одного пробела, за последним словом точка. Напечатать все слова, отличные от последнего слова, предварительно преобразовав каждое из них по следующему правилу:
перенести первую букву в конец слова.

вот код который у меня получился, но сама программа почему то не работает, помоги те доработать плз...

Код:
uses crt;
var s,sub:string;
    i,n,k,j:integer;
    a:array[1..100] of string;
    m:real;
    c:char;

begin
clrscr;
writeln('Input str');
readln(s);
i:=0;n:=0;
repeat
inc(i);
if (s[i]=' ')and(s[i+1]<>' ') then begin
                   inc(n);
                   a[n]:=sub;
                   sub:='';
                   end
else if (s[i]<>' ')and(s[i]<>'.') then sub:=sub+s[i];
until i=length(s);
if sub<>'' then begin
inc(n);
a[n]:=sub;
end;
writeln;

for i:=1 to n-1 do
  if a[i]<>a[n] then begin
                     sub:='';
                     sub:=sub+a[i][length(a[i])];
                     for j:=1 to length(a[i])-1 do
                       sub:=sub+a[i][j];
                     writeln(sub);
                     end;


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

Последний раз редактировалось Serge_Bliznykov; 25.12.2010 в 23:41.
Twisti вне форума Ответить с цитированием
Старый 25.12.2010, 22:01   #2
GetMax
Форумчанин
 
Регистрация: 21.10.2010
Сообщений: 588
По умолчанию

Код:
for i:=1 to n do
If A[i] <> A[n] then
Begin
sub:=A[i];
Sub:=Sub+Sub[1];
Delete(Sub,1,1);
writeln(sub);
end;
Readln
Пользователь не знает, чего он хочет, пока не увидит то, что он получил.
Для благодарностей WMR R145235935681
GetMax вне форума Ответить с цитированием
Старый 25.12.2010, 22:23   #3
Twisti
Пользователь
 
Регистрация: 06.12.2010
Сообщений: 24
По умолчанию

спасибо большое )
Twisti вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Паскаль, Борланд Паскаль-в чем разница??? Vremya-Dengy Паскаль, Turbo Pascal, PascalABC.NET 13 31.05.2011 18:23