Помогите с задачкой справиться PlzZ: 1. Заменить Минимальный элемент в каждой строке на противоположный по знаку; Все элементы первых трех столбцов на их квадраты; Все симметричные элементы квадратной матрицы на нули. 2. Поменять местами Средние столбцы; Средние строки с первой и последней; Средние столбцы со вторым и предпоследним; Средние строки; Первый максимальный и последний минимальный элементы; В каждой строке первый отрицательный и последний положительный; Первую строку и строку, в которой находится первый нулевой элемент; Вторую и предпоследнюю строки; Первую строку с последней строкой, вторую – с предпоследней и так далее;
volvo
9.11.2005 23:09
To: Dead.MorozZ Ты бы поиском сначала воспользовался. Ибо решать уже решенное (да еще и с таким количеством заданий) - Вот если будут КОНКРЕТНЫЕ вопросы, тогда задавай...
Dead.MorozZ
9.11.2005 23:13
Может ссылку даш, а то найти не могу. А вопросы чувствую скоро появятся
2. Поменять местами Средние столбцы; Средние строки с первой и последней; Средние столбцы со вторым и предпоследним; Средние строки;
делается одной строкой (!!!), я имею в виду каждый пункт - одна строка...
Dead.MorozZ
10.11.2005 23:44
Oбъясните, пожаловста, в подробностях как работает процедура по обмену строк (Swap_rows)
volvo
10.11.2005 23:46
А какие тебе еще подробности? Как поменять местами 2 числа, знаешь (через дополнительную переменную)? Ну, так для Паскаля разницы между числом и строкой/столбцом (при том описании, которое я предложил) НЕТУ...
klem4
10.11.2005 23:49
надо поменять строку p со строкой q :
проходим по всем столбцам митрицы и меняем местами соответствующие элементы...
for j := 1 to m do begin temp := x[q,j]; x[q,j]:= x[p,j]; x[p,j]:= temp; end;
Dead.MorozZ
11.11.2005 2:22
Volvo как исправить твою прогу с FAQ, чтоб в матрице появлялись и отрицательные элементы?javascript:emoticon(':wacko:') smilie
klem4
11.11.2005 2:25
Неужели так трудно догадаться ? Это конечно зависит он интеравала который тебе нужен, но можно например так :
x[i,j] := random(101) - 50;
будет интервал значений [-50..50];
Dead.MorozZ
11.11.2005 2:34
Как найти максимальный элемент в строке/столбе??
volvo
11.11.2005 2:42
To: Dead.MorozZ Или ты начнешь пользоваться поиском и читать, а не бегло просматривать то, что написано в FAQ-е, или эта тема плавно переместится в мусорку. Поиск сразу же выдает 3 страницы ссылок, неужели кто-то должен искать ЗА ТЕБЯ?
To: volvo как в твоей проге одновременно менять местами и столбы и строки??
volvo
11.11.2005 5:15
Цитата
как в твоей проге одновременно менять местами и столбы и строки??
Гораздо проще, чем кажется:
const size_row = 10; { число строк } size_col = 10; { число столбцов }
type { это - матрица из строк } tvector = array[1 .. size_col] of integer; tVecmatrix = array[1 .. size_row] of tvector;
{ меняем строки местами } procedure swap_rows(var mx: tVecmatrix; const i, j: integer); var T: tvector; begin T := mx[i]; mx[i] := mx[j]; mx[j] := T end;
type { это - матрица из столбцов } trow = array[1 .. size_row] of integer; tRowmatrix = array[1 .. size_col] of trow;
{ меняем столбцы местами } procedure swap_cols(var mx: tRowmatrix; const i, j: integer); var T: trow; begin T := mx[i]; mx[i] := mx[j]; mx[j] := T end;
{ печатаем (матрицу СТРОК !!!) } procedure print(var mx: tVecmatrix); var i, j: integer; begin for i := 1 to size_row do begin for j := 1 to size_col do write(mx[i][j]:4); writeln end; end;
{ преобразуем матрицу строк -> матрицу столбцов } procedure convert_vr(mv: tVecmatrix; var mr: tRowmatrix); var i, j: integer; begin for i := 1 to size_row do for j := 1 to size_col do mr[j, i] := mv[i, j]; end; { обратное преобразование } procedure convert_rv(mr: tRowmatrix; var mv: tVecmatrix); var i, j: integer; begin for i := 1 to size_row do for j := 1 to size_col do mv[i, j] := mr[j, i]; end;
var mx: tVecmatrix; mr: tRowmatrix; { для промежуточных вычислений } i, j: integer;
begin for i := 1 to size_row do for j := 1 to size_col do mx[i][j] := random(100); { заполняем матрицу }