Создайте одномерный массив, поменяйте местами первый элемент кратный 7 и средний элемент,решить на Pascal ABC.
Создайте одномерный массив, поменяйте местами первый элемент кратный 7 и средний элемент,решить на Pascal ABC.
Ответ(ы) на вопрос:
Гость
// PascalABC.NET 3.1, сборка 1179 от 29.02.2016
const
n=15;
var
a:array[1..n] of integer;
i,k,t:integer;
begin
Randomize;
k:=0;
for i:=1 to n do begin
a[i]:=Random(90)+10;
if k=0 then
if a[i] mod 7 = 0 then k:=i;
Write(a[i],' ')
end;
Writeln;
if k>0 then begin
if Odd(n) then i:=n div 2+1
else i:=n div 2;
t:=a[k]; a[k]:=a[i]; a[i]:=t;
for i:=1 to n do Write(a[i],' ');
Writeln
end
else Writeln('Нет элементов, кратных 7')
end.
Тестовое решение:
25 25 47 22 51 63 92 11 38 32 87 54 11 16 18
25 25 47 22 51 11 92 63 38 32 87 54 11 16 18
Гость
//PascalABC.NET 3.0 сборка 1139 (10.01.2016)
begin
var a := ArrRandom(10, 1, 100);
a.Println;
if not a.Any(x -> x mod 7 = 0) then begin
writeln('нет элемента, что делится на 7');
Halt();
end;
var n7 := 0;
for var i := Low(a) to High(a) do
if a[i] mod 7 = 0 then begin
n7 := i;
break;
end;
var t := a[(Low(a) + High(a)) div 2];
a[(Low(a) + High(a)) div 2] := a[n7];
a[n7] := t;
a.Println;
end.
Не нашли ответ?
Похожие вопросы