Прог-ие 1К 2С / 3.2
.docxunit Unit1;
interface
type
mas_str = array [1..80] of string;
id_max = array [1..80] of integer;
var
max_len, max_count : integer;
procedure vudeln(predl : string; var arr_words : mas_str; var word : integer);
function isdigit(num : char) : boolean;
function find_max_len(sum_words : integer; var arr_words : mas_str) : id_max;
implementation
procedure vudeln;
var
i, len_pr : integer;
begin
word := 1;
i := 1;
len_pr := length(predl);
while i <= len_pr do
begin
if predl[i] <> ' ' then
arr_words[word] := arr_words[word] + predl[i]
else
begin
word := word + 1;
while (i + 1 <= len_pr) and (predl[i + 1] = ' ') do
i := i + 1;
end;
i := i + 1;
end;
end;
function isdigit;
var
i: integer;
check : boolean;
begin
check := false;
for i := 1 to 10 do
if (num >= '0') and (num <= '9') then
begin
check := true;
break;
end;
isdigit := check;
end;
function find_max_len;
var
i : integer;
nums : id_max;
begin
max_len := 0;
for i:= 1 to sum_words do
if isdigit(arr_words[i, 1]) then
if length(arr_words[i]) > max_len then
begin
max_count := 1;
nums[max_count] := i;
max_len := length(arr_words[i]);
end
else
if (length(arr_words[i]) = max_len) and (max_len > 0) then
begin
max_count := max_count + 1;
nums[max_count] := i;
end;
find_max_len := nums;
end;
end.