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

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

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

> Матричная задачка на паскале.
сообщение
Сообщение #1


Гость






Задача такая: Дана матрица А (m.n). Надо из матрицы А сделать матрицу B так,чтобы все столбцы матрицы А были упорядочены по убыванию максимальных элементов.Заранее спасибо. Пршограмма на паскале должна быть.
 К началу страницы 
+ Ответить 
 
 Ответить  Открыть новую тему 
Ответов
сообщение
Сообщение #2


Гость






Const
size_col = 6; { число столбцов }
size_row = 8; { число строк }
Type
TColumn = Array[1 .. size_row] Of Integer;
TRow = Array[1 .. size_col] Of Integer;

TMatrix = Array[1 .. size_col] Of TColumn;

Function GetMax(A: TMatrix; num_row: Integer): Integer;
Var max_value, i: Integer;
Begin
max_value := A[num_row][1];
For i := 2 To size_row Do
If max_value < A[num_row][i] Then
max_value := A[num_row][i];
GetMax := max_value
End;

Procedure Bubble(Var mx: TMatrix; Var row: TRow);
Var
i, j, Tint: Integer;
T: TColumn;
Begin
For i := 1 To size_col Do
For j := size_col DownTo i+1 Do
If row[Pred(j)] > row[j] Then Begin
Tint := row[Pred(j)]; row[Pred(j)] := row[j]; row[j] := Tint;
T := mx[Pred(j)]; mx[Pred(j)] := mx[j]; mx[j] := T;
End
End;

Procedure ReadMatrix(Var mx: TMatrix);
Var i, j: Integer;
Begin
For i := 1 To size_row Do Begin
WriteLn('row #', i);
For j := 1 To size_col Do Begin
Write('matrix[', j,',',i, ']: '); ReadLn(mx[j][i]);
End;
End;
End;

Procedure WriteMatrix(Var mx: TMatrix);
Var i, j: Integer;
Begin
For i := 1 To size_row Do Begin
For j := 1 To size_col Do Begin
Write(mx[j][i]:4);
End;
WriteLn
End;
End;

Var
max: TRow;
A, B: TMatrix;
i: integer;

begin
ReadMatrix(A);

B := A;
For i := 1 To size_col Do
max[i] := GetMax(A, i);
Bubble(B, max);

WriteMatrix(B);

end.

Больше полностью ничего не буду делать...
Все уже было написано во 2-ом посте, нужно было ТОЛЬКО собрать это в одну программу, неужели это НАСТОЛЬКО трудно?
 К началу страницы 
+ Ответить 

Сообщений в этой теме


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

 





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