IPB

Здравствуйте, гость ( Авторизация | Регистрация )


2 страниц V   1 2 >  
Closed TopicStart new topicGo to the end of the page
> Задача с матрицей на Turbo Pascal, Не могу никак решить...
Baxyz®
сообщение 24.05.2010 - 21:50
Сообщение #1


Активный
***

Текущее настроение:

Вст. ник | Цитата

Группа: Жители
Сообщений: 358
Регистрация: 6.10.2007
Пользователь №: 12546
Из: г. Следовск, мкрн. Жилино

Награды: 3
Подарки: 0

Имя: Дмитрий
Пол: М


Репутация:   19  

Дорогие посетители, помогите, пожалуйста, с задачей:

Дана матрица A(N,N) вещественных значений. Упорядочить по убыванию элементы каждой диагонали, параллельной побочной.


--------------------
Подарки: (Всего подарков: 0 )
У пользователя нет подарков




Go to the top of the pageGo to the end of the page
 
+Quote Post
Ахинея
сообщение 24.05.2010 - 22:09
Сообщение #2


Старейшина
**********

Текущее настроение:

Вст. ник | Цитата

Группа: Легенда
Сообщений: 12414
Регистрация: 8.06.2009
Пользователь №: 27737
Из: сострадания к ближнему

Награды: 205
Подарки: 171

Пол: ?


Репутация:   2880  

Цитата(Baxyz® @ 24.05.2010 - 23:49) *
Дана матрица A(N,N) вещественных значений. Упорядочить по убыванию элементы каждой диагонали, параллельной побочной.


А разве для большинства задач одновременное упорядочивание по обеим диагоналям не будет противоречеще? bm.gif


--------------------
Demons are a girl's best friends


--------------------
Подарки: (Всего подарков: 171 )
Подарок
Подарил(а): Снегурочка
Подарок
Подарил(а): льдинка
Подарок
Подарил(а): ShakuDancer




Go to the top of the pageGo to the end of the page
 
+Quote Post
Fоxik
сообщение 24.05.2010 - 22:12
Сообщение #3


Верю в чудеса
**********

Текущее настроение:

Вст. ник | Цитата

Группа: Творцы
Сообщений: 23040
Регистрация: 1.06.2007
Пользователь №: 10971

Награды: 131
Подарки: 194

Пол: ?


Репутация:   2809  

Цитата(Соловей @ 24.05.2010 - 23:08) *
А разве для большинства задач одновременное упорядочивание по обеим диагоналям не будет противоречеще? bm.gif

А может 2 упорядочивания по очереди?


--------------------
Передать смысл моей жизни, то же самое, что сыграть ногтями на доске пятую симфонию Бетховена.


--------------------
Подарки: (Всего подарков: 194 )



Go to the top of the pageGo to the end of the page
 
+Quote Post
Ахинея
сообщение 24.05.2010 - 22:13
Сообщение #4


Старейшина
**********

Текущее настроение:

Вст. ник | Цитата

Группа: Легенда
Сообщений: 12414
Регистрация: 8.06.2009
Пользователь №: 27737
Из: сострадания к ближнему

Награды: 205
Подарки: 171

Пол: ?


Репутация:   2880  

Цитата(Foxik @ 25.05.2010 - 0:11) *
А может 2 упорядочивания по очереди?


хз. Автор, уточните, желательно на примере.


--------------------
Demons are a girl's best friends


--------------------
Подарки: (Всего подарков: 171 )
Подарок
Подарил(а): Снегурочка
Подарок
Подарил(а): льдинка
Подарок
Подарил(а): ShakuDancer




Go to the top of the pageGo to the end of the page
 
+Quote Post
Ахинея
сообщение 24.05.2010 - 22:27
Сообщение #5


Старейшина
**********

Текущее настроение:

Вст. ник | Цитата

Группа: Легенда
Сообщений: 12414
Регистрация: 8.06.2009
Пользователь №: 27737
Из: сострадания к ближнему

Награды: 205
Подарки: 171

Пол: ?


Репутация:   2880  

Короче объявляешь 2 типа - квадратную матрицу и вектор размерности этой квадратной матрицы. Засовываешь в вектор значения диагонали, сортируешь и обратно присваеваешь матрице уже отсортированные значения.

Если надо обе диагонали, то тупо делай последовательно сначало с одной действия, а потом с другой.

» Кликните сюда для просмотра оффтоп текста.. «


--------------------
Demons are a girl's best friends


--------------------
Подарки: (Всего подарков: 171 )
Подарок
Подарил(а): Снегурочка
Подарок
Подарил(а): льдинка
Подарок
Подарил(а): ShakuDancer




Go to the top of the pageGo to the end of the page
 
+Quote Post
Baxyz®
сообщение 27.05.2010 - 0:34
Сообщение #6


Активный
***

Текущее настроение:

Вст. ник | Цитата

Группа: Жители
Сообщений: 358
Регистрация: 6.10.2007
Пользователь №: 12546
Из: г. Следовск, мкрн. Жилино

Награды: 3
Подарки: 0

Имя: Дмитрий
Пол: М


Репутация:   19  

Цитата(Соловей @ 24.05.2010 - 23:12) *
хз. Автор, уточните, желательно на примере.

