Обработка матриц

Автор работы: Пользователь скрыл имя, 09 Декабря 2014 в 17:51, реферат

Описание работы

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

Содержание работы

ВВЕДЕНИЕ
1.Постановка задачи
2. Разработка алгоритма
3. Разработка программы и пользовательского интерфейса
4.Отладка программы
ВЫВОДЫ

Файлы: 1 файл

Курсовая работа.docx

— 97.56 Кб (Скачать файл)

var

i, j, l, osob1, osob2, k: integer;

fLev, fPrav: boolean;

begin

// подсчет особых в 1 матрице

osob1:= 0;

for i:= 1 to n do

for j:= 2 to m-1 do

begin

k:= matr1[i, j];

// сравнение слева от  текущего элемента (если он не  первый)

begin

fLev:= true;

for l:= 1 to j-1 do

if matr1[i, l]>=k then fLev:= false;

end;

// сравнение справа от  текущего элемента (если он не  последний)

fPrav:= true;

for l:= j+1 to m do

if matr1[i, l]<=k then fPrav:= false;

if fLev and fPrav then osob1:= osob1+1;

end;

lbOsob1.Caption:= 'Число "особых" элементов в матрице1 = '+ IntToStr(osob1);

// подсчет особых вo 2 матрице

osob2:= 0;

for i:= 1 to n do

for j:= 2 to m-1 do

begin

k:= matr2[i, j];

// сравнение слева от  текущего элемента (если он не  первый)

begin

fLev:= true;

for l:= 1 to j-1 do

if matr2[i, l]>=k then fLev:= false;

end;

// сравнение справа от  текущего элемента (если он не  последний)

fPrav:= true;

for l:= j+1 to m do

if matr2[i, l]<=k then fPrav:= false;

if fLev and fPrav then osob2:= osob2+1;

end;

lbOsob2.Caption:= 'Число "особых" элементов в матрице2 = '+ IntToStr(osob2);

// формирование отсортированной  матрицы

if osob1>= osob1 then

matr3:= matr1

else

matr3:= matr2;

for i:= 1 to n do

for j:= m downto 2 do

for l:= 1 to m-1 do

if matr3[i, l] < matr3[i, l+1] then

begin

k:=matr3[i, l] ;

matr3[i, l]:=matr3[i, l+1];

matr3[i, l+1]:=k;

end;

// отображение переставленной  матрицы

for i:= 1 to n do

for j:= 1 to m do

begin

sgMatrix3.Cells[j, i]:= IntToStr(matr3[i, j]);

end;

end;

end.

 


Информация о работе Обработка матриц