Var
s,w:string;
i,j,n,p,k,gmax:integer;
fBreak:boolean; { флажок для прерывания циклов }
begin
Writeln('Введите текст, разделяя слова пробелами');
Readln(s);
s:=LowerCase(s);
n:=Length(s); p:=1; fBreak:=False; gmax:=0;
while (not Fbreak) do { перебор всех символов в строке }
begin
{ищем первый непробельный символ - начало слова }
fBreak:=False;
while ((p<=n) and (not fBreak)) do
if (p=n) or (s[p]<>' ') 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 }
k:=0;
for j:=i to p do
if s[j] in ['а','е','ё','и','о','у','ы','э','ю','я'] then Inc(k);
if gmax<k then begin gmax:=k; w:=Copy(s,i,p-i) end;
i:=p; p:=p+1
end
else p:=p+1;
fBreak:=(p>n)
end;
if gmax>0 then Writeln('В слове "',w,'" максимум гласных, равный ',gmax)
else Writeln('Во введенной строке гласных букв не найдено')
end.
<em><u>Тестовое решение:</u></em>
Введите текст, разделяя слова пробелами
В слове ДЛИННОШЕЕЕ три буквы е подряд!
В слове "длинношеее" максимум гласных, равный 5
Var
s,fam,nam:string;
begin
writeln('Vvedite imy i familiy:');
readln(s);
nam:=copy(s,1,pos(' ',s)-1);
fam:=copy(s,pos(' ',s)+1,length(s));
if nam[length(nam)]=fam[length(fam)-1] then writeln('Sovpadayut') else writeln('Ne sovpadayut');
write('Dly vyhoda nagmite Enter');
readln;
end.
N=32 ;
N = 2 (в степени i) ;
i = 5 ;
iс= i * K
iс = 5 * 256 = 1280 бит :8 = 160 байт (кол-во информации на 1 носителе);
iс= 256 * 512 * 5=655 360 бит :8 = 81 920 байт :1024 = 80 Кбайт (кол-во)
Я ДУМАЮ ВОТ ТАК ПОЖАЛУЙСТА !!!
//Вроде бы знакомый аватар...
//Соглашусь с предыдущим оратором, решается в 3 строки без циклов
//Pascal ABC.NET v3.0 сборка 1111
Const
n=10;
var
ar:array[1..n] of integer;
sum,i:integer;
begin
randomize;
for i:=1 to 10 do
begin;
ar[i]:=random(50,100);
sum+=ar[i];
write(ar[i]:4);
end;
writeln;
write('Sum=',sum);
end.
<em>// PascalABC.NET 3.3, сборка 1625 от 17.01.2018</em>
<em>// Внимание! Если программа не работает, обновите версию!</em>
begin
var n:=ReadInteger('Количество строк (столбцов) в матрице:');
Writeln('*** Исходная матрица ***');
var a:=MatrRandom(n,n,-99,99);
a.Println(4); Writeln(4*a.ColCount*'-');
var k:=0;
for var i:=1 to n-1 do
for var j:=n-i to n-1 do
if a[i,j].IsEven then k+=1;
Writeln('Количество четных элементов ниже побочной диагонали: ',k)
end.
<u>Пример</u>
Количество строк (столбцов) в матрице: 7
*** Исходная матрица ***
90 57 58 49 91 -83 61
-57 70 52 90 53 -22 89
-90 -23 39 -88 28 16 -34
-65 -19 -92 -49 77 11 79
-37 -85 -5 6 -41 -75 -90
1 62 24 92 -37 88 21
-65 -47 48 -39 -46 6 38
----------------------------
Количество четных элементов ниже побочной диагонали: 11