У вас вопросы?
У нас ответы:) SamZan.net

строк и nстолбцов а21 а22 а23а2n где аij ~ это элемент матрицы

Работа добавлена на сайт samzan.net: 2016-03-13

Поможем написать учебную работу

Если у вас возникли сложности с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой - мы готовы помочь.

Предоплата всего

от 25%

Подписываем

договор

Выберите тип работы:

Скидка 25% при заказе до 5.4.2025

  1.  Программирование задач обработки двумерных массивов (матриц).

В TurboPascal возможна организация массива массивов, а точнее элементами массива могут быть другие массивы. Подробнее остановимся на двумерных массивах (матрицах).

  а11 а12 а13…а1n  Матрица – это таблица, состоящая из m-строк и n-столбцов,

  а21 а22 а23…а2n  где аij – это элемент матрицы.

           . . . . . .              i – указывает на принадлежность этого элемента к строке.

  аm1 аm2 аm3…аmn            j– указывает на принадлежность этого элемента к столбцу.

Если в матрице число строк равно числу столбцов (n=m), то такая матрица называется квадратной.

Описание двумерных массивов:

<список идентификаторов> : array[<список диапазонов, через запятую>] of <тип элементов массива>;

 var  A:array[1..5,1..5] of integer;

 Или var B,C:array[1..3,1..4] of real;

Доступ к элементу двумерного массива осуществляется с помощью указания двух индексов в квадратных скобках через запятую (номера строки и номера столбца). Каждый элемент массива имеет два индекса, из которых первый указывает номер строки матрицы, второй - номер столбца.

A[1,2]:=7

Ввод элементов массива

Вывод элементов массива

Для двумерных массивов допускается ввод как по строкам, так и по столбцам. Способ ввода матрицы определяется тем, какой индекс (строки или столбца) изменяется первым.

I  Ввод элементов по строкам

for i:=1 to n do

for j:=1 to m do

read(A[i,j]);

II Ввод элементов по столбцам

for j:=1 to m do

for i:=1 to n do

read(A[i,j]);

III Ввод элементов с сообщением

for i:=1 to n do

for j:=1 to m do

begin

write(‘A[’,i,’,’,j,’]=’);

readln(A[i,j]);

end;

Вывод матрицы обычно выполняется в общепринятом виде, то есть по строкам.

I Вывод элементов массива в столбик

for i:=1 to n do

for j:=1 to m do

writeln(A[i,j]:4);

II Вывод элементов массива в виде матрицы (в общепринятом виде)

for i:=1 to n do begin

for j:=1 to m do

write(A[i,j]:4);

writeln;

end;

Часто при работе с двумерными массивами (матрицами) приходится оперировать с элементами, обладающими некоторыми признаками, в частности, связанными с положением элементов относительно диагоналей  матрицы.

На главной диагонали: {A[i,j] ; i=j}          

Ниже главной диагонали:  {A[i,j] ; i>j}    

Выше главной диагонали:  {A[i,j] ; i<j}

На побочной диагонали:       {A[i,j] ; i+j=n+1}        

Ниже побочной диагонали:  {A[i,j] ; i+j>n+1}                 

Выше побочной диагонали: {A[i,j] ; i+j<n+1}

Операции с матрицами.

Над матрицами определены следующие действия:

- сложение (вычитание) для подобных матриц

- умножение (стр.=стлб.)

- транспонирование (квадратная матрица)

- обратные матрицы.

Сложение (вычитание) матриц:

A = [aij]  B = [bij]  C = [cij]

i = 1,n    j = 1,m

C = A +(-) B

for i := 1 to n do

for j := 1 to m do

c[i,j] := a[i,j] +(-) b[i,j]

Умножение матриц:

A = [aij]  B = [bij]  C = [cij]

i = 1,n    j = 1,n

C = A * B

for i := 1 to  n do

for j := 1 to  n do

begin

c[i,j] := 0;

for k := 1 to n do

c[i,j] := c[i,j] + a[i,k]* b[k,j];

end;

Транспонирование матриц:

A = [aij]  i,j = 1,n    

Транспонирование – замена строки на соответствующий столбец.

Используется 2 основных метода:

  1.  Транспонирование во вспомогательный массив

for i := 1 to  n do

for j := 1 to  n do

b[i,j] := a[j,i]

этот алгоритм наиболее прост но менее эффективен.

  1.  Транспонирование с  помощью вспомогательных переменных

for i := 1 to  n-1 do

for j := i+1 to  n do

begin

x:= a[i,j];

a[i,j] := a[j,i];

a[j,i]:=x;

end.




1. статья из районной газеты Наша жизнь январь 2012 года Автор статьи ~ Ю
2. Рабовладельческий строй, его суть и экономические основы
3. Лабораторная работа 7 Работа с файловыми потоками в С
4. Тема Фасад и Архитектурный разрез
5. Лабораторная работа 9
6. III ступенів 5 Дидактичний матеріал з зарубіжної літератури 8 клас Згідно ldquo;Програми д
7. ОСТРЫЕ ПНЕВМОНИИ Пневмония острое инфекционное заболевание преемущественно респираторных отделов легки.html
8. Новгородский Государственный Университет имени Ярослава Мудрого Кафедра Радиофизика и электроника
9. Тема урока Путешествие на корабле
10. темах. На других языках эта отрасль называется