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

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

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

> Очень сложная задача на двухмерный массив (или матрицу?)
сообщение
Сообщение #1


Новичок
*

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

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


Помогите пожалуйста с этой задачей если возможно сегодня(завтра у меня ПРЗ), в массивах не шарю совсем!

Дана матрица размером n X m. Переставляя её строки и столбцы,добиться того,чтобы наибольший элемент(или один из них) оказался в верхнем левом углу.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
 
 Ответить  Открыть новую тему 
Ответов
сообщение
Сообщение #2


Новичок
*

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

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


Спасибо за линк!Прочитал,но меня терзают смутные сомненья!
Если не трудно,ответьте удовлетворяет ли данный текст программы моей задаче?

const
n = 3;
m = 2;
maxValue = 150000.0;

var
matrix: array[1 .. n, 1 .. m] Of real;
min: real;
iRow, iColumn: Integer;
count_col, count_row: Integer;

{Процедура сдвигает матрицу вниз}
procedure moveRow;
var
i, j: integer;
T: real;
begin
for i := 1 to n do
begin
T := matrix[1, i];
for j := 2 to n do
matrix[j - 1, i] := matrix[j, i];
matrix[n, i] := T;
end;
end;

{Процедура сдвигает матрицу влево}
procedure moveColumn;
var
i, j: integer;
T: real;
begin
for i := 1 to m do
begin
T := matrix[i, 1];
for j := 2 to m do
matrix[i, j - 1] := matrix[i, j];
matrix[i, m] := T;
end;
end;

begin
writeln( 'Введите матрицу (построчно):' );
for iRow := 1 to n do
begin
WriteLn( 'Строка #', iRow );
for iColumn := 1 To m do
begin
write( 'matrix[', iRow, ',', iColumn, '] =' );
readln(matrix[iRow, iColumn])
End;
writeln;
end;

{Находим максимальное значение в матрице ... }
min := -maxValue;
for iRow := 1 to n do
for iColumn := 1 To m do
if min < matrix[iRow, iColumn] then
begin
min := matrix[iRow, iColumn];
{ ... и запоминаем его позицию }
count_row := iRow;
count_col := iColumn
end;

{ распечатываем исходную матрицу }
for iRow := 1 to n do
begin
for iColumn := 1 To m do
write( matrix[iRow, iColumn]:5:2 );
writeln;
end;

WriteLn;

{ сдвигаем нужное число раз }
{(Вниз)}
for iRow := 1 to Pred(count_row) Do moveRow;
{(Влево)}
for iColumn := 1 to Pred(count_col) Do moveColumn;

{распечатываем полученую матрицу }
for iRow := 1 to n do
begin
for iColumn := 1 To m do
write( matrix[iRow, iColumn]:5:2 );
writeln;
end;
end.

.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #3


Влюблённый псих
***

Группа: Пользователи
Сообщений: 185
Пол: Женский
Реальное имя: Лейла

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


а ты ее протестируй..и узнаешь, удовлетворяет она условию задачи или нет.....
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

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


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

 





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