Дана стока состоящая из латинских букв,в которой слова разделены пробелами(одним или несколькими).напечатать те строки,которые отличны от последнего слова и удовлетворяют след. свойству: - слово совпадает с начальным отрезком латинского алфавита ('a','ab','abc' и т.д.) p.s. только решить её надо не использую строки.вместо них array of пример ввода: writeln('введите предложение, символ конца - точка'); i : = 0; repeat inc(i); read(a[i]) until (a[i] = '.')or(i = n); заранее огромное .
275
439
Ответы на вопрос:
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.
// 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
-
Быстро
Мгновенный ответ на твой вопрос -
Точно
Бот обладает знаниями во всех сферах -
Бесплатно
Задай вопрос и получи ответ бесплатно
Популярно: Информатика
-
Serenael66627.07.2021 23:19
-
ypinkers019.07.2021 03:00
-
tim242414.07.2020 20:43
-
19Викушка21.11.2022 04:03
-
kirkanobotan13.09.2022 14:23
-
sammerosetrova18.12.2022 03:00
-
ммммм8917.02.2022 16:39
-
mashoshinaliza112.10.2022 03:56
-
милана76107.09.2020 01:52
-
DarkDanilka02.04.2020 23:02
Есть вопросы?
-
Как otvet5GPT работает?
otvet5GPT использует большую языковую модель вместе с базой данных GPT для обеспечения высококачественных образовательных результатов. otvet5GPT действует как доступный академический ресурс вне класса. -
Сколько это стоит?
Проект находиться на стадии тестирования и все услуги бесплатны. -
Могу ли я использовать otvet5GPT в школе?
Конечно! Нейросеть может помочь вам делать конспекты лекций, придумывать идеи в классе и многое другое! -
В чем отличия от ChatGPT?
otvet5GPT черпает академические источники из собственной базы данных и предназначен специально для студентов. otvet5GPT также адаптируется к вашему стилю письма, предоставляя ряд образовательных инструментов, предназначенных для улучшения обучения.