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

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

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

> Задачи с матрицами, Задача по замене злементов матрицы
Dead.MorozZ
сообщение 9.11.2005 18:58
Сообщение #1


Пионер
**

Группа: Пользователи
Сообщений: 108
Пол: Мужской
Реальное имя: Георгий

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


Помогите с задачкой справиться PlzZ:
1. Заменить
 Минимальный элемент в каждой строке на противоположный по знаку;
 Все элементы первых трех столбцов на их квадраты;
 Все симметричные элементы квадратной матрицы на нули.
2. Поменять местами
 Средние столбцы;
 Средние строки с первой и последней;
 Средние столбцы со вторым и предпоследним;
 Средние строки;
 Первый максимальный и последний минимальный элементы;
 В каждой строке первый отрицательный и последний положительный;
 Первую строку и строку, в которой находится первый нулевой элемент;
 Вторую и предпоследнюю строки;
 Первую строку с последней строкой, вторую – с предпоследней и так далее;


--------------------
Минус - это уже половина плюса, а плюс порой - целых два минуса...
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
 
 Ответить  Открыть новую тему 
Ответов
volvo
сообщение 11.11.2005 1:15
Сообщение #2


Гость






Цитата
как в твоей проге одновременно менять местами и столбы и строки??

Гораздо проще, чем кажется:
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); { заполняем матрицу }

writeln('before:'); print(mx); { начальная матрица }

swap_rows(mx, 1, 5); { меняем 1 и 5 СТРОКИ местами }

convert_vr(mx, mr); { преобразуем в матрицу столбцов }
swap_cols(mr, 1, 5); { меняем местами 1 и 5 столбцы }
convert_rv(mr, mx); { и возвращаем назад -> матрицу строк }

writeln('after:'); print(mx); { полученная матрица }
end.
 К началу страницы 
+ Ответить 

Сообщений в этой теме
Dead.MorozZ   Задачи с матрицами   9.11.2005 18:58
volvo   To: Dead.MorozZ Ты бы поиском сначала воспользова...   9.11.2005 19:09
Dead.MorozZ   Может ссылку даш, а то найти не могу. А вопросы чу...   9.11.2005 19:13
volvo   Ну, например, при использовании вот этого: FAQ: Ка...   9.11.2005 19:20
Dead.MorozZ   Oбъясните, пожаловста, в подробностях как работает...   10.11.2005 19:44
volvo   А какие тебе еще подробности? Как поменять местами...   10.11.2005 19:46
klem4   надо поменять строку p со строкой q : проходим по...   10.11.2005 19:49
Dead.MorozZ   Volvo как исправить твою прогу с FAQ, чтоб в матри...   10.11.2005 22:22
klem4   Неужели так трудно догадаться ? Это конечно зависи...   10.11.2005 22:25
Dead.MorozZ   Как найти максимальный элемент в строке/столбе??   10.11.2005 22:34
volvo   To: Dead.MorozZ Или ты начнешь пользоваться поиск...   10.11.2005 22:42
Dead.MorozZ   To: volvo как в твоей проге одновременно менять ме...   10.11.2005 23:35
volvo   Гораздо проще, чем кажется: const size_row = 10;...   11.11.2005 1:15


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

 



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