Помощь - Поиск - Пользователи - Календарь
Полная версия: Выровнить массив
Форум «Всё о Паскале» > 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;
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.