![]() |
1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!
![]() |
скуба |
![]()
Сообщение
#1
|
Гость ![]() |
Разработать программу для решения указанной ниже задачи.
поиск строк и столбцов и преобразования матрицы оформить в виде подпрограммы.Ввод и вывод осуществлять только в главной программе.Глобальные переменные не использовать. В заданной матрице поменять местами столбцы,содержащие следущие элементы: последний нулевой и максимальный по абсолютной величине |
![]() ![]() |
volvo |
![]()
Сообщение
#2
|
Гость ![]() |
Хотя неважно...
Код const rows = 3; columns = 5; { Если матрица квадратная, можно установить columns = rows; } type matrix = array[1 .. rows, 1 .. columns] of integer; procedure find_nil(m: matrix; var col: integer); var i, j: integer; begin for i := 1 to rows do for j := 1 to columns do if m[i, j] = 0 then col := j end; procedure find_max(m: matrix; var col: integer); var i, j, maxval: integer; begin maxval := -maxint; for i := 1 to rows do for j := 1 to columns do if maxval < abs(m[i, j]) then begin maxval := abs(m[i, j]); col := j end; end; { Замена столбцов } procedure change_cols(var m: matrix; first, second: integer); var i, T: integer; begin for i := 1 to rows do begin T := m[i, first]; m[i, first] := m[i, second]; m[i, second] := T end; end; { Вывод матрицы } procedure printMatrix(m: matrix); var i, j: integer; begin for i := 1 to rows do begin for j := 1 to columns do write( m[i, j]:4 ); writeln end; end; var m: matrix; i, j, i_nil, i_max: integer; begin for i := 1 to rows do begin writeln( 'row #', i ); for j := 1 to columns do begin write( 'm[', i, ', ', j, '] >'); readln(m[i, j]); end; writeln; end; writeln( 'Перед заменой столбцов:' ); printMatrix(m); find_nil(m, i_nil); find_max(m, i_max); change_cols(m, i_nil, i_max); writeln( 'После замены столбцов:' ); printMatrix(m); end. |
![]() ![]() |
![]() |
Текстовая версия | 20.06.2025 23:58 |