русс | укр

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

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

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

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


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

Алгоритмы и программы


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


Некоторые свойства матриц:

ЗАДАЧА . Найти сумму элементов матрицы, лежащих выше главной диагонали. В матрице n строк и m столбцов.

 

 

 

s:=0;

for i:=1 to n do

for j:=1 to m do

if j>i then

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

MessageDlg('S='

+FloatToStrF(s,ffFixed,5,3),MtInformation,[mbOk],0);

 

Еще один вариант решения задачи

 

s:=0;

for i:=1 to n do

for j:=i+1 to m do

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

ЗАДАЧА. Вычислить количество положительных элементов квадратной матрицы, расположенных по ее периметру и на диагоналях. Напомним, что в квадратной матрице число строк равно числу столбцов.

Для i=1,n

Ai,i элемент главной диагонали.

Аi,n-i+1элемент побочной диагонали.

Элементы, находящиеся по периметру матрицы:

А1,i – первая строка,

АN,i – последняя строка,

Аi,1 – первый столбец,

Аi,N – последний столбец.

 

 

 

k:=0;

for i:=1 to n do

begin

if (a[i,i]>0) then

k:=k+1;

if a[i,n-i+1]>0 then

k:=k+1;

end;

for i:=2 to n-1 do

begin

if (a[1,i]>0) then

k:=k+1;

if (a[n,i]>0) then

k:=k+1;

if (a[i,1]>0) then

k:=k+1;

if (a[i,n]>0) then

k:=k+1;

end;

if (n mod 2 <>0) and

(a[(n div 2)+1,(n div 2)+1]>0)

then k:=k-1;

MessageDlg('K='+IntToStr(K),

MtInformation,[mbOk],0);

ЗАДАЧА. Преобразовать исходную матрицу так, чтобы первый элемент каждой строки был заменен средним арифметическим элементов этой строки.

 

procedure

TForm1.BitBtn1Click(Sender: TObject);

type

matrica=array[1..20,1..20] of real;

const

n=4;m=4;

var

a:matrica;

i,j: integer; s: real;

begin

for i:=1 to n do

for j:=1 to m do

A[i,j]:=StrToInt(

StringGrid1.Cells[i,j]);

for i:=1 to n do

begin

S:=0;

for j:=1 to m do

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



a[i,1]:=S;

end;

//Вывод измененной матрицы.

for i:=1 to n do

for j:=1 to m do

StringGrid1.Cells[i,j]:=

FloatToStr(a[i,j]);

end;

ЗАДАЧА. Задана матрица A(n,m). Сформировать вектор P(m), в который записать номера строк максимальных элементов каждого столбца.

 

 

procedure TForm1.Button1Click(Sender: TObject);

type

massiv=array [1..15] of byte;

matr=array [1..15,1..15] of real;

const

n=4;m=4;

var

i,j: byte;

n_max: byte;

max: real;

a: matr;

p: massiv;

begin

for i:=1 to n do

for j:=1 to m do

A[i,j]:=StrToInt(

StringGrid1.Cells[i,j]);

for j:=1 to m do

begin

max:= a[1,j];

n_max:=1;

for i:=2 to m do

if a[i,j] > max then

begin

max:=a[i,j];

n_max:=i;

end;

p[j]:=n_max;

end;

for j:=1 to m do

StringGrid2.Cells[0,j]:=

FloatToStr(p[j]);

end;

ЗАДАЧА. Написать программу умножения двух матриц A(n,m) и B(m,L).

Например, необходимо перемножить две матрицы

.

Воспользовавшись правилом «строка на столбец», получим матрицу:

В общем виде формула для нахождения элемента Cij матрицы имеет вид:

,

где i = 1,N и j = 1,L.

Проводить операцию умножения можно только в том случае, если количество строк левой матрицы совпадает с количеством столбцов правой. Кроме того, A ´ B ¹ B ´ A.



<== предыдущая лекция | следующая лекция ==>
Ввод-вывод матриц | Алгоритм умножения двух матриц


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


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

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

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


 


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

 
 

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

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