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

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

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

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


Гость






Задача такая: Дана матрица А (m.n). Надо из матрицы А сделать матрицу B так,чтобы все столбцы матрицы А были упорядочены по убыванию максимальных элементов.Заранее спасибо. Пршограмма на паскале должна быть.
 К началу страницы 
+ Ответить 
 
 Ответить  Открыть новую тему 
Ответов
volvo
сообщение 27.07.2005 14:50
Сообщение #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

 



- Текстовая версия 20.07.2025 22:18
Хостинг предоставлен компанией "Веб Сервис Центр" при поддержке компании "ДокЛаб"