Сделайте одномерный массив, поменяйте местами первый элемент кратный 7 и средний

Сделайте одномерный массив, поменяйте местами 1-ый элемент кратный 7 и средний элемент,решить на Pascal ABC.

Задать свой вопрос
2 ответа
// 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 kgt;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
Осонова Полина
Можешь переделать с процедурой
Елизавета Канеева
Переработать ответ после истечения 2-ух часов невероятно
//PascalABC.NET 3.0 сборка 1139 (10.01.2016)

begin
    var a := ArrRandom(10, 1, 100);
    a.Println;
    if not a.Any(x -gt; 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.
Denis Dzhagirov
так и не отыскала функции поиска элемента в массиве, которая отдаёт индекс
Коля Фаттахейдинов
А её и нет. Пока нет.
Илюша Габриэльянуа
А в Вашей версии и не будет, она грешно устарела.
Леонид
То, о чем Вы спрашивали, появилось - работа с индексом.
Виолетта Чуклеева
прикольно
, оставишь ответ?
Имя:*
E-Mail:


Добро пожаловать!

Для того чтобы стать полноценным пользователем нашего портала, вам необходимо пройти регистрацию.
Зарегистрироваться
Создайте собственную учетную запить!

Пройти регистрацию
Авторизоваться
Уже зарегистрированны? А ну-ка живо авторизуйтесь!

Войти на сайт