Вопрос задан 21.01.2020 в 04:57. Предмет Информатика. Спрашивает Кардат Милана.

Дана прямоугольная матрица. Найти количество нулевых элементов каждого столбца матрицы и

отсортировать столбцы по убыванию этих характеристик. ПАСКАЛЬ
0 0
Перейти к ответам

Ответы на вопрос

Внимание! Ответы на вопросы дают живые люди. Они могут содержать ошибочную информацию, заблуждения, а также ответы могут быть сгенерированы нейросетями. Будьте внимательны. Если вы уверены, что ответ неверный, нажмите кнопку "Пожаловаться" под ответом.
Отвечает Коновальчук Юлія.
//PascalABC.NET 3.2 сборка 1318

Const
  n=3;
  m=4;


Var 
 ma:array[1..n,1..m] of integer;
  ZeroCount:array[1..m] of integer;
  i,j,k,buf:integer;
begin
for i:=1 to n do
  for j:=1 to m do
    readln(ma[i][j]);
 writeln('Matrix:');
 for i:=1 to n do
  begin
    for j:=1 to m do
      write(ma[i][j]:4);
    writeln;
  end;
writeln('Count of zero elements:');
for j:=1 to m do
begin
  for i:=1 to n do
    if ma[i][j]=0 then inc(ZeroCount[j]);
  writeln(j,':',ZeroCount[j]);
end;
for i:=1 to m-1 do
  for j:=i+1 to m do
    if ZeroCount[i]<ZeroCount[j] then
      begin
        for k:=1 to n do
          begin
            buf:=ma[k][i];
            ma[k][i]:=ma[k][j];
            ma[k][j]:=buf;
          end;
        buf:=ZeroCount[i];
        ZeroCount[i]:=ZeroCount[j];
        ZeroCount[j]:=buf;
     end;
writeln('Final matrix:');
for i:=1 to n do
begin
  for j:=1 to m do
    write(ma[i][j]:4);
  writeln;
end;
end.

Пример работы программы:
Matrix:
   2   0   0  -1
   0   0   1  -1
  -2  -2   1  -2
Count of zero elements:
1:1
2:2
3:1
4:0
Final matrix:
   0   2   0  -1
   0   0   1  -1
  -2  -2   1  -2
0 0
Отвечает нейросеть ChatGpt. Будьте внимательны, ответы нейросети могут содержать ошибочные или выдуманные данные.

Хорошо, давай пошагово разберемся с задачей на языке Паскаль. Первым шагом будет определение матрицы и ее размеров. Предположим, что у нас есть матрица `A` размером `m x n`, где `m` - количество строк, а `n` - количество столбцов. Теперь создадим процедуру для решения задачи:

```pascal program CountAndSortZeros;

const MAX_SIZE = 100; // Максимальный размер матрицы

type Matrix = array[1..MAX_SIZE, 1..MAX_SIZE] of Integer;

var A: Matrix; m, n: Integer;

// Процедура для ввода матрицы procedure InputMatrix(var A: Matrix; var m, n: Integer); var i, j: Integer; begin Write('Введите количество строк m: '); Readln(m); Write('Введите количество столбцов n: '); Readln(n);

WriteLn('Введите элементы матрицы:'); for i := 1 to m do for j := 1 to n do Read(A[i, j]); end;

// Процедура для нахождения количества нулевых элементов в каждом столбце procedure CountZerosInColumns(const A: Matrix; m, n: Integer; var ZerosCount: array of Integer); var i, j: Integer; begin for j := 1 to n do begin ZerosCount[j] := 0; for i := 1 to m do if A[i, j] = 0 then Inc(ZerosCount[j]); end; end;

// Процедура для сортировки столбцов по убыванию количества нулевых элементов procedure SortColumnsByZerosCount(var A: Matrix; m, n: Integer; const ZerosCount: array of Integer); var i, j, temp: Integer; sorted: Boolean; begin repeat sorted := True; for j := 1 to n - 1 do if ZerosCount[j] < ZerosCount[j + 1] then begin // Поменять местами столбцы for i := 1 to m do begin temp := A[i, j]; A[i, j] := A[i, j + 1]; A[i, j + 1] := temp; end;

// Поменять местами количество нулевых элементов temp := ZerosCount[j]; ZerosCount[j] := ZerosCount[j + 1]; ZerosCount[j + 1] := temp;

sorted := False; end; until sorted; end;

// Процедура для вывода отсортированной матрицы procedure OutputMatrix(const A: Matrix; m, n: Integer); var i, j: Integer; begin WriteLn('Отсортированная матрица:'); for i := 1 to m do begin for j := 1 to n do Write(A[i, j], ' '); WriteLn; end; end;

// Основная программа begin InputMatrix(A, m, n);

// Создаем массив для хранения количества нулевых элементов в каждом столбце var ZerosCount: array[1..MAX_SIZE] of Integer;

CountZerosInColumns(A, m, n, ZerosCount); SortColumnsByZerosCount(A, m, n, ZerosCount); OutputMatrix(A, m, n); end. ```

Надеюсь, это поможет!

0 0

Топ вопросов за вчера в категории Информатика

Последние заданные вопросы в категории Информатика

Задать вопрос