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

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

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

> Обработка многомерных массивов
сообщение
Сообщение #1


Новичок
*

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

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


Найти в каждой строке матрицы P размерности N х N наибольший элемент и поменять его местами с элементом главной диагонали. Вывести полученную матрицу в общепринятом виде.

Если возможно, представить схему алгоритма решения.

Есть вот такой пример:

Задание: В матрице К размерности N х M поменять местами строки содержащие минимальный и максимальный элемент. Вывести полученную матрицу в общепринятом виде.
Приведем программу решения этой задачи. Так как строка матрицы представляет собой одномерный массив, то для обмена двух строк матрицы нам понадобится дополнительный одномерный массив К1. Для того, чтобы обмен одномерных массивов можно было производить так же легко, как и с переменными простых типов данных, введем новый тип KKK = array [1..20] of real. Тогда матрицу К можно описать как одномерный массив, состоящий из строк типа ККК.
program lab5;
uses crt;
type
KKK = array [1..20] of real;
var
K : array [1..20] of KKK;
K1 : KKK;
i, j, n, m, imax, imin : integer;
max,min:real;
begin
clrscr;
writeln('Введите размерность матрицы K:');
write('Число строк : '); readln(n);
write('Число столбцов : '); readln(m);
writeln('Введите элементы матрицы K:');
for i:=1 to n do
for j:=1 to m do
begin
gotoxy(j*5,i+4);
readln(K[i,j]);
end;
max:=K[1,1]; imax:=1;
min:=K[1,1]; imin:=1;
for i:=1 to n do
for j:=1 to m do
begin { Начинаем поиск строк }
if K[i,j]>max then { с max и min элементами}
begin
max:=K[i,j]; imax:=i;
end;
if K[i,j]<min then
begin
min:=K[i,j]; imin:=i;
end;
end;
K1:=K[imax]; {Обмен строк}
K[imax]:=K[imin];
K[imin]:=K1;
writeln('Массив после перестановки строк:');
for i:=1 to n do
for j:=1 to m do
begin
gotoxy(j*5,i+n+5);
writeln(K[i,j]:5:1);
end;
readkey;
end.

ЗАРАНЕЕ ОГРОМНОЕ СПАСИБО!
М
Connected, используй теги! Выдели текст проги блоком и выбери нужный тип в выпадающем меню над окном ввода.
Lapp



Сообщение отредактировано: Lapp -
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

Сообщений в этой теме


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

 





- Текстовая версия 28.03.2024 17:10
500Gb HDD, 6Gb RAM, 2 Cores, 7 EUR в месяц — такие хостинги правда бывают
Связь с администрацией: bu_gen в домене octagram.name