Форум программистов, компьютерный форум, киберфорум
Pascal ABC
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.60/5: Рейтинг темы: голосов - 5, средняя оценка - 4.60
0 / 0 / 0
Регистрация: 24.12.2015
Сообщений: 17

Упорядочить матрицу

26.12.2015, 14:58. Показов 928. Ответов 7

Студворк — интернет-сервис помощи студентам
Операция '<' не применима к типу array [1..10] of integer
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
uses graphabc;
var a:array[1..10,1..10] of integer;
l,k,i,j:integer;
begin
for i:=1 to 10 do
for j:=1 to 10 do
a[i,j]:=random(10);
 
for k:=1 to 100 do
for i:=1 to 10 do
for j:=1 to 10 do
if (a[i]<a[j]) then
begin
l:=a[i];
a[i]:=a[j];
a[j]:=l;
end;
 
for i:=1 to 10 do
for j:=1 to 10 do
textout(30*i,30*j,a[i,j]);
end.
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
26.12.2015, 14:58
Ответы с готовыми решениями:

Упорядочить матрицу по убыванию по столбцам
Упорядочить матрицу по убыванию по столбцам Упорядочить нужно всю матрицу Пример: Было 5 4 0 1 2 9 7 8 8 Стало

Сгенерировать матрицу, упорядочить элементы, находящиеся выше диагонали, по убыванию в строках
Сгенерировать массив n•n, который для n = 4 имеет следующий вид: 0 0 1 1 0 0 2 2 3 3 0 0 4 4 0 0, упорядочить элементы,...

Заполнить исходную матрицу случайными числами из диапазона от -50 до 50. Вывести матрицу на экран
Заполнить исходную матрицу случайными числами из диапазона от -50 до 50. Вывыести матрицу на экран. Помогите пожалуйста.

7
Почетный модератор
 Аватар для Puporev
64315 / 47611 / 32743
Регистрация: 18.05.2008
Сообщений: 115,167
26.12.2015, 15:08
Лучший ответ Сообщение было отмечено Памирыч как решение

Решение

Так массив двумерный, а
Цитата Сообщение от Фарид123 Посмотреть сообщение
if (a[i]<a[j]) then
это обращение к элементам одномерного массива.

Добавлено через 6 минут
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
uses graphabc;
const n=10;
var a:array[1..n,1..n] of integer;
    i,j,k,l:integer;
begin
for i:=1 to n do
for j:=1 to n do
a[i,j]:=10+random(90);
for i:=1 to n*n-1 do
for j:=i+1 to n*n do
if a[(i-1) div n+1,(i-1) mod n+1]>a[(j-1) div n+1,(j-1) mod n+1] then
 begin
   l:=a[(i-1) div n+1,(i-1) mod n+1];
   a[(i-1) div n+1,(i-1) mod n+1]:=a[(j-1) div n+1,(j-1) mod n+1];
   a[(j-1) div n+1,(j-1) mod n+1]:=l;
 end;
for i:=1 to n do
for j:=1 to n do
textout(30*i,30*j,inttostr(a[j,i]));
end.
1
0 / 0 / 0
Регистрация: 24.12.2015
Сообщений: 17
26.12.2015, 20:19  [ТС]
Цитата Сообщение от Puporev Посмотреть сообщение
a[i,j]:=10+random(90);
а для чего "10+" перед random?
0
Почетный модератор
 Аватар для Puporev
64315 / 47611 / 32743
Регистрация: 18.05.2008
Сообщений: 115,167
26.12.2015, 20:27
Да напиши как хочешь, просто я ввел для красоты только двухзначные числа.
0
0 / 0 / 0
Регистрация: 24.12.2015
Сообщений: 17
26.12.2015, 20:39  [ТС]
и если не затруднит можешь объяснить, а то я не совсем понял(
0
Хитрая блондиночка $)
 Аватар для Hikari
