Нужно, , подскажите! (в паскале) дан текстовый файл f, каждая строка которого состоит из слов, разделённых одним и более пробелами. найти все слова, содержащие наименьшее, но ненулевое, количество гласных латинских букв (a, e, i, o, u). сформировать из этих слов новый файл g.
262
341
Ответы на вопрос:
//ночной отвратный код //pascalabc.net 3.2 сборка 1318 var f,g: text; mins,i,currents,minscount: integer; minswords: array of string; buf1,buf2: char; wordflag: boolean; s: string; begin mins: =integer.maxvalue; assign(f,'input.txt'); reset(f); read(f,buf1); if not(eof(f)) then read(f,buf2); if ((buf1=' ') or (buf1=chr(10)) or (buf1=chr( and ((buf2=' ') or (buf2=chr(10)) or (buf2=chr( then wordflag: =false; if (buf1< > ' ') and ((buf2=' ') or (buf2=chr(10)) or (buf2=chr( then begin s: =buf1; wordflag: =false; end; if (buf1< > ' ') and (buf2< > ' ') then begin s: =buf1+buf2; currents: =0; for i: =1 to length(s) do if (lowcase(s[i])='a') or (lowcase(s[i])='e') or (lowcase(s[i])='i') or (lowcase(s[i])='o') or (lowcase(s[i])='u') then inc(currents); wordflag: =true; end; while not(eof(f)) do begin if ((buf1=' ') or (buf1=chr(10)) or (buf1=chr( and (buf2< > ' ') then begin wordflag: =true; currents: =0; s: =buf2; end else if ((buf1< > ' ') and (buf2=' ')) or ((buf2=chr(10)) or (buf2=chr( then begin wordflag: =false; for i: =1 to length(s) do if (lowcase(s[i])='a') or (lowcase(s[i])='e') or (lowcase(s[i])='i') or (lowcase(s[i])='o') or (lowcase(s[i])='u') then inc(currents); if(currents=mins) then begin inc(minscount); setlength(minswords,minscount); minswords[minscount-1]: =s; end; if(currents< mins) and (currents< > 0) then begin minscount: =1; setlength(minswords,minscount); minswords[minscount-1]: =s; mins: =currents; end; end else if wordflag then s: =s+buf2; buf1: =buf2; read(f,buf2); end; if wordflag then begin s+=buf2; for i: =1 to length(s) do if (lowcase(s[i])='a') or (lowcase(s[i])='e') or (lowcase(s[i])='i') or (lowcase(s[i])='o') or (lowcase(s[i])='u') then inc(currents); if(currents=mins) then begin inc(minscount); setlength(minswords,minscount); minswords[minscount-1]: =s; end; if(currents< mins) and (currents< > 0) then begin minscount: =1; setlength(minswords,minscount); minswords[minscount-1]: =s; mins: =currents; end; end else if buf2< > ' ' then begin if (lowcase(buf2)='a') or (lowcase(buf2)='e') or (lowcase(buf2)='i') or (lowcase(buf2)='o') or (lowcase(buf2)='u') then currents: =1; if(currents=mins) then begin inc(minscount); setlength(minswords,minscount); minswords[minscount-1]: =buf2; end; if currents< mins then begin minscount: =1; setlength(minswords,minscount); minswords[minscount-1]: =buf2; mins: =currents; end; end; close(f); assign(g,'output.txt'); rewrite(g); for i: =0 to length(minswords)-1 do write(g,minswords[i],' '); close(g); end. пример содержимого input.txt: lorem ipsum dolor sit amet consectetur adipiscing elit etc curabitur posuere erat et felis ultricies pulvinar u пример содержимого output.txt: sit etc et u
1. начало(в овале)
ввод a,b,min (в паралелограмме)
a< b (в ромбе)
2 стрелки, первая стрелка "нет" и в прямоугольнике min: =b
вторая стрелка "да" и в прямоугольнике min: =a
вывод min (в паралелограмме)
конец(в овале)
2.начало(в овале)
ввод a,b, c, min (в паралелограмме)
a< b (в ромбе)
2 стрелки, первая стрелка "нет" и в прямоугольнике min: =b
вторая стрелка "да" и в прямоугольнике min: =a
min< c (в ромбе)
2 стрелки, первая стрелка "нет" и в прямоугольнике min: =c
вторая стрелка сразу к выводу
вывод min (в паралелограмме)
конец(в овале)
Реши свою проблему, спроси otvet5GPT
-
Быстро
Мгновенный ответ на твой вопрос -
Точно
Бот обладает знаниями во всех сферах -
Бесплатно
Задай вопрос и получи ответ бесплатно
Популярно: Информатика
-
rgn12320.05.2023 08:48
-
Костя11111331.01.2022 03:16
-
элизабет3505.04.2020 16:23
-
Aneenanto04.12.2021 09:20
-
Методист22819.09.2021 22:39
-
skyline1234527.04.2021 15:02
-
bilainфом06.07.2022 04:07
-
Keks547856805.06.2022 17:45
-
alliance23409.04.2022 22:32
-
никитоз522.06.2021 05:29
Есть вопросы?
-
Как otvet5GPT работает?
otvet5GPT использует большую языковую модель вместе с базой данных GPT для обеспечения высококачественных образовательных результатов. otvet5GPT действует как доступный академический ресурс вне класса. -
Сколько это стоит?
Проект находиться на стадии тестирования и все услуги бесплатны. -
Могу ли я использовать otvet5GPT в школе?
Конечно! Нейросеть может помочь вам делать конспекты лекций, придумывать идеи в классе и многое другое! -
В чем отличия от ChatGPT?
otvet5GPT черпает академические источники из собственной базы данных и предназначен специально для студентов. otvet5GPT также адаптируется к вашему стилю письма, предоставляя ряд образовательных инструментов, предназначенных для улучшения обучения.