Решить задачи:
1) Заполнить одномерный массив из 8 элементов вручную. Вывести эти элементы и вывести квадраты этих чисел (Примечание: если с элементами массива нужно выполнить какие-то действия, то нужен третий цикл).
2) Заполнить одномерный массив из пяти элементов случайным образом в промежутке от 0 до 10. Вывести эти элементы и вывести удвоенные значения этих элементов.
var x : array[1..n] of real;
i : integer; min : real;
begin
Randomize;
writeln('Исходный массив:');
for i:=1 to n do
begin
x[i]:=20*random-10;
write(x[i]:6:2,' ');
end;
writeln;
min:=x[1];
for i:=2 to n do
if x[i] < min then min:=x[i];
writeln('min=',min:6:2);
for i:=1 to n do
if x[i]<0 then x[i]:=min;
writeln('Измененный массив:');
for i:=1 to n do write(x[i]:6:2,' ');
end.
Пример:
Исходный массив:
-7.84 -9.97 7.00 -8.26 -7.71 -3.88 7.59 -2.32
min= -9.97
Измененный массив:
-9.97 -9.97 7.00 -9.97 -9.97 -9.97 7.59 -9.97
Так как язык не указан, приведу пример на SWI-Prolog.
Код:
read_int(Int) :- read(Int), integer(Int).split_int_by_numbers(0, []) :- !.split_int_by_numbers(N, [Number|Ints]) :- Number is mod(N, 10), RestN is div(N, 10), split_int_by_numbers(RestN, Ints).test_to_div(_, []).test_to_div(N, [Number|Ints]) :- mod(N, Number) =:= 0, test_to_div(N, Ints). test(Int) :- split_int_by_numbers(Int, Numbers), test_to_div(Int, Numbers), write(Int), write(" - Yes!"), nl.test(Int) :- write(Int), write(" - No!"), nl.?- read_int(Int), test(Int).