Обработка матриц
Реферат, 09 Декабря 2014, автор: пользователь скрыл имя
Описание работы
Цель работы - научиться анализировать задание и определить перечень вопросов, которые будут решаться в данной работе, создавать список функциональных требований к программе, то есть определение того, что, собственно, будет выполнять разрабатываемая программа, не рассматривая конкретную реализацию этих функций, в задачах лексического и синтаксического анализа, уметь определять возможные ошибки в записи операторов, описывать интерфейс программы и те функции, которые она будет выполнять.
Содержание работы
ВВЕДЕНИЕ
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.