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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 27.02.2017, 21:43   #1
Денис123321
 
Регистрация: 15.02.2017
Сообщений: 7
По умолчанию Помогите а то уже голова кругом

Определить количество букв Е, Ю и Я в введенном предложении. Слова, в которых эти буквы встречаются более одного раза поставить в начале предложения

Я определил количество букв:
Код:
var s:string;
i,b1,b2,b3,k,l,a:integer;
begin
writeln('введите предложение');
readln(s);
for i:=1 to length(s) do
 begin
 if (s[i] = 'Е') or (s[i] = 'е') then inc(b1);
 if (s[i] = 'Ю') or (s[i] = 'ю') then inc(b2);
 if (s[i] = 'Я') or (s[i] = 'я') then inc(b3);
 end;
writeln('Е = ',b1);
writeln('Ю = ',b2);
writeln('Я = ',b3);
end.
НО не знаю как переместить слова.

Последний раз редактировалось Аватар; 28.02.2017 в 10:02.
Денис123321 вне форума Ответить с цитированием
Старый 27.02.2017, 22:56   #2
Aleksandr H.
2 the Nation Glory
Старожил
 
Аватар для Aleksandr H.
 
Регистрация: 27.05.2014
Сообщений: 3,289
По умолчанию

перед перемещением слов сделай вывод слов в которых эти буквы встречаются более одного раза
Кто умер, но не забыт, тот бессмертен.
Лао-Цзы.
Aleksandr H. вне форума Ответить с цитированием
Старый 28.02.2017, 01:14   #3
Денис123321
 
Регистрация: 15.02.2017
Сообщений: 7
По умолчанию

Но только как ?
Денис123321 вне форума Ответить с цитированием
Старый 28.02.2017, 05:43   #4
newerow1989
Я самый любопытный
Участник клуба
 
Аватар для newerow1989
 
Регистрация: 24.07.2012
Сообщений: 1,949
По умолчанию

Код:
type tArrs=array of string;

procedure Analiz(s:string; var st:tArrs);
var i,count:integer;
    s1:string;
begin
   count:=0;
   SetLength(st,0);
   While s<>'' do
   begin
      i:=Pos(' ',s);
      If i>0 then
      begin
         s1:=Copy(s,1,i-1);
         Delete(s,1,i);
      end else
      begin
         s1:=s;
         s:='';
      end;
      If s1<>'' then
      begin
         count:=count+1;
         SetLength(st,count);
         st[count-1]:=s1;
      end;
   end;
end;

var s,z:string;
    i,j,b1,b2,b3,a:integer;
    st:tArrs;
begin
   writeln('введите предложение');
   readln(s);
   b1:=0;
   b2:=0;
   b3:=0;
   for i:=1 to length(s) do
   begin
      if (s[i] = 'Е') or (s[i] = 'е') then inc(b1);
      if (s[i] = 'Ю') or (s[i] = 'ю') then inc(b2);
      if (s[i] = 'Я') or (s[i] = 'я') then inc(b3);
   end;
   writeln('Е = ',b1);
   writeln('Ю = ',b2);
   writeln('Я = ',b3);
   Analiz(s,st);
   a:=0;
   For i:=Low(st) to High(st) do
   begin
      b1:=0;
      b2:=0;
      b3:=0;
      For j:=1 to Length(st[i]) do
      begin
         if (st[i][j] = 'Е') or (st[i][j] = 'е') then inc(b1);
         if (st[i][j] = 'Ю') or (st[i][j] = 'ю') then inc(b2);
         if (st[i][j] = 'Я') or (st[i][j] = 'я') then inc(b3);
      end;
      If (b1>1) or (b2>1) or (b3>1) then
      begin
         z:=st[i];
         For j:=i downto a+1 do
            st[j]:=st[j-1];
         st[a]:=z;
         Inc(a);
      end;
   end;
   For i:=Low(st) to High(st) do
      Write(st[i],' ');
   Writeln;
   Readln;
end.
С запрограммированным приветом, Неверов Евгений!
Сайт: http://newerow1989.ru
[Паскаль] [Delphi]
newerow1989 вне форума Ответить с цитированием
Старый 28.02.2017, 09:57   #5
Денис123321
 
Регистрация: 15.02.2017
Сообщений: 7
По умолчанию

Ваша программа не выводит все слова в которых есть е ю я на начало
Денис123321 вне форума Ответить с цитированием
Старый 28.02.2017, 11:09   #6
newerow1989
Я самый любопытный
Участник клуба
 
Аватар для newerow1989
 
Регистрация: 24.07.2012
Сообщений: 1,949
По умолчанию

Тогда вместо
Код:
If (b1>1) or (b2>1) or (b3>1) then
написать
Код:
If (b1>=1) or (b2>=1) or (b3>=1) then
(хотя бы одна буква)
С запрограммированным приветом, Неверов Евгений!
Сайт: http://newerow1989.ru
[Паскаль] [Delphi]
newerow1989 вне форума Ответить с цитированием
Старый 28.02.2017, 11:30   #7
Денис123321
 
Регистрация: 15.02.2017
Сообщений: 7
По умолчанию

Спасибо уже работает все
Денис123321 вне форума Ответить с цитированием
Старый 01.03.2017, 05:04   #8
newerow1989
Я самый любопытный
Участник клуба
 
Аватар для newerow1989
 
Регистрация: 24.07.2012
Сообщений: 1,949
По умолчанию

С запрограммированным приветом, Неверов Евгений!
Сайт: http://newerow1989.ru
[Паскаль] [Delphi]
newerow1989 вне форума Ответить с цитированием
Ответ


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

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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Болит голова Арки Свободное общение 7 19.02.2017 17:01
помогите изменить прогу , а то голова кругом ( jamayka Помощь студентам 12 06.10.2014 19:37
задачка, голова уже болит! буду благодарен за помощь! v.chertov Помощь студентам 39 15.11.2013 02:14
Голова Кругом TH000 Свободное общение 19 03.07.2009 12:29
о помощи студентам (кругом подставы) Mikhail Bakurov Свободное общение 5 24.06.2009 10:01