Насколько я понял задание, то надо из матрицы
Код
2 1 7 3
4 3 2 8
5 6 7 1
9 7 5 3

надо сделать такую:
Код
2 4 7 3
1 5 2 8
3 6 7 5
9 7 1 3


--------------------
Подарки: (Всего подарков: 0 )
У пользователя нет подарков




Go to the top of the pageGo to the end of the page
 
+Quote Post
Ахинея
сообщение 27.05.2010 - 20:14
Сообщение #7


Старейшина
**********

Текущее настроение:

Вст. ник | Цитата

Группа: Легенда
Сообщений: 12414
Регистрация: 8.06.2009
Пользователь №: 27737
Из: сострадания к ближнему

Награды: 205
Подарки: 171

Пол: ?


Репутация:   2880  

Тогда как-то так(упорядочивание вектора любым способом):

Код
for i:=2 to n-1 do begin  {бежим со второй до предпоследней строчки так как первая диагональ будет из всего одного элемента, а последняя - сама побочная}
  for j:=1 to i do a[j]:=m[j,i-j+1]; {записываем выктор из элементов i-той диаганали}
   {упорядочивание вектора a из i элементов}
  for j:=1 to i do m[j,i-j+1]:=a[j]; {упорядоченную диагональ записываем обратно в матрицу}
end;


Если у нас матрица:

1 1 1 1
2 2 2 2
3 3 3 3
4 4 4 4

Мы замечаем, что диагональ, которая начинается со второй строки, состоит из 2х элементов, с 3ей строки - из 3х и т.д.

Это для того, что выше побочной диагонали, остальное делается также, индексы только по симметрии ищем.


--------------------
Demons are a girl's best friends


--------------------
Подарки: (Всего подарков: 171 )
Подарок
Подарил(а): Снегурочка
Подарок
Подарил(а): льдинка
Подарок
Подарил(а): ShakuDancer




Go to the top of the pageGo to the end of the page
 
+Quote Post
Baxyz®
сообщение 31.05.2010 - 19:10
Сообщение #8


Активный
***

Текущее настроение:

Вст. ник | Цитата

Группа: Жители
Сообщений: 358
Регистрация: 6.10.2007
Пользователь №: 12546
Из: г. Следовск, мкрн. Жилино

Награды: 3
Подарки: 0

Имя: Дмитрий
Пол: М


Репутация:   19  

Ещё вопрос возник - при
Код
var
a:array[1..10,1..10] of real;
n,i,j:integer;

программа обижается и выдаёт ошибку несоответствия типов. Что в таком случае лучше изменить?
» Кликните сюда для просмотра оффтоп текста.. «


--------------------
Подарки: (Всего подарков: 0 )
У пользователя нет подарков




Go to the top of the pageGo to the end of the page
 
+Quote Post
Ахинея
сообщение 31.05.2010 - 20:36
Сообщение #9


Старейшина
**********

Текущее настроение:

Вст. ник | Цитата

Группа: Легенда
Сообщений: 12414
Регистрация: 8.06.2009
Пользователь №: 27737
Из: сострадания к ближнему

Награды: 205
Подарки: 171

Пол: ?


Репутация:   2880  

Во-первых, что такое
Цитата(Baxyz® @ 31.05.2010 - 20:09) *
a[j]:=a[j,i-j+1];


Почему у них одинаковые имена? a[j,i-j+1] - это твоя матрица array[1..10,1..10] of real; А вот это a[j] - длжно быть вектором, т.е. array[1..10] of real; И имена у них должны быть разные, это совершенно разные переменные.

Во-вторых, Baxyz®, вместо строчки
Цитата(Baxyz® @ 31.05.2010 - 20:09) *
{упорядочивание вектора a из i элементов}


надо написать упорядочивание. К примеру:
Код
for k:=1 to n-1 do begin
  imax:=k;
  for l:=k to n do
     if a[l]>a[imax] then imax:=i
  t:=a[k]; a[k]:=a[l]; a[l]:=t;
end;





--------------------
Demons are a girl's best friends


--------------------
Подарки: (Всего подарков: 171 )
Подарок
Подарил(а): Снегурочка
Подарок
Подарил(а): льдинка
Подарок
Подарил(а): ShakuDancer




Go to the top of the pageGo to the end of the page
 
+Quote Post
Baxyz®
сообщение 31.05.2010 - 21:32
Сообщение #10


Активный
***

Текущее настроение:

Вст. ник | Цитата

Группа: Жители
Сообщений: 358
Регистрация: 6.10.2007
Пользователь №: 12546
Из: г. Следовск, мкрн. Жилино

Награды: 3
Подарки: 0

Имя: Дмитрий
Пол: М


Репутация:   19  

Соловей, а в случае моей программы какая запись упорядочивания вектора должна быть?
» Кликните сюда для просмотра оффтоп текста.. «


--------------------
Подарки: (Всего подарков: 0 )
У пользователя нет подарков




Go to the top of the pageGo to the end of the page
 
+Quote Post

2 страниц V   1 2 >
Closed TopicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 




> Статистика
Board Stats

Подарок форуму

10 евро

100 евро

10000 евро

1000000eur

  


Текстовая версия Сейчас: 15.06.2025 - 5:55