Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 04.02.2014, 18:32   #1
Otar4ik
Форумчанин
 
Регистрация: 16.04.2010
Сообщений: 123
По умолчанию Сколько положительных элементов содержит матрица?(Модуль Graph ABC)

Добрый вечер!
Вначале напишу что случилось,собственно программа добавляет строки,столбцы всё делает правильно но при нажатии клавиши F3(самое главное)выскакивает окно с сообщением

"Unhandled expection has occured in your application.а дальше если нажмете Continue то будет одно,а если Quit то другое)"

Само задание
Реализовать на основе динамического двумерного массива задание №1. Количество строк и столбцов вводит пользователь.

Интерфейс программы оформить с помощью модуля GraphABC;

Прорисовать в окне значения горячих клавиш.
Двумерный массив выводить в виде таблицы с очерченными контурами. Элементы главной и побочной диагоналей при выводе выделить цветом.
Предусмотреть понятную форму вывода результата задания.

Дано Натуральное число N.Выяснить сколько положительных элементов содержит матрица [a ij]. I, j=1,…,n если a ij=sin(I+j/2)


Код:
program lab4_2;
uses GraphABC;

type stroka=array of integer;
var
mas: array of stroka;
n,m,i,j:integer;

procedure initgraph;
var 
i,j:integer;
begin
writeln ('введите кол-во строк');
readln(n);
writeln ('введите кол-во столбцов');
readln(m);
setlength(mas, n);                      
for i := 0 to n - 1 do
  setlength(mas[i], m); 
for i:=0 to n-1 do
 for j := 0 to m - 1 do
   mas[i, j] := random(-20, 20);
end;


procedure findpol;
var
col,i,j:integer;
begin
read(n);
for i:=1 to n do
for j:=1 to n do
if Sin(i+j/2)>0 then inc(col);
writeln(col);
end;

procedure print;
var
x1,y1,i,j:integer;
begin
window.clear;
x1:=10;
y1:=20;
for i := 0 to n - 1 do
begin
 for j := 0 to m - 1 do
 begin
 DrawRectangle(x1,y1,x1+50,y1+50);
 if i=j then
 font.color:=clred
 else
  font.color:=clblack;
 TextOut(x1+13,y1+16,mas[i,j].tostring);
 x1:=x1+50;
 end;
 y1:=y1+50;
 x1:=10;
end;
end;

procedure DobStroka;
var 
x1,y1,i,j:integer;
begin;
n:=n+1;
setlength(mas, n);                      
setlength(mas[n-1], m);
for j := 0 to m - 1 do
mas[n-1,j] := random(-20, 20);
print;
end;

procedure DobStolb;
var 
x1,y1,i,j:integer;
begin;
m:=m+1;
for i:=0 to n-1 do                     
setlength(mas[i], m);
for i := 0 to n - 1 do
mas[i,m-1] := random(-20, 20);
print;
end;

procedure KeyDown(Key: integer);
begin
case Key of
VK_F1:
begin DobStroka ;print;end;
VK_F2:
begin dobstolb ;print;end;
VK_F3:
begin findpol ;print;end;
end;
end;

BEGIN
initgraph;
print;
onKeydown:=keydown;
END.
Otar4ik вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Определите частное от деления суммы положительных элементов массива на модуль суммы отрицательных элементов Aselyabel Visual C++ 1 22.01.2014 17:32
паскаль.Как подключить модуль ''graph'' в паскале abc? AndrewPl Помощь студентам 11 22.03.2013 19:11
Найти, сколько положительных элементов Np4 содержит матрица {aij}, где i = j = 1,...,5, в четвертом столбце. Alex4844 Помощь студентам 2 27.12.2012 18:29
Дано натуральное число N. Выяснить, сколько положительных элементов содержит матрица |Dima| Общие вопросы C/C++ 1 06.07.2011 03:36
выясните, сколько положительных элементов содержит матрица А размером nxn при выполнении условия a[ij] = sin(j^2-j^2/n) marina krasa Помощь студентам 4 08.06.2011 02:29