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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 16.10.2009, 19:04   #1
redeezko
Пользователь
 
Аватар для redeezko
 
Регистрация: 16.10.2009
Сообщений: 16
По умолчанию Помогите с задачей

По одному символу вводится текст до точки. Текст состоит из слов, разделенных произвольным количеством пробелов. Начинаться текст может с любого количества пробелов. Найти, сколько в этом тексте слов, у которых совпадает первая и последняя буква.
redeezko вне форума Ответить с цитированием
Старый 22.10.2009, 20:16   #2
redeezko
Пользователь
 
Аватар для redeezko
 
Регистрация: 16.10.2009
Сообщений: 16
По умолчанию

очень прошу помощи. у самого ну никак просто не получается.
redeezko вне форума Ответить с цитированием
Старый 22.10.2009, 20:28   #3
redeezko
Пользователь
 
Аватар для redeezko
 
Регистрация: 16.10.2009
Сообщений: 16
По умолчанию

вот что написал сам
Код:
program Project2;
{$APPTYPE CONSOLE}
uses
  SysUtils;
Var x,x1,y:char;
    k:integer;
begin
k:=0;
  writeln('vvedite text');
  read(x);
  if x<>'.' then
      begin
        while (x<>' ') and (x<>'.') do
                read(x);
        if x<>'.' then
            begin
              while (x<>'.') and (x<>' ') do
                      read(x);
        if x<>'.' then
            begin
              x1:=x;
              read(x);
        if (x<> '.') and (x<>' ') then
            begin
              x:=y;
        if x1=y then

            k:=k+1
            end
            end
            end
      end;
  writeln('k=',k);
  readln;
End.
но не считает. не могу найти ошибку. помогите пожалуйста
redeezko вне форума Ответить с цитированием
Старый 22.10.2009, 21:49   #4
redeezko
Пользователь
 
Аватар для redeezko
 
Регистрация: 16.10.2009
Сообщений: 16
По умолчанию

неужели никто так и не откликнется (((((((((
redeezko вне форума Ответить с цитированием
Старый 22.10.2009, 22:03   #5
Deamonig
Форумчанин
 
Аватар для Deamonig
 
Регистрация: 19.09.2009
Сообщений: 166
По умолчанию

Как ты собираешся узнать что набор символом это слово?
Например вводим: " Д е д о к о ы ы "
Здесь должно получится 3 слова? (Дед, око, ыы)
Deamonig вне форума Ответить с цитированием
Старый 22.10.2009, 22:07   #6
redeezko
Пользователь
 
Аватар для redeezko
 
Регистрация: 16.10.2009
Сообщений: 16
По умолчанию

в данном случае словом является любая последовательность символов, стоящая между соседними пробелами
redeezko вне форума Ответить с цитированием
Старый 22.10.2009, 22:19   #7
Deamonig
Форумчанин
 
Аватар для Deamonig
 
Регистрация: 19.09.2009
Сообщений: 166
По умолчанию

Пару мин и сделаю )
Deamonig вне форума Ответить с цитированием
Старый 22.10.2009, 22:35   #8
Deamonig
Форумчанин
 
Аватар для Deamonig
 
Регистрация: 19.09.2009
Сообщений: 166
По умолчанию

Попробуй этот код, но сам я не проверял его, так что если ошибки пиши сюда, найду )
Код:
program Project2;
{$APPTYPE CONSOLE}
uses
  SysUtils;
Var x,b1,b2:char;
tx:sting;
  number, i, k:integer;
begin
 tx:='';
 k:=0;
number:=0;
b1:=1;
writeln('vvedite text');
read(x);
while x<>'.' do 
 begin
  read(x);
  if tx[1]='' then 
    if (x<>' ') then 
     begin 
      tx[1]:=x;
      number:=1;
     end;
   else
  else
  begin
   tx[number+1]:= x;
   number:=number+1;
  end;
 end;

for i:=1 to length(tx) do
begin

if tx[i]=' ' then
 if tx[b1]=tx[i-1] then 
  begin
   k:=k+1;
   b1:=i+1;
  end;

if tx[i]='.' then
 if tx[b1]=tx[i-1] then 
  k:=k+1;
end;

writeln('k=',k);
readln;
End.

Последний раз редактировалось Deamonig; 22.10.2009 в 23:14.
Deamonig вне форума Ответить с цитированием
Старый 22.10.2009, 22:43   #9
Deamonig
Форумчанин
 
Аватар для Deamonig
 
Регистрация: 19.09.2009
Сообщений: 166
По умолчанию

Не учел произвольное количество пробелов между словами, щас исправлю
Deamonig вне форума Ответить с цитированием
Старый 22.10.2009, 22:49   #10
Deamonig
Форумчанин
 
Аватар для Deamonig
 
Регистрация: 19.09.2009
Сообщений: 166
По умолчанию

Так вроде правилоьно )
Код:
program Project2;
{$APPTYPE CONSOLE}
uses
  SysUtils;
Var x,b1,b2:char;
tx:sting;
  number, i, k:integer;
begin
 tx:='';
 k:=0;
number:=0;
b1:=1;
writeln('vvedite text');
read(x);
while x<>'.' do 
 begin
  read(x);
  if tx[1]='' then 
    if (x<>' ') then 
     begin 
     tx[1]:=x;
     number:=1;
     end;
   else
  else
  BEGIN
   if x=' ' then if tx[number]<>' '
   then
    begin
     tx[number+1]:= x;
     number:=number+1;
    end
    else 
   else 
   begin
     tx[number+1]:= x;
     number:=number+1;
   end;
  end;
 END;

tx[number+1]:='.';

for i:=1 to length(tx) do
begin

if tx[i]=' ' then
 if tx[b1]=tx[i-1] then 
  begin
   k:=k+1;
   b1:=i+1;
  end;

if tx[i]='.' then
 if tx[b1]=tx[i-1] then 
  k:=k+1;
end;

writeln('k=',k);
readln;
End.

Последний раз редактировалось Deamonig; 22.10.2009 в 23:13.
Deamonig вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Помогите с задачей KREGI Помощь студентам 12 21.05.2009 23:08
Помогите с задачей!!!!!!!!! Lena123 Паскаль, Turbo Pascal, PascalABC.NET 3 26.11.2008 22:51
Помогите с задачей на С Карол Помощь студентам 16 14.11.2008 21:26
Помогите с задачей Noxil Паскаль, Turbo Pascal, PascalABC.NET 2 30.10.2008 19:20