• Cоставить программу записи в массив B номеров четных элементов массива A.

    Как можно проще, пожалуйста

Ответы 2

  • Const   N = 13;Var   A,B:array[1..N] of integer;   i,j:integer;Beginj:=0;Write('Массив A(',N,'):');For i:= 1 to N do    Begin    A[i]:=random(N);    Write(' ',A[i]);    if A[i] mod 2 = 0 then       Begin       j:=j+1;       B[j]:=i;       End;    End;WriteLn;Write('Массив B(',j,'):');For i:= 1 to j do    Write(' ',B[i])End.Пример работы программы:Массив A(13): 1 11 9 11 12 2 6 12 0 10 8 11 10Массив B(8): 5 6 7 8 9 10 11 13
  • 1. Современное решение// PascalABC.NET 3.2, сборка 1417 от 28.03.2017// Внимание! Если программа не работает, обновите версию!begin  var a:=ArrRandom(ReadInteger('n='),-50,50); a.Println;  var b:=a.Select((x,i)->(x,i)).Where(xi->xi[0].IsEven)      .Select(xi->xi[1]+1).ToArray;   b.Printlnend.Пример работыn= 1546 -35 43 17 34 48 17 46 15 -45 13 -50 -46 13 421 5 6 8 12 13 152. Школьное решение в стиле "ТурбоПаскаль 1983г."const  nn=500;var  i,n,k:integer;  a,b:array[1..nn] of integer;begin  Write('n=');  Read(n);  Randomize;  k:=0;  for i:=1 to n do begin    a[i]:=Random(101)-50;    Write(a[i],' ');    if a[i] mod 2 = 0 then begin      k:=k+1;      b[k]:=i      end    end;  Writeln;  for i:=1 to k do    Write(b[i],' ');  Writelnend.Может, оно кому-то проще, но 23 строки против 5 - явно не упрощение)))Не говоря о том, что дольше писать и больше шансов наделать ошибок.
    • Автор:

      rickycizd
    • 5 лет назад
    • 0
  • Добавить свой ответ

Войти через Google

или

Забыли пароль?

У меня нет аккаунта, я хочу Зарегистрироваться

How much to ban the user?
1 hour 1 day 100 years