?>
написать программу к вот такому заданию: Дана строка S, состоящая из слов, отделённых друг от друга одним или несколькими пробелами. Некоторые слова могут быть целыми числами. Найдите числа в строке и расположите цифры в этих числах в порядке убывания. Напишите процедуру chisla, в которую передаётся исходная строка S, и которая возвращает эту же строку S с измененными числами. Опишите и используйте вс функцию sort типа longint, которая располагает цифры в числе в порядке убывания. Параметр функции sort должен иметь тип longint. Я уже написал функцию sort, но она что-то не заводится, вот она: function sort(x:longint):longint; var M: array[1..100] of integer; n, w, y, i, j:integer; begin for i:=1 to length(x) do; begin m[i]:=x mod 10; x:=x mod 10; end; y:=32767; j:=1; for i:=1 to length(x) do begin if m[i] begin n:=i; w:=m[i]; m[j]:=m[i]; j:=j+1; end; end; end;
Ответы
program Geom;
program Test_nn;
{$APPTYPE CONSOLE}
{$R *.res}
uses
Math;
var
a: array of Extended;
n, i, c: Integer;
x: Extended;
begin
Write ('Размерность массива = ');
ReadLn (n);
SetLength (a, n);
Randomize;
for i := Low (a) to High (a) do begin
a [i] := (Random (2001) - 1000) / 1000;
Write (a [i] :7 :3);
end;
x := 1;
c := 1;
WriteLn;
for i := Low (a) to High (a) do begin
if a [i] > 0 then begin
Write (a [i] :7 :3);
x := x * a [i];
Inc (c);
end;
end;
WriteLn;
WriteLn ('Среднее геометрическое = ', Power (x, 1/c) :20 :15);
ReadLn;
end.