Это код для матрицы ,а как сделать что бы выравнивало вводимый текст?
uses crt; var s:string; i,j,k,b:integer; begin FillArray; WriteArray; for i:=1 to n do begin // перебор по строкам массива s := ''; for j := 1 to m do s := s + a[i,j]; // переносим из строки массива в переменную типа строки while s[length(s)] = ' ' do delete(s,length(s),1); // удаляем пробелы в начале и конце строки while s[1] = ' ' do delete(s,1,1); b := length(s); write(b:3,' <',s); // по мере подсчета постепенно выводим, что мы делаем if (b < m) and (pos(' ',s) > 0) then begin // если в строке нет пробелов - ничего не поделаешь
k := 1; // счетчик внешнего цикла, а заодно - длина последовательности пробелов (сколько пропускать) repeat j := 1; // бежим вдоль строки while (j < length(s)) and (length(s) < m) do begin if s[j] = ' ' then begin // найдя пробел, вставляем еще один и "перепрыгиваем" через всю последовательность пробелов insert(' ',s,j); inc(j,k); end; inc(j); end; inc(k); write(' k=',k); until length(s) = m; for j:=1 to m do a[i,j]:=s[j]; end; writeln('>'); end; WriteArray; readkey; end.
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.