Есть ответ 👍

Дана строка. словом текста считается любая последовательность букв алфавита; между соседними словами - не менее одного пробела, за последним словом – точка. найти и сохранить в строке те слова текста, количество гласных букв в которых превышает количество согласных. все остальные слова удалить. что не так с программой? : var m1,m2: set of char; s1,s2,s3: string; gl,i,m,sogl: integer; begin m2: =['a','e','i','o','u','y','a','e','i','o','u','y']; m1: =['b','c','d','f','g','h','j','k','l','m','n','p','q','r','s','t','v','w','x','z', 'b','c','d','f','g','h','j','k','l','m','n','p','q','r','s','t','v','w','x','z']; read(s1); gl: =0; sogl: =0; m: =length(s1); while m< > 0 do begin s2: =copy(s1,1,(pos(' ',s1)-1)); delete(s1,1,pos(' ',s1)); for i: =1 to length(s2) do begin if s2[i] in m2 then gl: =gl+1 else if s2[i] in m1 then sogl: =sogl+1; end; if gl> sogl then s3: =s3+s2+' '; end; writeln(s3); end.

277
309
Посмотреть ответы 2

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


Write('введите строку'); read(s1); gl: =0; sogl: =0;   m: =length(s1); while m< > 0 dobegins2: =copy(s1,1,(pos(' ',s1)-1)); delete(s1,1,pos(' ',s1)); for i: =1 to length(s2) dobeginif s2[i] in m2 then gl: =gl+1; if s2[i] in m1 then sogl: =sogl+1; end; if gl> sogl then s3: =s3+s2+' '; gl: =0; sogl: =0; m: =length(s1); end; writeln(s3); end.после проверки слова перемен нужно обнулить для нового подсчетаопределение длины строки нужно поместить в цикл, это для отределения после уменьшения и выхода из цикла

Ключевые слова:

• оператор вывода write  

• формат вывода  

• оператор ввода read  

3.2.1. Вывод данных

В предыдущем параграфе мы познакомились со структурой программы на языке Паскаль, научились описывать данные, рассмотрели оператор присваивания. Этого достаточно для того, чтобы записать программу преобразования данных. Но результат этих преобразований нам виден не будет.

Для вывода данных из оперативной памяти на экран монитора используется оператор вывода write:

Объяснение:

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