В
Все
М
Математика
О
ОБЖ
У
Українська мова
Д
Другие предметы
Х
Химия
М
Музыка
Н
Немецкий язык
Б
Беларуская мова
Э
Экономика
Ф
Физика
Б
Биология
О
Окружающий мир
Р
Русский язык
У
Українська література
Ф
Французский язык
П
Психология
А
Алгебра
О
Обществознание
М
МХК
В
Видео-ответы
Г
География
П
Право
Г
Геометрия
А
Английский язык
И
Информатика
Қ
Қазақ тiлi
Л
Литература
И
История
uosup81821
uosup81821
16.01.2023 16:48 •  Информатика

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

Показать ответ
Ответ:
w0mk
w0mk
05.10.2020 09:43
//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(0 оценок)
Популярные вопросы: Информатика
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота