tamirisis7sk
10.04.2022 03:16

Заполните таблицу a[1:10] нечётным числами (тема "Табличные величины в КуМире")
Заранее

Нажмите на рекламу ниже и сразу увидите ответ
Популярные вопросы:
Ответ:
Deadcroissant1
17.11.2022 21:03
// PascalABC.NET 3.2, сборка 1407 от 18.03.2017
// Внимание! Если программа не работает, обновите версию!

begin
  var a:=ReadlnString('Вводите:').ToWords;
  var c:=a[0].Last;
  Writeln('Найдено ',a.Where(w->w.First=c).Count,
      ' слов, начинающихся с "',c,'"')
end.

Пример
Вводите: Туча дождь астроном баран арбуз зебра астра велосипед
Найдено 3 слов, начинающихся с "а"

Вариант "а нас в школе учат так", который якобы "проще"

var
  s:string;
  c:char;
  i,k,l,p:integer;
begin
  // Предполагается, что слова разделены ровно одним пробелом
  Write('Вводите: '); Readln(s);
  l:=Length(s);
  if l=1 then Writeln('Найдено одно слово')
  else begin
    p:=Pos(' ',s);
    if (p=0) and (s[1]=s[l]) then Writeln('Найдено одно слово')
    else begin
      c:=s[p-1];
      if s[1]=c then k:=1 else k:=0;
      for i:=p+1 to Length(s)-1 do
        if (s[i]=' ') and (s[i+1]=c) then Inc(k);
        Writeln('Найдено ',k,' слов, начинающихся с "',c,'"')
      end
    end
end.
0,0(0 оценок)
Ответ:
Valeria0710
02.11.2022 09:58

const

      MAX = 20;

    var

      s:string;

      stack:array[1..MAX] of string;

      top:integer;

      i:byte;

   

    procedure Push(ch:string);

    begin

      if top>=MAX then WriteLn('Stask full')

      else

      begin

        stack[top]:=ch;

        top:=top+1;

      end;

    end;

   

    function Pop:string;

    begin

      top:=top-1;

      if top<1 then

      begin

        WriteLn('Stack underflow');

        top:=top+1;

      end

      else Pop := stack[top];

    end;

begin

top:=1;

s:='<asdf<asdf>asdf>';//правильная строка

for i:=1 to length(s) do

begin

   if s[i]='<' then Push('<');

   if s[i]='>' then

       if Pop()<>'<' then WriteLn('Ошибка!');

end;

if top<>1 then WriteLn('Ошибка!');

top:=1;

s:='<asdf<asdfasdf>';//не правильная строка

for i:=1 to length(s) do

begin

   if s[i]='<' then Push('<');

   if s[i]='>' then

     if Pop()<>'<' then WriteLn('Ошибка!');

end;

if top<>1 then WriteLn('Ошибка!');

end.

Объяснение:

0,0(0 оценок)
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота