12. Даны матрицы А(5,6) и В(5,6). Из наибольших частей столбцов матрицы

12. Даны матрицы А(5,6) и В(5,6). Из максимальных элементов столбцов матрицы А сформировать вектор С. Из малых частей столбцов матрицы В сформировать вектор D. Если количество четных частей в векторе С больше количества четных частей в векторе D, то добавить вектор С в матрицу А 6-ой строчкой, иначе соединить два вектора С и D в один М(12). Pascal ABC

Задать свой вопрос
1 ответ
Var
  A, B: array [1 .. 6, 1 .. 6] of byte;
  C, D: array [1 .. 6] of byte;
  M: array [1 .. 12] of byte;
  i, j, MIN, MAX, evenCountC, evenCountD: byte;

begin
  randomize;
  for j := 1 to 6 do
  begin
    MAX := 0; MIN := 100;
    evenCountC := 0; evenCountD := 0;
    for i := 1 to 5 do
    begin
      A[i, j] := random(20);
      B[i, j] := random(20);
      if A[i, j] gt; MAX then MAX := A[i, j];
      if B[i, j] lt; MIN then MIN := B[i, j];
    end;
    C[j] := MAX;
    D[j] := MIN;
  end;
  writeln('      ***Матрица A***');
  for i := 1 to 5 do
  begin
    for j := 1 to 6 do write(A[i, j]:4);
    writeln;
  end;
  writeln;
  writeln('      ***Матрица B***');
  for i := 1 to 5 do
  begin
    for j := 1 to 6 do write(B[i, j]:4);
    writeln;
  end;
  writeln;
  writeln('***Вектор C***');
  for i := 1 to 6 do
  begin
    writeln(C[i]:7);
    if C[i] mod 2 = 0 then evenCountC := evenCountC + 1;
  end;
  writeln('Количество четных частей в векторе C = ', evenCountC);
  writeln;
  writeln('***Вектор D***');
  for i := 1 to 6 do
  begin
    writeln(D[i]:7);
    if D[i] mod 2 = 0 then evenCountD := evenCountD + 1;
  end;
  writeln('Количество четных элементов в векторе D = ', evenCountD);
  if evenCountC gt; evenCountD then
  begin
    writeln('Прибавляем вектор C к матрице A.');
    for i := 1 to 6 do A[6, i] := C[i];
    writeln('  ***Модифицированная матрица A***');
    for i := 1 to 6 do
    begin
      for j := 1 to 6 do write(A[i, j]:4);
      writeln;
    end;
  end
  else
  begin
    writeln('Соединяем два вектора C и D.');
    writeln('Новый вектор M');
    for i := 1 to 6 do M[i] := C[i];
    for i := 7 to 12 do M[i] := D[i - 6];
    for i := 1 to 12 do writeln(M[i]:7);
  end;
  readln;
end.
, оставишь ответ?
Имя:*
E-Mail:


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

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

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

Войти на сайт