IPB
ЛогинПароль:

> Прочтите прежде чем задавать вопрос!

1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code], либо быть опубликованы на нашем PasteBin в режиме вечного хранения.
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!

> Поиск строк и столбцов в матрице, помогите
сообщение
Сообщение #1


Гость






Разработать программу для решения указанной ниже задачи.
поиск строк и столбцов и преобразования матрицы оформить в виде подпрограммы.Ввод и вывод осуществлять только в главной программе.Глобальные переменные не использовать.
В заданной матрице поменять местами столбцы,содержащие следущие элементы: последний нулевой и максимальный по абсолютной величине
 К началу страницы 
+ Ответить 
 
 Ответить  Открыть новую тему 
Ответов(1 - 3)
сообщение
Сообщение #2


Гость






скуба

Матрица квадратная или произвольная?
 К началу страницы 
+ Ответить 
сообщение
Сообщение #3


Гость






Хотя неважно...

Код

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.
 К началу страницы 
+ Ответить 
сообщение
Сообщение #4


Автооответчик
*****

Группа: Пользователи
Сообщений: 1 188
Пол: Мужской
Реальное имя: Александр

Репутация: -  16  +


Заголовок изменен на более информативный


--------------------
Неадекватная чушь может быть адекватным ответом на неадекватный вопрос. Понятно или разжевать?
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 





- Текстовая версия 13.09.2025 0:29
500Gb HDD, 6Gb RAM, 2 Cores, 7 EUR в месяц — такие хостинги правда бывают
Связь с администрацией: bu_gen в домене octagram.name