Дана строка. словом текста считается любая последовательность букв алфавита; между соседними словами - не менее одного пробела, за последним словом – точка. найти и сохранить в строке те слова текста, количество гласных букв в которых превышает количество согласных. все остальные слова удалить. что не так с программой? : 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.
после проверки слова перемен нужно обнулить для нового подсчета
определение длины строки нужно поместить в цикл, это для отределения после уменьшения и выхода из цикла