Программа на Паскале. Массивы
Помогите, пожалуйста, сделать программу:
В квадратной матрице nxn (n принадлежит промежутку от 5 до 15) необходимо: 1. ввести размерность массива через клавиатуру с контролем вводимых значений. 2. Заполнить массив случайными числами от -100 да +100 и вывести полученную матрицу на экран. 3 Поменять местами, указанные области в массиве и вывести преобразованную матрицу на экран. 4. Пройтись по указанной траектории, и вывести полученные результаты в виде матрицы строки. 5.Полученную матрицу строку сортировать по возрастанию и убыванию. 6.В матрице, кроме выделенных областей, найти максимальный и минимальный элементы. Вот мои наработки:
Первые два пункта сделал, но как делать дальше совсем не представляю. |
Ну что же, за исключением нескольких "шероховатостей" программа первой части написана грамотно. Вот только:
1. В Паскале, в отличие от Бэйсика, строки не нумеруются, и любой транслятор выдаст сообщение об ошибке. 2. Если Вы хотите проконтролировать попадание размерности матрицы в нужный диапазон, то эту часть программы лучше "зациклить". 3. Не очень понятно, зачем тут нужны процедуры. Они (равно как и введение пользовательского типа mas) тут явно просто "для мебели". Но, конечно, можно и так. В итоге я хочу предложить чуть подправленный вариант: Код:
program kyrs; |
Вложений: 1
Ах да, совсем забыл, простите меня, рисунок который предлагается к работе. вот он.
|
Код:
Procedure traekt; Не представляю пока как поменять местами выделенные области массива... |
Цитата:
В раздел TYPE (исключительно для соблюдения стиля) добавить: Код:
Vector=array[1..15] of integer; Код:
V:Vector; Код:
Procedure traekt; Код:
Procedure traekt; |
Вложений: 1
Вот получилось отсортировать строку:
Код:
Procedure vozr; Нашел что-то подобное, но там каким-то ,непонятным для меня, образом области массива меняются через целочисленное деление... Код:
Procedure obmen(var n:integer); Тут правда другие участки меняются местами: Вложение 28078 |
Нашел максимум и минимум, но надо как-то исключить значения выделенных областей. Подскажите как эти области обозначить? как их найти,выделить...
Код:
Procedure maxmin; |
Ладно, будем считать, что совместными усилиями пришли сюда:
Код:
program kyrs; |
Огромное вам спасибо, Vladimir_S. Вы мне очень помогли, Так бы еще не один день ушел на эту работу. А так двумя днями обошелся :)
Еще один вопрос: как можно эти области на матрице преобразованной выделить другим цветом? У меня почему-то цвет всех элементов матрицы меняется. :( Наверно я куда-то не туда textcolor ставлю? Не подскажете куда воткнуть его? |
Цитата:
|
Часовой пояс GMT +4, время: 11:24. |
Powered by vBulletin® Version 4.5.3
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.