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

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

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

> Преобразование матрицы, Сложная задача
сообщение
Сообщение #1


Новичок
*

Группа: Пользователи
Сообщений: 11
Пол: Женский

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


Я еще плохо разбираюсь в массивах и у меня не получается решить эту задачу, помогите пожалуйста.

Назовем допустимым преобразованием матрицы смещение строк матрицы на одну снизу вверх и столбцов на один справа налево, при этом первая строка опускается вниз, а первый столбец становится последним. Дана действительная квадратная матрица порядка n. С помощью допустимых преобразований добиться того, чтобы элемент матрицы, обладающий наименьшим значением, располагался в левом верхнем углу матрицы.

Заранее благодарна

Сообщение отредактировано: irena -
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
 
 Ответить  Открыть новую тему 
Ответов
сообщение
Сообщение #2





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

Репутация: -  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.


Мне нужно ч тоб максимальный элемент находился в верхнем левом углу.А у меня это не выходит.

Сообщение отредактировано: volvo -
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

Сообщений в этой теме
irena   Преобразование матрицы   20.10.2004 23:55
volvo   irena Уточнение: допустимая операция делает эти …   21.10.2004 0:12
irena   volvo по отдельности   21.10.2004 0:29
volvo   const  n = 5;  maxValue = 150000.0;  { С этой …   21.10.2004 1:13
loko   А чё нужно поменять чтоб максимальный элемент был …   8.05.2006 17:48
irena   Здорово! Только не понятно что такое Pred(coun…   21.10.2004 4:31
volvo   это получить предыдущее значение ( = count_row - …   21.10.2004 4:36
volvo   Я сделал для 10-ти элементов ... измени n на 100 и…   21.10.2004 4:53
volvo   Вот тут: { Находим минимальное значение в матрице…   8.05.2006 17:55
loko   Нужно находить не минимальное значение, а максимал…   8.05.2006 18:53
volvo   Да что ты говоришь? До какой же степени нужно …   8.05.2006 19:06
loko   вот ещё один последний вопрос по этой программе. Е…   8.05.2006 19:35
loko   Пожалуйста посмотрите что у меня в коде программы …   9.05.2006 13:47
Malice   Пожалуйста посмотрите что у меня в коде программы…   9.05.2006 17:23


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

 





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