Помощь - Поиск - Пользователи - Календарь
Полная версия: Сформировать квадратную матрицу
Форум «Всё о Паскале» > Современный Паскаль и другие языки > Делфи
Eshler
Сформировать квадратную матрицу B(n,n) (2<n<6), элементами которой являются случайные числа, равномерно распределенные в интеревале [-5;5]. Переставляя строки и столбцы, добиться того, чтобы наибольший элемент матрицы оказался в правом нижнем углу.
Алена
Нечто очень похожее решалось здесь:
Преобразование матрицы
для Дельфи будет аналогично. Как заполнить матрицу случайными значениями - тут: Массивы. Матрицы. Типичные задачи.
Адель
не уверена во всем, но вот...
Нажмите для просмотра прикрепленного файла
Lapp
Цитата(Адель @ 20.03.2007 9:26) *

не уверена во всем, но вот...

В чем именно ты не уверена?
Не могла бы ты сопровождать свои программы несколькими словами описания, что это и к чему?
Адель
в том, что все правильно сделала))
там коменты есть smile.gif
Алена
Адель, а зачем
if a[i,j]>max then
begin
max:=a[i,j];
imax:=i;
jmax:=j;
end;
? Лишние переменные в программе - зло.
if a[i, j] > a[imax, jmax] then
begin
imax := i; jmax := j;
end;
выполняет ту же работу.

Кстати, рекомендуется управляющие переменные циклов описывать как можно ближе к самому циклу (т.е. локально в используемой процедуре).
hiv
Цитата(Алена @ 20.03.2007 10:54) *
Лишние переменные в программе - зло.
Не всегда! Например загрузить сравниваемое значение max из памяти в регистр процессора в десятки раз быстрее, чем a[imax, jmax]. Это как палка о двух концах: при недостатке памяти - жертвуем быстродействием, и наоборот при недостатке быстродействия - жертвуем памятью.
В данной задаче не критично ни то, ни другое - оба решения равноправны. Но надо уметь программировать как в одних условиях, так и в других и уметь определять, когда это важно! smile.gif
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.