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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 25.11.2010, 19:34   #1
ARTEM_KA
 
Регистрация: 10.12.2009
Сообщений: 5
По умолчанию PascalABC для школьников. Задача на строки.

Заранее благодарен за помощь. Сам бы решил, да времени нет совсем.

С клавиатуры вводится заданный текст. Определить:
1) Удаляет в тексте заданные слова.
2) Выводит символы текста в обратном порядке.
3) Подсчитывает количество строчных (прописных) букв.
4) Определяет, в каком из слов больше заданных букв.

Ещё раз, заранее благодарен)
ARTEM_KA вне форума Ответить с цитированием
Старый 25.11.2010, 21:23   #2
sllh_111
Форумчанин
 
Регистрация: 10.02.2010
Сообщений: 137
По умолчанию

ну чтож как говориться "с миру по нитки"
я начинаю:
2)
Цитата:
program MoveSymbolsOfString;
var
str: string;

(Функция возвращает символы строки в
обратном порядке)
function MoveSymbols (s: string): string;
var
i: integer;
s1: string;
begin
s1:='';
for i:=length(s) downto 1 do
s1:=s1+s[i];
MoveSymbols := s1;
end;

begin
writeln('Программа выводит символы исходной строки '+
'в обратном порядке');
repeat
writeln('Введите исходную непустую строку:');
readln(str);
if (length(str)<1) then
writeln('Исходная строка должна быть непустой');
until length(str)>0;
writeln('Исходная строка:');
writeln(str);
writeln('Строка с переставленными символами:');
writeln(MoveSymbols(str));
writeln('Нажмите [Enter] для завершения программы');
readln;
end.
sllh_111 вне форума Ответить с цитированием
Старый 25.11.2010, 21:38   #3
Mad_Cat
Made In USSR!
Старожил
 
Аватар для Mad_Cat
 
Регистрация: 01.09.2010
Сообщений: 3,657
По умолчанию

3)
Код:
function littlecount(s:string):integer;
var c:integer;i:integer;
begin
c:=0;
for i:=1 to length(s) do
if s[i] in ['a'..'z'] then inc(c);
littlecount:=c;
end;
"...В жизни я встречал друзей и врагов.В жизни много всего перевидал.Солнце тело мое жгло, ветер волосы трепал,но я смысла жизни так и не узнал..."
(c) Юрий Клинских aka "Хой"
Mad_Cat вне форума Ответить с цитированием
Старый 26.11.2010, 08:57   #4
sllh_111
Форумчанин
 
Регистрация: 10.02.2010
Сообщений: 137
По умолчанию

4) если считать что слова разделены пробелом + посчет "количества самых длинных слов"
Цитата:
procedure Count(S,W:string; var i:integer);
begin
if Pos(W,S)<>0 then
begin
inc(i);
Count(Copy(S,Pos(W,S)+Length(W),Len gth(S)),W,i)
end
end;
var
s,max,temp:string;
i:integer;
begin
writeln('Введите строку...');
readln(s);
temp:='';
max:='';
for i:=1 to length(s) do
begin
if not (s[i] in [' ',',','.']) then
temp:=temp+s[i];
if ((s[i] in [' ',',','.']) or (i=length(s))) and (temp<>'') then
begin
if length(temp)>length(max) then
max:=temp;
temp:=''
end
end;
i:=0;
Count(S,max,i);
writeln('Самое длинное слово: ',max,'. Их в строке: ',i)
end.
sllh_111 вне форума Ответить с цитированием
Ответ


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

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
3D в PascalABC Рудко Дмитрий Паскаль, Turbo Pascal, PascalABC.NET 6 09.02.2010 13:02
Стреляешь в школьников? Убиваешь их? Да пожалуйста! Alex Cones Свободное общение 14 31.10.2009 14:19