okabankova7
?>

Удалить максимальный и минимальный элемент массива на паскале​

Информатика

Ответы

kuharhuks
Const
  m = 5;
  n = 8;

var
  x: array[1..m, 1..n] of integer;
  i, j, a, b, k: integer;

begin
  write('Введите числа a,b: ');
  readln(a, b);
  Randomize;
  writeln(#13#10, 'Исходный массив');
  for i := 1 to m do
  begin
    for j := 1 to n do
    begin
      x[i, j] := Random(100) - 50;
      write(x[i, j]:5)
    end;
    writeln
  end;
  writeln('Количество элементов матрицы, кратных ', a);
  for j := 1 to n do
  begin
    k := 0;
    for i := 1 to m do
      if x[i, j] mod a = 0 then k := k + 1;
    write(k:5)
  end;
  writeln;
  writeln('Количество элементов матрицы, кратных ', b);
  for j := 1 to n do
  begin
    k := 0;
    for i := 1 to m do
      if x[i, j] mod b = 0 then k := k + 1;
    write(k:5)
  end;
  writeln
end.

Тестовое решение:

Введите числа a,b: 4 7

Исходный массив
  -16    3   26    4   46   -6  -31   21
  -35  -34   46   42   15  -26   -9    4
  -19  -47    8  -48   13   14   42  -46
   41  -10   13   45  -20   15   13  -44
   18  -11   23  -30   44  -36   -8  -42
Количество элементов матрицы, кратных 4
    1    0    1    2    2    1    1    2
Количество элементов матрицы, кратных 7
    1    0    0    1    0    1    1    2

Паскаль. , дан двумерный массив целых чисел. в каждом столбце найти количество элементов кратных a и
Паскаль. , дан двумерный массив целых чисел. в каждом столбце найти количество элементов кратных a и
dedald
Const
  n = 50;

var
  a: array[1..n] of integer;

procedure ShiftRight(ip: integer);
// сдвигает к началу массива все элементы. расположенные за ip
var
  i: integer;
begin
  for i := ip to n - 1 do a[i] := a[i + 1];
  a[n] := -32768
end;

var
  i, j, mx, px: integer;

begin
  Randomize;
  writeln('Исходный массив');
  mx := -100;
  px := 0;
  for i := 1 to n do
  begin
    a[i] := Random(30) - 15;
    write(a[i]:4);
    if mx < a[i] then begin
      mx := a[i];
      px := i
    end
  end;
  writeln;
  writeln('Результирующий массив');
  if px = n then
    for i := 1 to n - 1 do writeln(a[i]:4)
  else
  begin
    for i := 1 to px - 1 do write(a[i]:4);
    ShiftRight(px);
    i := px;
    while (i <= n) and (a[i] <> -32768) do
      if a[i] < mx then
      begin
        write(a[i]:4);
        i := i + 1
      end
      else ShiftRight(i)
  end;
  writeln
end.

Тестовый пример:

Исходный массив
   1   2 -13   0  -2  14 -15   4  -6  -3  14   4 -10  -7  -5  11  -1 -10   9 -10 -12  14   4  -9  -5 -14   9  -9   9   5   3 -10 -15  -3   4 -14 -10   7   1 -11  -8 -15   5  -6   9  -3   9 -14  -3   1
Результирующий массив
   1   2 -13   0  -2 -15   4  -6  -3   4 -10  -7  -5  11  -1 -10   9 -10 -12   4  -9  -5 -14   9  -9   9   5   3 -10 -15  -3   4 -14 -10   7   1 -11  -8 -15   5  -6   9  -3   9 -14  -3   1

Ответить на вопрос

Поделитесь своими знаниями, ответьте на вопрос:

Удалить максимальный и минимальный элемент массива на паскале​
Ваше имя (никнейм)*
Email*
Комментарий*