var
A, Ap, Ao: array [1..14] of Integer;
i, c, cp, co: Integer;
s: Real;
begin
Randomize;
WriteLn ('Mассив:');
for i := Low (A) to High (A) do begin
A [i] := Random (201) - 100;
Write (A [i], ' ');
end;
cp := 0;
co := 0;
for i := Low (A) to High (A) do begin
if A [i] > 0 then begin
cp := cp + 1;
Ap [cp] := A [i];
end else begin
co := co + 1;
Ao [co] := A [i];
end;
end;
c := Low (A);
for i := 1 to cp do begin
A [c] := Ap [i];
c := c + 1;
end;
for i := 1 to co do begin
A [c] := Ao [i];
c := c + 1;
end;
WriteLn;
WriteLn ('Результат: ');
for i := Low (A) to High (A) do begin
Write (A [i], ' ');
end;
WriteLn;
WriteLn ('Количество положительных элементов массива = ', cp);
end.
Сначала сделал с рекурсивной функции, но затруднение было только с суммой элементов, по этому написал через цикл как впрочем и должно быть.
Console.WriteLine("Введите число");
int x = Convert.ToInt32(Console.ReadLine());
int y = x;
int sum = 0;
for (int i = 0; i < 4; i++)
{
y = x % 10;
x = x / 10;
Console.Write(y);
sum = sum + y;
}
Console.Write(" = " + sum);
Console.ReadLine();
Поделитесь своими знаниями, ответьте на вопрос:
// Внимание! Если программа не работает, обновите версию!
begin
Writeln(Range(1,100).Aggregate(BigInteger(1),(x,y)->x*y))
end.
Результат
93326215443944152681699238856266700490715968264381621468592963895217599993229915608941463976156518286253697920827223758251185210916864000000000000000000000000