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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 10.06.2008, 15:11   #1
Raptor5
Пользователь
 
Регистрация: 13.01.2008
Сообщений: 32
По умолчанию Помогите с лабораторкой.

Помогите плиз с лабораторкой. Условие:

19. Пусть дана строка текста, оканчивающая точкой. Напечатайте этот текст в обратном порядке.

Я тут начал, а дальше вообще незнаю че делать.

Код:
programm lab;
var
a:string;
begin
writeln("Введите строку");
readln(a);
Raptor5 вне форума Ответить с цитированием
Старый 10.06.2008, 15:20   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Строка это массив символов.
В цикле проходи от Length(<строка>) до 1 и печатай <строка>[i-тая буква]
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 10.06.2008, 15:20   #3
ryton
Пользователь
 
Аватар для ryton
 
Регистрация: 23.05.2008
Сообщений: 97
По умолчанию

всмысле в обратном порядке?Последнее слово первое,предпоследнее-второе и т.д.?
я не для этого мира и это так
ryton вне форума Ответить с цитированием
Старый 10.06.2008, 15:24   #4
puporev
Старожил
 
Регистрация: 13.10.2007
Сообщений: 2,740
По умолчанию

Если просто перевернуть весь текст вместе с точкой то:
for i:=length(a) to 1 do
write(a[i]);
Если точку нужно оставить на меcте то:
for i:=length(a)-1 to 1 do
write(a[i]);
write('.');
readln
end.

Если все слова переставить, а точку оставить на месте немного посложнее, но тоже выполнимо.
Код:
uses crt;
var s,s1:string; d:array[1..100] of string; i,k:integer;
begin
clrscr;
writeln('First text:');readln(s);
k:=1;
for i:=1 to length(s)-1 do begin
if s[i]=' ' then k:=k+1 else d[k]:=d[k]+s[i];
end;
for i:=k downto 1 do
s1:=s1+d[i]+' ';
s1[length(s1)]:='.';
writeln;
writeln('Revers Text:');
write(s1);
readln
end.

Последний раз редактировалось puporev; 10.06.2008 в 15:41.
puporev вне форума Ответить с цитированием
Старый 10.06.2008, 15:36   #5
Xardas
Сисадмин
Форумчанин
 
Аватар для Xardas
 
Регистрация: 28.12.2007
Сообщений: 320
По умолчанию

Цитата:
Сообщение от puporev Посмотреть сообщение
Если просто перевернуть весь текст вместе с точкой то:
for i:=length(a) to 1 do
write(a[i]);
Если точку нужно оставить на меcте то:
for i:=length(a)-1 to 1 do
write(a[i]);
write('.');
readln
end.
for i:=length(a) downto 1 do наверное
Xardas вне форума Ответить с цитированием
Старый 10.06.2008, 15:44   #6
puporev
Старожил
 
Регистрация: 13.10.2007
Сообщений: 2,740
По умолчанию

Так точно, поторопился.
puporev вне форума Ответить с цитированием
Старый 10.06.2008, 16:05   #7
Raptor5
Пользователь
 
Регистрация: 13.01.2008
Сообщений: 32
По умолчанию

Большое всем спасибо за помощь.
Raptor5 вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
C#, помогите плиз с лабораторкой Raptor5 Помощь студентам 3 30.05.2008 01:29
Помогите с лабораторкой Raptor5 Помощь студентам 3 21.05.2008 23:31