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

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

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

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


Новичок
*

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

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


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

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

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

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


Гость






Я сделал для 10-ти элементов ... измени n на 100 и добавь недостающие значения в массив...

Код

const
 n = 10;

 arr: array[ 1 .. n ] of integer =
   (2, 5, 8, 3, 9, 42, 5, 6, 14, 28);

{ нам не нужно само мин. или макс. значение -
 ищем только его индекс }
function minIndex: integer;
 var
   i: integer;
   min: integer;
 begin
   min := maxInt;
   for i := 1 to n do
     if min > arr[i] then
       begin
         min := arr[i]; minIndex := i
       end;
 end;

function maxIndex: integer;
 var
   i: integer;
   max: integer;
 begin
   max := - maxInt;
   for i := 1 to n do
     if max < arr[i] then
       begin
         max := arr[i]; maxIndex := i
       end;
 end;

var
 start_count, stop_count: integer;
 T, i, s: integer;
begin
 start_count := minIndex;
 stop_count := maxIndex;

 { если макс. число стояло перед мин. числом - меняем индексы местами }
 if start_count > stop_count then
   begin
     T := start_count;
     start_count := stop_count;
     stop_count := T;
   end;

 s := 0;
 for i := start_count to stop_count do
   s := s + arr[i];

 writeln( 's = ', s );
end.


Сообщение отредактировано: volvo - 21.10.2004 0:58
 К началу страницы 
+ Ответить 

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


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

 



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