Цитата:
Сообщение от Night_Rain
Извините пожалуйста.
Pascal
|
Тогда получите:
Код:
Var
S:String;
W,Wrd:Array[1..100] of String;
M:Array[1..100,1..100] of Char;
Num:Array[1..100] of Real;
i,j,Nw,Lmax,Nnumb,Nword,Shrt_W_Num,Min_Num:Byte;
Code:Integer;
R:Real;
Begin
Writeln('Enter the string:');
Readln(S);
Nw:=1;
i:=0;
W[Nw]:='';
Repeat
Inc(i);
If (S[i]<>' ') and (i<=Length(S)) then
W[Nw]:=W[Nw]+S[i]
else
If S[i]=' ' then
begin
repeat
Inc(i);
until S[i]<>' ';
Dec(i);
Inc(Nw);
W[Nw]:='';
end;
Until i>Length(S);
Nword:=0;
Nnumb:=0;
For i:=1 to Nw do
begin
VAL(W[i],R,Code);
if Code=0 then
begin
Inc(Nnumb);
Num[Nnumb]:=R;
end
else
begin
Inc(Nword);
Wrd[Nword]:=W[i];
end;
end;
Writeln;
Writeln('Array of words:');
Write(Wrd[1]);
For i:=2 to Nword do Write(' '+Wrd[i]);
Writeln;
Writeln;
Writeln('Array of numbers:');
Write(Num[1]:0:3);
For i:=2 to Nnumb do Write(' ',Num[i]:0:3);
Writeln;
Writeln;
Lmax:=Length(Wrd[1]);
Shrt_W_Num:=1;
For i:=2 to Nword do
begin
if Length(Wrd[i])>Lmax then Lmax:=Length(Wrd[i]);
if Length(Wrd[i])<Length(Wrd[Shrt_W_Num]) then Shrt_W_Num:=i;
end;
Min_Num:=1;
For i:=2 to Nnumb do
If Num[i]<Num[Min_Num] then Min_Num:=i;
Writeln('Shortest word is "'+Wrd[Shrt_W_Num]+'"; Minimal number is ',Num[Min_Num]:0:3);
Writeln;
For i:=1 to Nword do
For j:=1 to Lmax do
M[i,j]:=' ';
For j:=1 to Nword do
For i:=1 to Length(Wrd[j]) do
M[i,j]:=Wrd[j][i];
For i:=1 to Nword do
begin
For j:=1 to Lmax do
Write(M[i,j]+' ');
Writeln;
end;
Readln;
End.