1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code], либо быть опубликованы на нашем PasteBin в режиме вечного хранения.
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. |
скуба Поиск строк и столбцов в матрице 5.11.2004 2:54
volvo скуба
Матрица квадратная или произвольная? 5.11.2004 2:57
GoodWind Заголовок изменен на более информативный 5.11.2004 8:40![]() ![]() |
|
Текстовая версия | 23.11.2025 9:06 |