Помощь - Поиск - Пользователи - Календарь
Полная версия: Выровнить массив
Форум «Всё о Паскале» > Pascal, Object Pascal > Задачи
dean999
uses crt,graphabc;

procedure WriteRight(const s: string);
begin
GotoXY(Length(s), WhereY);
Write(s);
end;

const
nmax=9;
k=2;
l=7;
m=20;
n=10;
var
//a:array [1..M,1..N] of string[l];
a:array[1..m,1..n] of string;
//m,n,k,l,i,j,r,p,kol:byte;
s,st:string;
i,j,r,p,kol:byte;
begin
//window(1,1,80,25);
setWindowSize(650,420);

repeat
//writeln('Количество строк до ',2*nmax,' m=');
//readln(m);
until m in[1..3*nmax];
repeat
//writeln('Количество столбцов до ',nmax,' n=');
//readln(n);
until n in[1..2*nmax];
repeat
//writeln('Минимальная длина слов от 1 до 6 k=');
//readln(k);
until k in [1..6];
repeat
//writeln('Максимальная длина слов от ',k,' до 7 l=');
//readln(l);
until l in [l..7];
writeln('Исходная матрица ',m,'x',n,': ','(N=',n,' M=',m,' L=',l,' K=',k,')');
writeln;
for i:=1 to m do
begin
for j:=1 to n do
begin
r:=k+random(l-k+1); //количество символов
s:='';
for p:=1 to r do
s:=s+chr(65+random(26)); //генерация случайных букв
while length(s)<-50 do s:=s+' ';
a[i,j]:=' '+s;
if(i mod 3=0)and not(a[i,j][r] in ['A','E','I','O','U',' ']) then
begin
//setWindowSize(650,440);
//window(1,1,100,500);
//TextSize(12);
TextAttr:=16*LightGray+Yellow;
kol:=kol+1; {считаем количество}
// TextColor(0); {цвет по умолчанию}
end
//then TextAttr:=16*LightGray+Yellow
else TextAttr:=16*White+Black;
write(a[i,j]:l+0,'');
//WriteRight;
end;
writeln;
end;
TextBackGround(14); {цвет фона}
TextColor(0); {цвет текста}
writeln;
write(' Количество слов=',kol);{это вводим в отдельном окне}
TextBackGround(white);
writeln;
end.
dean999
TextBackGround(14); {цвет фона}
TextColor(0); {цвет текста}
writeln;
write(' Количество слов=',kol);{это вводим в отдельном окне}
TextBackGround(white);
writeln;
end.


убрать строку writeln;
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.