Создайте одномерный массив, поменяйте местами первый элемент кратный 7 и средний элемент,решить на pascal abc.

sofiabts sofiabts    3   20.07.2019 14:30    1

Ответы
riblika11 riblika11  03.10.2020 08:54
// 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
ПОКАЗАТЬ ОТВЕТЫ
123Gopo 123Gopo  03.10.2020 08:54
//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.
ПОКАЗАТЬ ОТВЕТЫ
Другие вопросы по теме Информатика