Форум программистов
 
О проблемах, например, с регистрацией пишите сюда - alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите активизацию e-mail, а тут можно восстановить пароль.

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

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

Купить рекламу здесь за 20 тыс руб в месяц! alarforum@yandex.ru


Ответ
 
Опции темы
Старый 25.11.2009, 06:50   #1
gessi
Пользователь
 
Регистрация: 13.09.2009
Сообщений: 20
Восклицание строковый тип

Здравствуйте!!!
Помогите решить вот эту задачу не через строку,как я решила,а через массив!!!!!!!!

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

Мое решение:
Код:
var
    count, i, m , j: integer;
    input : string;
    s, t : string;
begin
writeln('Vvedite stroky: ');
readln(input);
i:= length(input) - 1;
while input[i] <> ' ' do dec(i);
s:= copy(input, i + 1, length(input) - i - 1);
for j:= 1 to i do
begin
if input[j] <> ' ' then
t:= t + input[j]
else
begin
if (t <> ' ') and (t <> s) then
writeln(copy(t, 1, length(t) - 1));
t:= ' ';
end;
end;
readln;
end.
ПОМОГИТЕ!!!!!!!!!!!!!!!!!!!!
gessi вне форума Ответить с цитированием
Старый 25.11.2009, 08:00   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,840
По умолчанию

Цитата:
а через массив!!!!!!!!
Т.е. тебе строку нужно преобразовать в массив слов?
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 25.11.2009, 08:43   #3
gessi
Пользователь
 
Регистрация: 13.09.2009
Сообщений: 20
Восклицание

Мне нужно занести в массив каждое слово в отдельности и потом работать с ними.
gessi вне форума Ответить с цитированием
Старый 25.11.2009, 09:40   #4
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,840
По умолчанию

Ну это легко:
Код:
 var s:string; a:array[1..100] of string;
  i,count:integer;
begin   {$o-}
 s:='Hello my world';
 count:=1;
 i:=1; while (i<=length(s)) do begin
   if s[i]=' ' then begin inc(count);inc(i);end;
   a[count]:=a[count]+s[i];
   inc(i);
 end;
Count - количество слов
I'm learning to live...
Stilet вне форума Ответить с цитированием
Ответ

Здесь нужно купить рекламу за 20 тыс руб в месяц! ) пишите сюда - alarforum@yandex.ru
Без учёта ботов - 20000 человек в день, 350000 в месяц.

Опции темы


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Строковый тип Koshmarick Помощь студентам 8 05.11.2009 12:37
Строковый тип данных Mihael-Vlz Паскаль, Turbo Pascal, PascalABC.NET 7 23.04.2009 16:01
Строковый тип данных. Paul Oakenfold Паскаль, Turbo Pascal, PascalABC.NET 2 11.04.2009 20:05
символьный и строковый тип. ribka Помощь студентам 4 02.12.2007 13:25


Проекты отопления, пеллетные котлы, бойлеры, радиаторы
интернет магазин respective.ru
Пеллетный котёл Emtas
котлы EMTAS
Здесь нужно купить рекламу за 7 тыс руб в месяц! )
пишите сюда - alarforum@yandex.ru
ИКС 840