русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

ДЕЙСТВИЯ НАД МАТРИЦАМИ


Дата добавления: 2015-08-14; просмотров: 713; Нарушение авторских прав


 

Одним из пунктов задания является выполнение каких-либо преобразований над матрицами. Такими преобразованиями могут быть: упорядочивание элементов матрицы в строках или в столбцах по возрастанию или убыванию; удаление строк или столбцов; смена положения строк или столбцов матрицы. Рассмотрим примеры.

Пример 5.Упорядочить элементы в строках заданной матрицы B размера (6*6) по убыванию.

PROGRAM PR5;

VAR B : ARRAY [1..6, 1..6] OF REAL;

i, j, k : INTEGER;

bk : REAL;

BEGIN

{Ввести элементы матрицы В (способы задания матриц приведены в примерах 1, 2)}

FOR i:=1 TO 6 DO

FOR j:=1 TO 6 DO

FOR k:=1 TO 6 DO

IF B[i, j]>B[i, k] THEN BEGIN bk:=B[i, j];

B[i, j]:=B[i, k];

B[i, k]:=bk;

END;

{Вывод на экран матрицы B (смотрите примеры 3, 4)};

END.

Пояснения к программе: В этом примере используется сортировка обменом. Первый цикл с параметром i фиксирует строку матрицы В. В каждой строке, последовательно сравниваются пары соседних элементов и при выполнении условия оператора IF, эти элементы меняются местами. Тем самым наибольший элемент переставляется в начало строки.

Если необходимо упорядочить элементы в столбцах, то первый цикл должен быть с параметром j, то есть сначала фиксируется столбец матрицы.

Если необходимо упорядочить элементы в строках или в столбцах по возрастанию, то нужно поменять условие оператора IF, то есть вместо операции сравнения > (больше), использовать – < (меньше).

Пример 6. Удалить столбец, содержащий максимальный элемент матрицы A размера (6*7). Результат данного действия занести в матрицу B.

PROGRAM PR6;

VAR A : ARRAY [1..6, 1..7] OF REAL;

B : ARRAY [1..6, 1..6] OF REAL;

i, j, jmax : INTEGER;

max : REAL;

BEGIN

{Ввести элементы матрицы A (способы задания матриц приведены в примерах 1, 2)}

max:=A[1, 1];



jmax:=1;

FOR i:=1 TO 6 DO

FOR j:=1 TO 7 DO

IF A[i, j]>max THEN BEGIN max:=A[i, j];

jmax:=j;

END;

FOR i:=1 TO 6 DO

FOR j:=1 TO 6 DO

IF j >= jmax THEN B[i, j]:=A[i, j+1]

ELSE B[i, j]:=A[i, j];

{Вывод на экран матрицы B (см. примеры 3, 4)};

END.

Пояснения к программе: В первой части данной программы определяется максимальный элемент матрицы A. Переменной jmax присваивается номер столбца, содержащий максимальный элемент. Далее элементам матрицы B присваиваются соответствующие элементы матрицы A, за исключением тех элементов матрицы A, которые находятся в столбце jmax.

Пример 7. Поменять местами строки с максимальным и минимальным элементами матрицы A размера (6*6). Результат данного действия занести в матрицу B.

PROGRAM PR7;

TYPE Stroka = ARRAY [1..6] OF REAL;

VAR A,B : ARRAY [1..6] OF Stroka;

Bs : Stroka;

i, j, imax, imin : INTEGER;

max, min : REAL;

BEGIN

{Ввести элементы матрицы A (способы задания матриц приведены в примерах 1, 2)}

max:=A[1, 1];



imax:=1;

min:=A[1, 1];

imin:=1;

FOR i:=1 TO 6 DO

FOR j:=1 TO 6 DO BEGIN

IF A[i, j]>max THEN BEGIN max:=A[i, j];

imax:=i;

END;

IF A[i, j]<min THEN BEGIN min:=A[i, j];

imin:=i;

END;

END;

Bs:=A[imin];

A[imin]:=A[imax];

A[imax]:=Bs;

B:=A;

{Вывод на экран матрицы B (см. примеры 3, 4)};

END.

Пояснения к программе: В данном примере задается тип Stroka содержащий 6 элементов типа REAL. Переменные A,B являются массивами, содержащие 6 элементов типа Stroka. Определяются строки, в которых находятся максимальный и минимальный элементы матрицы А и переменным imax и imin присваиваются номера этих строк. Используя дополнительную переменную Bs типа Stroka, в матрице А меняются местами строки с максимальным и минимальным элементами. Затем элементам матрицы В присваиваются соответствующие элементы матрицы А.

 



<== предыдущая лекция | следующая лекция ==>
ВЫВОД МАССИВОВ НА ЭКРАН | ПОСТРОЕНИЕ МАТРИЦ ПО ЗАДАННОМУ ВИДУ


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

Генерация страницы за: 0.808 сек.