PROGRAMA INCOMPLETO program texto; const NumMaxLin=1000; NumMaxCol=80; type indLinhas=1..NumMaxLin; indColunas=1..NumMaxCol; UmaLinha=array[indColunas] of Char; UmTexto=array[indLinhas] of UmaLinha; var m, n, i, j, k, l, Inic : Integer; a : Umtexto; function Inicio (u:UmaLinha; n:Integer):Integer; var i:Integer; begin i:=n; while u[i] = ' ' do i:=i-1; ? ? ? end; procedure Insere(var t:UmTexto;var m:Integer; n,k:Integer); var i:Integer; begin for i:=m downto k+1 do t[i+1]:=t[i] for i:=1 to n do t[k+1][i]:=' '; m:=m+1 end; begin readLn(m); readLn(n); for i:=1 to m do begin for j:=1 to n do read(a[i][j]); readLn end; i:=1; while i<m do if (a[i][n] <> ' ') and (a[i+1][1]<>' ') then begin inic:=Inicio(a[i],n); Insere(a,m,n,i); k:=1; for j:=inic to n do begin a[i+1,k]:=a[i,j]; a[i,j]:=' '; k:=k+1; j:=1; while a[i+2,j]<>' ' do a[i+1,k]:=a[i+2,j]; a[i+2,j]:=' '; k:=k+1; i:=i+2 end end else i:=i+1; <imprime a> end.