Вопрос № 174394: С помощью двумерного массива. Дана прямоугольная матрца . Вывести эту матрицу на экран.и чтоб она была помещена в прямоугольник. Вот так: FileSize: 42KB Link: http://ft.fay.by/get3.php?id=200911201829296e3051 FileType: JPG 2...
Вопрос № 174394:
С помощью двумерного массива. Дана прямоугольная матрца . Вывести эту матрицу на экран.и чтоб она была помещена в прямоугольник. Вот так:
2 задача: Сформировать матрицу,каждый элемент который вычисляется по формуле : (i+0,5)*(j+sin(j)). Найти минимальный элемент и поменять его местами с первым эл матрицы
for i:=1 to N do begin for j:=1 to M do Write(' ',mtx[i,j],' ');
Writeln; end;
Read; End.
2) const N = 4; //количество строк матрицы M = 5; //количество столбцов матрицы
type Vector = array[1..2] of integer; Matrix = array[2..N,2..M] of real;
var mtx:Matrix; //матрица элементов idx:Vector; //индексы минимального элемента i,j:integer; //счетчики tmp:real; //вс
помогательная переменная
procedure show_matrix(mtx_arg:Matrix); //вывод матрицы на экран var i,j:integer; begin WriteLn; for i:=2 to N do begin for j:=2 to M do Write(mtx_arg[i,j]:1:3,' '); WriteLn; end; WriteLn; WriteLn; end;
function get_min(mtx_arg:Matrix):Vector; //ф-ция возвращает индексы минимальногго элемента var min_i,min_j:integer; begin min_i:=2; min_j:=2; for i:=2 to N do for j:=2 to
M do if mtx_arg[min_i,min_j]>mtx_arg[i,j] then begin min_i:=i; min_j:=j; end;
Result[1]:=min_i; Result[2]:=min_j; end;
Begin for i:=2 to N do //задание... for j:=2 to M do //элементов... mtx[i,j]:=(i+0.5)*(j+1/sin(j));//матрицы.
show_matrix(mtx); //вывод на экран исходной матрицы
Замечание: если индексация массива начинается с единицы, то минимальный элемент всегда будет совпадать с первым элементом матрицы. В таком случае нет смысла искать минимальный элемент и переставлять его местами с первым... Поэтому, чтобы алгоритм нахождение минимального элемента и замены его местами с первым, имел смысл, зададим индексы 2-х мерного массива начиная, например, с 2-х (в
первые вижу чтобы способ задания массива в паскале оказался хоть как-то полезным).
Ответ отправил: v-vik, 1-й класс
Ответ отправлен: 21.11.2009, 01:38
Как сказать этому эксперту "спасибо"?
Отправить SMS
#thank 256751
на номер 1151 (Россия) |
Еще номера »
Вам помогли? Пожалуйста, поблагодарите эксперта за это!
Отвечает Пупорев Юрий Борисович, Специалист :
Здравствуйте, Капитан Прайс! В приложении вариант решения первой задачи, при чем предусмотрен вывод матрицы на экран в заданном месте и заданным цветом. Это может пригодиться Вам в будущем. Если сейчас это не нужно, лишнее уберите. Только сначала сохраните копию программы. Во вложении программа, а также символы псевдографики и их коды в файле .pas, где видно как они будут выглядеть в натуре.
* Стоимость одного СМС-сообщения от 7.15 руб. и зависит от оператора сотовой связи.
(полный список тарифов)
** При ошибочном вводе номера ответа или текста #thank услуга считается оказанной, денежные средства не возвращаются.
*** Сумма выплаты эксперту-автору ответа расчитывается из суммы перечислений на портал от биллинговой компании.