Четные и нечетные числа матрицы

Задача

Заполнить матрицу случайными целыми неотрицательными числами. Вывести на экран матрицу в табличном виде так, чтобы сначала шли нечетные числа, затем четные. Также вывести количество четных и нечетных чисел в матрице.

Решение

 

Описание переменных: 

e, o - количество четных и нечетных чисел.

Алгоритм решения задачи: 

После заполнения матрицы будем выводить на экран только нечетные числа. При этом считать их количество. Когда количество выведенных элементов будет кратно количеству элементов в строке матрицы, то будем переходить на новую строку.

После вывода нечетных чисел будем выводить четные и считать их количество. В данном случае переход на новую строку определяется кратностью суммы количества нечетных и уже посчитанных четных чисел количеству элементов в строке матрицы.

Программа на языке Паскаль: 

 

const N = 5; M = 10;
var 
    mtx: array[1..N,1..M] of byte;
    i,j: byte;
    e,o: byte;
begin
    randomize;
    for i:=1 to N do
        for j:=1 to M do
            mtx[i,j] := random(21);
 
    o := 0;
    for i:=1 to N do
        for j:=1 to M do 
            if odd(mtx[i,j]) then begin
                write(mtx[i,j]:4);
                o := o + 1;
                if o mod M = 0 then
                    writeln;
            end;
 
 
    e := 0;
    for i:=1 to N do
        for j:=1 to M do 
            if not odd(mtx[i,j]) then begin
                write(mtx[i,j]:4);
                e := e + 1;
                if (e+o) mod M = 0 then
                    writeln;
            end;
 
    writeln('Odd:  ',o);
    writeln('Even: ',e);
end.

 

Пример выполнения программы:

   5   5  17   5   7  15  11   3  19  13
  15  17  15   1  11  13   1  17   3  15
   7  17   7  10   0  18   4   8  10  14
  12   0  16   6   8   8  12  16   8   6
  18  12  18  16   4  14  14  14  12   4
Odd:  23
Even: 27

 

Тема

Матрицы

Уровень

Комбинированные задачи

Добавить комментарий