1-11 класс
  • 1-11 класс
  • 1 класс
  • 2 класс
  • 3 класс
  • 4 класс
  • 5 класс
  • 6 класс
  • 7 класс
  • 8 класс
  • 9 класс
  • 10 класс
  • 11 класс
Выберите класс
Предметы
Семакин
Работа 3.7 Упр.25 ГДЗ Семакин 10 класс (Информатика)
Семакин, Хеннер, Шеина
10 класс
Автор
Семакин, Хеннер, Шеина

Работа 3.7 Упр.25 ГДЗ Семакин 10 класс (Информатика)

Задача

Рассмотрим вариант решения задания из учебника Семакин, Хеннер, Шеина 10 класс, Бином: 25. Расположить столбцы матрицы D[M, N] в порядке возрастания элементов k-й строки (1 < = k < = М). *Цитирирование задания со ссылкой на учебник производится исключительно в учебных целях для лучшего понимания разбора решения задания. 10 semakin10 pract/3-7/25 98

Подробный ответ

Нужно переставить столбцы матрицы так, чтобы элементы k-й строки в них шли по возрастанию. Удобно сделать это последовательными обменами соседних столбцов, если в выбранной строке левый элемент больше правого.

Для матрицы $$D[M,N]$$ алгоритм такой:

  • считываем или задаём матрицу;
  • вводим номер строки $$k$$;
  • сравниваем элементы $$D[k,j]$$ и $$D[k,j+1]$$;
  • если $$D[k,j] > D[k,j+1]$$, то меняем местами все элементы столбцов $$j$$ и $$j+1$$;
  • после прохода по всем соседним парам столбцов получаем нужный порядок.

Программа на Pascal:

const n=5;
var a:array[1..n,1..n] of integer;
i,j,k,l,buf:integer;

begin
  randomize;

  writeln(‘Исходная матрица’);
  for i:=1 to n do
  begin
    for j:=1 to n do
    begin
      a[i,j]:=random(1000);
      write(a[i,j]:4);
    end;
    writeln;
  end;

  writeln(‘Номер строки -> ‘);
  readln(k);

  for i:=1 to n do
    for j:=1 to n-1 do
      if a[k,j] > a[k,j+1] then
      begin
        for l:=1 to n do
        begin
          buf:=a[l,j];
          a[l,j]:=a[l,j+1];
          a[l,j+1]:=buf;
        end;
      end;

  writeln(‘Преобразованная матрица’);
  for i:=1 to n do
  begin
    for j:=1 to n do write(a[i,j]:4);
    writeln;
  end;
  readln;
end.

В этой программе сортировка столбцов выполняется по значениям выбранной строки $$k$$, а при обмене меняются элементы всех строк в двух соседних столбцах.

Ответ

Столбцы матрицы переставляются по возрастанию элементов $$k$$-й строки; приведённая программа выполняет это с помощью последовательных обменов соседних столбцов.



Общая оценка
4.9 / 5
Другие учебники
Другие предметы