Есть ответ 👍

Дана стока состоящая из латинских букв,в которой слова разделены пробелами(одним или несколькими).напечатать те строки,которые отличны от последнего слова и удовлетворяют след. свойству: - слово совпадает с начальным отрезком латинского алфавита ('a','ab','abc' и т.д.) p.s. только решить её надо не использую строки.вместо них array of пример ввода: writeln('введите предложение, символ конца - точка'); i : = 0; repeat inc(i); read(a[i]) until (a[i] = '.')or(i = n); заранее огромное .

275
439
Посмотреть ответы 2

Ответы на вопрос:


Const    letters = ['a'..'z', 'a'..'z'];   lineends = [#13, #10, #0, '.'];   max_len = 255; var    txt: array [0..max_len] of char;   bnd: array [0..max_len, 0..1] of integer;   tsz, bsz: integer; // размеры массивов   isletter, isword, f1, f2: boolean;   i, j: integer; begin   repeat     read(txt[tsz]);     // определение границ слов         isletter : = txt[tsz] in letters;     if isletter and not isword then       bnd[bsz, 0] : = tsz;     if isword and not isletter then begin       bnd[bsz, 1] : = tsz;       bsz : = bsz + 1;     end;           isword : = isletter;     tsz : = tsz + 1;   until txt[tsz-1] in lineends;       if bsz > 1 then begin       for i : = 0 to bsz-2 do begin       j : = 0; f2 : = true;       f1 : = (bnd[bsz-1, 1] - bnd[bsz-1, 0]) = (bnd[i, 1]-bnd[i, 0]); // совпадение длин               while (j < bnd[i, 1] - bnd[i, 0]) and f2 do begin         f1 : = f1 and (txt[bnd[i, 0] + j] = txt[bnd[bsz-1, 0] + j]);         f2 : = f2 and (lowcase(txt[bnd[i, 0] + j]) = chr(ord('a') + j));         j : = j + 1;       end;               // вывод       if f2 and not f1 then begin         for j : = bnd[i, 0] to bnd[i, 1] - 1 do           write(txt[j]);         writeln;       end;     end;   end; end.
zimina31
4,4(39 оценок)

// pascalabc.net 3.1, сборка 1200 от 13.03.2016 function gcd(a,b: integer): integer; // нахождение нод begin   while b< > 0 do   begin       a: =a mod b;       var i: =b; b: =a; a: =i   end;   result: =a end; procedure shorter(var a,b: integer); // "сокращатель" дроби begin   var k: =gcd(a,b);   a: =a div k;   b: =b div k end; begin   var a,b: integer;   writeln('введите числитель и знаменатель дроби: ');   read(a,b);   write(a,'/',b,'='); shorter(a,b); writeln(a,'/',b) end. тестовое решение: введите числитель и знаменатель дроби: 25 15 25/15=5/3

Реши свою проблему, спроси otvet5GPT

  • Быстро
    Мгновенный ответ на твой вопрос
  • Точно
    Бот обладает знаниями во всех сферах
  • Бесплатно
    Задай вопрос и получи ответ бесплатно

Популярно: Информатика

Caktus Image

Есть вопросы?

  • Как otvet5GPT работает?

    otvet5GPT использует большую языковую модель вместе с базой данных GPT для обеспечения высококачественных образовательных результатов. otvet5GPT действует как доступный академический ресурс вне класса.
  • Сколько это стоит?

    Проект находиться на стадии тестирования и все услуги бесплатны.
  • Могу ли я использовать otvet5GPT в школе?

    Конечно! Нейросеть может помочь вам делать конспекты лекций, придумывать идеи в классе и многое другое!
  • В чем отличия от ChatGPT?

    otvet5GPT черпает академические источники из собственной базы данных и предназначен специально для студентов. otvet5GPT также адаптируется к вашему стилю письма, предоставляя ряд образовательных инструментов, предназначенных для улучшения обучения.

Подпишись на наш телеграмм канал

GTP TOP NEWS