// F#
[<EntryPoint>]
let main argv =
let getRandomCollection n =
let rand = new System.Random()
Array.map (fun x -> rand.Next(-10, 10)) [| 1..n |]
let inputArray = getRandomCollection 15
printf "source array: %A\n" (inputArray |> Array.toList)
// First part
printf "numberToCheckOnEqual: "
let numberToCheckOnEqual = System.Console.ReadLine() |> System.Int32.Parse
let indecesEqualsToNumber =
inputArray
|> Array.mapi (fun i x -> (x, i))
|> Array.filter (fun (x, i) -> x = numberToCheckOnEqual)
|> Array.map (fun (x, i) -> i)
|> Array.toList
printf "%d equals to %d: %A\n" (indecesEqualsToNumber |> List.length) numberToCheckOnEqual indecesEqualsToNumber
// Second part
printf "a: "
let a = System.Console.ReadLine() |> System.Int32.Parse
printf "b: "
let b = System.Console.ReadLine() |> System.Int32.Parse
let sum =
inputArray.[a..b]
|> Array.sum
printf "sum of array [%d..%d]: %d\n" a b sum
// Last part
let finalArray =
inputArray
|> Array.map (fun x -> if x < 0 then x*x else x)
printf "final array: %A" finalArray
System.Console.ReadKey true |> ignore
0
Значение переменной y в команде x:=x+y не меняется, т.е y=25
x(новое) = x(старое)+y ⇒ x(старое) = x(новое)-y = 7-25 = -18
Ответ: x=-18; y=25
var
i, k, n: integer;
begin
read(n);
for i := 10 to 99 do
if i mod 10 + i div 10 = n then begin
writeln(i);
k := k + 1;
end;
writeln('k = ', k);
end.
<h3>PascalABC.NET 3.4.2, сборка 1884 от 24.11.2018</h3><h3>Внимание! Если программа не работает, обновите версию!</h3>
begin
var a := ArrRandom(7, 10, 15);
a.Println;
var i := a.IndexMin;
Writeln('min a[', i + 1, '] = ', a[i])
end.
<h2>Пример</h2><h3>15 12 10 13 12 13 10</h3><h3>min a[3] = 10</h3>