1472 / 988 / 399
Регистрация: 21.12.2015
Сообщений: 3,785
26.12.2015, 20:46
Цитата Сообщение от Фарид123 Посмотреть сообщение
и если не затруднит можешь объяснить, а то я не совсем понял(
Не понял как рандом расчитывается?
Поясню на формуле: Дано - получить случайные значения на отрезке [10..100].
Формула будет такая:<начало т.е. 10>+Random(<конечное т.е. 100> - <начальное, которое 10>)
В твоем случае 10+ это начальное значение отрезка, в котором будут генерироваться случайные значения.
0
Почетный модератор
 Аватар для Puporev
64315 / 47611 / 32743
Регистрация: 18.05.2008
Сообщений: 115,167
26.12.2015, 20:47
Лучший ответ Сообщение было отмечено Памирыч как решение

Решение

Pascal
1
2
3
4
5
6
7
8
9
10
11
//просматриваем матрицу как линейный массив размером n*n
for i:=1 to n*n-1 do//от 1 до предпоследнего
for j:=i+1 to n*n do //и то что впереди
//определяем номера строки((i-1) div n+1) и номер столбца((i-1) mod n+1)
//и сравниваем элементы
if a[(i-1) div n+1,(i-1) mod n+1]>a[(j-1) div n+1,(j-1) mod n+1] then
 begin  //если первой больше второго, то обмениваем
   l:=a[(i-1) div n+1,(i-1) mod n+1];
   a[(i-1) div n+1,(i-1) mod n+1]:=a[(j-1) div n+1,(j-1) mod n+1];
   a[(j-1) div n+1,(j-1) mod n+1]:=l;
 end;
0
0 / 0 / 0
Регистрация: 24.12.2015
Сообщений: 17
27.12.2015, 12:51  [ТС]
Puporev, спасибо
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
27.12.2015, 12:51
Помогаю со студенческими работами здесь

Преобразовать заданную прямоугольную матрицу Х (р,к) в матрицу строку У (п, расположив последовательно все столбцы матрицы Х
Преобразовать заданную прямоугольную матрицу Х (р,к) в матрицу строку У (п, расположив последовательно все столбцы матрицы Х Вот...

Дано квадратную матрицу размера n x n. Получить транспонированную матрицу
Дано квадратную матрицу размера n x n. Получить транспонированную матрицу.

Вывести наибольший элемент, исходную матрицу и преобразованную матрицу
Дана матрица А. Получить новую матрицу путем деления всех элементов данной матрицы на ее наибольший по модулю элемент. Вывести наибольший...

Транспонировать матрицу и вывести полученную матрицу на экран
1. Построить матрицу размером n на n. Заполнить каждую строку матрицы одинаковыми числами, равными ее номеру, транспонировать матрицу и...

Упорядочить матрицу
Упорядочить по возрастанию элементы той строки матрицы Х(10*10), где находится наибольший элемент за рание спасибо


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Новые блоги и статьи
Программный отбор значения справочника
Maks 21.03.2026
Процедура ВодителиНачалоВыбора(Элемент, ДанныеВыбора, ВыборДобавлением, СтандартнаяОбработка) / / Отключаем стандартную обработку (стандартное открытие формы выбора без фильтров) . . .
Переходник USB-CAN-GPIO
Eddy_Em 20.03.2026
Достаточно давно на работе возникла необходимость в переходнике CAN-USB с гальваноразвязкой, оный и был разработан. Однако, все меня терзала совесть, что аж 48-ногий МК используется так тупо: просто. . .
Оттенки серого
Argus19 18.03.2026
Оттенки серого Нашёл в интернете 3 прекрасных модуля: Модуль класса открытия диалога открытия/ сохранения файла на Win32 API; Модуль класса быстрого перекодирования цветного изображения в оттенки. . .
SDL3 для Desktop (MinGW): Рисуем цветные прямоугольники с помощью рисовальщика SDL3 на Си и C++
8Observer8 17.03.2026
Содержание блога Финальные проекты на Си и на C++: finish-rectangles-sdl3-c. zip finish-rectangles-sdl3-cpp. zip
Символические и жёсткие ссылки в Linux.
algri14 15.03.2026
Существует два типа ссылок — символические и жёсткие. Ссылка в Linux — это запись в каталоге, которая может указывать либо на inode «файла-ИСТОЧНИКА», тогда это будет «жёсткая ссылка» (hard link),. . .
[Owen Logic] Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ФедосеевПавел 14.03.2026
Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора ВВЕДЕНИЕ Выполняя задание на управление насосной группой заполнения резервуара,. . .
делаю науч статью по влиянию грибов на сукцессию
anaschu 13.03.2026
прикрепляю статью
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru