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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 17.06.2010, 23:59   #1
velamut
 
Регистрация: 17.06.2010
Сообщений: 3
По умолчанию Нужно найти ошибку или написать алгоритм по проще! (строки)

Народ помогите найти ошибку или написать по проще алгоритм!

ЗАДАЧА
Ввести текст. Найти в нем количество слов, начинающихся и заканчивающихся гласной буквой. Вывести эти слова и их количество.

Вот код программы выводит только количество слов которые начинаються на гласные а нужно что бы одновременно начинались и заканчивались гласной буквой!


Код:
unit Unit1;
 interface
 uses
 Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
 Dialogs, StdCtrls, Buttons;
 type
 TForm1 = class(TForm)
   Memo1: TMemo;
   Label1: TLabel;
   Label2: TLabel;
   BitBtn1: TBitBtn;
   BitBtn2: TBitBtn;
   Label3: TLabel;
   Edit1: TEdit;
   procedure BitBtn2Click(Sender: TObject);
   procedure BitBtn1Click(Sender: TObject);
 private
   { Private declarations }
 public
   { Public declarations }
 end;
 var
 Form1: TForm1;
 implementation
 {$R *.dfm}
 procedure TForm1.BitBtn2Click(Sender: TObject);
 begin
 Close;
 end;
 const maxn=100;
 var s:array[1..maxn] of string;
     l,n,i,k:integer;
  procedure TForm1.BitBtn1Click(Sender: TObject);
  begin
  n:=strtoint(edit1.Text);
  for i:=1 to n do
 s[i]:=memo1.Lines[i-1];
 k:=0;
   for i:=1 to n do
     begin
     l:=length(s[i]);
     if (pos(s[i][1], 'аоиуеыэюяАОИУЕЫЭЮЯ') > 0)
        and (pos(s[i][1], 'аоиуеыэюяАОИУЕЫЭЮЯ') > 0)
        then k:= k+1 
 end;
 label2.Caption:=inttostr(k);
 end;
 end.

Последний раз редактировалось Stilet; 18.06.2010 в 09:26.
velamut вне форума Ответить с цитированием
Старый 18.06.2010, 15:47   #2
Z1000000
Форумчанин
 
Регистрация: 04.05.2010
Сообщений: 495
По умолчанию

Код:
program FirstLast;
label 1;
var
 aStr,CurWord : String;
 i,k,Counter : Integer;
begin
aStr := 'Думай Жди Африка Клубок Ондатра Вепрь Иволга';
writeln ( aStr );
aStr := aStr + ' ';
Counter := 0;
for i := 1 to Length(aStr) do
 begin
  if aStr[i] = ' ' then
   begin
   if CurWord <> '' then
     begin
     if (pos(UpperCase(CurWord[1]), 'АОИУЕЫЭЮЯ') > 0) and (pos(UpperCase(CurWord[Length(CurWord)]), 'АОИУЕЫЭЮЯ') > 0)
      then
       begin
       Counter := Counter + 1;
       writeln ( CurWord );
       end;
     CurWord := '';
     end;
   end
  else
   begin
   CurWord := CurWord + aStr[i];
   end;
 end;
writeln ('Число слов,начинающихся и заканчивающихся гласной :',Counter);
end.
Нажми на весы, поставь +
Для благодарностей : WebMoney WMR R252732729948
Z1000000 вне форума Ответить с цитированием
Старый 18.06.2010, 16:07   #3
Roof
Форумчанин
 
Аватар для Roof
 
Регистрация: 01.02.2007
Сообщений: 785
По умолчанию

2 Z1000000
А зачем тут
Код:
label 1;
?
Изо всей благодати
В руках крепко сжатых
Я донесу только капли
Roof вне форума Ответить с цитированием
Старый 18.06.2010, 16:09   #4
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Предлагаю свой алгоритм:http://www.programmersforum.ru/showt...369#post398369
Там в условии добавь
Код:
var 
if (a[count][1] in ['A','e','u','i','o'])and(a[count][length(a[count])] in ['A','e','u','i','o']) then Нужное слово
I'm learning to live...
Stilet вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Нужно найти или написать прогу, на подобие WPE Pro ZBEP Фриланс 4 22.03.2010 17:03
Нужно найти ошибку в программе (С++) STIFFmaster_LP Помощь студентам 13 24.01.2010 00:44
нужно найти ошибку Стёпыш Помощь студентам 5 08.12.2009 18:13
Нужно найти ошибку в коде Вован111 Помощь студентам 15 08.11.2009 14:33
Помогите написать прогу!Среди заданных целых чисел k, l, m найти пары кратных.Написать по проще чемЭесть vdv08 Паскаль, Turbo Pascal, PascalABC.NET 4 04.04.2008 16:56