Определить объем файла в кб содержащего текст и 2 картинки.1)текст в системе Unicode-2048 символов.2)Чб картинка, размер 128×1024 pix.3) 256 цветов 128×128 pixдам 50))
Procedure GetWord(s:string; var p:integer; var w:string; delim:string:=' '); { Получает в w слово из строки s, которое начинается не ранее позиции p. Возвращает новое значение p, указывающее на первый разделитель delim, который следует за найденным словом или 0, если такой разделитель не найден. По умолчанию слова разделяются не менее чем одним пробелом } var i,n:integer; fBreak:boolean; { флажок для прерывания циклов } begin n:=Length(s); fBreak:=False; {ищем первый символ, отличный от разделителя - начало слова } while ((p<=n) and (not fBreak)) do if (p=n) or (s[p]<>delim) then fBreak:=True else Inc(p); { ищем очередной разделитель - конец слова } if p<n then begin i:=p; Inc(p); fBreak:=False; while (p<=n) and (not fBreak) do begin if (p=n) or (s[p]=' ') then fBreak:=True else Inc(p) end; { теперь слово находится между позициями i и p } w:=Copy(s,i,p-i) end; if p>=n then p:=0 end;
function CountG(w:string):integer; { возвращает количество гласных в слове w} var i,k:integer; begin k:=0; for i:=1 to length(w) do if w[i] in ['а','е','ё','и','о','у','ы','э','ю','я'] then Inc(k); CountG:=k end;
var s,w,wmax:string; p,k,gmax:integer; begin Writeln('Введите текст, разделяя слова пробелами'); Readln(s); s:=LowerCase(s); p:=1; gmax:=0; while p>0 do begin GetWord(s,p,w); k:=CountG(w);; if gmax<k then begin gmax:=k; wmax:=w end end; if gmax>0 then Writeln('В слове "',wmax,'" максимум гласных, равный ',gmax) else Writeln('Во введенной строке гласных букв не найдено') end.
Ответить на вопрос
Поделитесь своими знаниями, ответьте на вопрос:
Определить объем файла в кб содержащего текст и 2 картинки.1)текст в системе Unicode-2048 символов.2)Чб картинка, размер 128×1024 pix.3) 256 цветов 128×128 pixдам 50))
{
Получает в w слово из строки s, которое начинается не ранее позиции p.
Возвращает новое значение p, указывающее на первый разделитель delim,
который следует за найденным словом или 0, если такой разделитель не найден.
По умолчанию слова разделяются не менее чем одним пробелом
}
var
i,n:integer;
fBreak:boolean; { флажок для прерывания циклов }
begin
n:=Length(s); fBreak:=False;
{ищем первый символ, отличный от разделителя - начало слова }
while ((p<=n) and (not fBreak)) do
if (p=n) or (s[p]<>delim) then fBreak:=True
else Inc(p);
{ ищем очередной разделитель - конец слова }
if p<n then begin
i:=p; Inc(p); fBreak:=False;
while (p<=n) and (not fBreak) do begin
if (p=n) or (s[p]=' ') then fBreak:=True else Inc(p)
end;
{ теперь слово находится между позициями i и p }
w:=Copy(s,i,p-i)
end;
if p>=n then p:=0
end;
function CountG(w:string):integer;
{ возвращает количество гласных в слове w}
var
i,k:integer;
begin
k:=0;
for i:=1 to length(w) do
if w[i] in ['а','е','ё','и','о','у','ы','э','ю','я'] then Inc(k);
CountG:=k
end;
var
s,w,wmax:string;
p,k,gmax:integer;
begin
Writeln('Введите текст, разделяя слова пробелами');
Readln(s);
s:=LowerCase(s);
p:=1; gmax:=0;
while p>0 do begin
GetWord(s,p,w);
k:=CountG(w);;
if gmax<k then begin gmax:=k; wmax:=w end
end;
if gmax>0 then Writeln('В слове "',wmax,'" максимум гласных, равный ',gmax)
else Writeln('Во введенной строке гласных букв не найдено')
end.