Помогите решить задачку,пожалуйста, по Delphi
От: Alatiel  
Дата: 16.12.11 09:34
Оценка:
Дана вещественная матрица А (6,5). Вычислить произведение всех отрицательных элементов матрицы. Вычисление произведения отрица-тельных элементов матрицы оформить в виде функции.
вот я написала программу и она не работает..

unit Unit1;

interface

uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;

type
TForm1 = class(TForm)
Button1: TButton;
Edit1: TEdit;
Memo1: TMemo;
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;

var
Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
type
matr=array [1..6,1..5]of integer;
var // Îïèñàíèå ïåðåìåííûõ îñíîâíîé ïðîãðàììû
i,j,code,s,n,m:integer;
number, e:string;
b:matr;
function proiz(n:integer;a:matr):integer;
var
i,j,s:integer; //îïèñàíèå ïåðåìåííûõ ôóíêöèè
sum:string;
begin
s:=1;
for i:=1 to 6 do //Âû÷èñëåíèå â öèêëå ñóììû do
begin
e:='';
for j:=1 to 5 do
begin
e:=e+' '+ IntToStr(a[i,j]);
end;
If a[i,j]<0 then s:=a[j,i] * s end;


//str(s,sum); //Ïåðåâîä çíà÷åíèÿ ñóììû â ñòðîêîâóþ ïåðåìåííóþ
memo1.Lines.Add (IntToSTR(s)); //âûâîä ðåçóëü-òàòà
end;

{Âûçûâàþùàÿ ïðîãðàììà (îñíîâíàÿ)}
begin // Íà÷àëî îñíîâíîé ïðîãðàììû
val (edit1.Text,n,code);
for i:=1 to 6 do //Ââîä ýëåìåíòîâ ìàññèâà
for j:=1 to 5 do
begin
number:=inputbox('Ââîä ýëåìåíòîâ ìàññèâà','Ââåäè ÷èñëî','0');
val(number,b[i,j],code);
end;
proiz(n,b); //Îáðàùåíèå ê ôóíêöèè
end;
end.
Re: Помогите решить задачку,пожалуйста, по Delphi
От: MBo  
Дата: 16.12.11 09:41
Оценка:
Здравствуйте, Alatiel, Вы писали:


A>вот я написала программу и она не работает..


end перенесите на место после конца оператора if
Re[2]: Помогите решить задачку,пожалуйста, по Delphi
От: Alatiel  
Дата: 16.12.11 09:45
Оценка:
Здравствуйте, MBo, Вы писали:

MBo>Здравствуйте, Alatiel, Вы писали:



A>>вот я написала программу и она не работает..


MBo>end перенесите на место после конца оператора if

переместила все равно все время открывается окно введите числа я ввожу и оно снова открывается ничего не посчитав
Re: Помогите решить задачку,пожалуйста, по Delphi
От: Khimik  
Дата: 16.12.11 10:06
Оценка:
У вас комментарии не в той кодировке, ничего не понятно.




A>Дана вещественная матрица А (6,5). Вычислить произведение всех отрицательных элементов матрицы. Вычисление произведения отрица-тельных элементов матрицы оформить в виде функции.

A>вот я написала программу и она не работает..

A>unit Unit1;


A>interface


A>uses

A> Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
A> Dialogs, StdCtrls;

A>type

A> TForm1 = class(TForm)
A> Button1: TButton;
A> Edit1: TEdit;
A> Memo1: TMemo;
A> procedure Button1Click(Sender: TObject);
A> private
A> { Private declarations }
A> public
A> { Public declarations }
A> end;

A>var

A> Form1: TForm1;

A>implementation


A>{$R *.dfm}


A>procedure TForm1.Button1Click(Sender: TObject);

A>type
A>matr=array [1..6,1..5]of integer;
A>var // Îïèñàíèå ïåðåìåííûõ îñíîâíîé ïðîãðàììû
A>i,j,code,s,n,m:integer;
A>number, e:string;
A>b:matr;
A> function proiz(n:integer;a:matr):integer;
A> var
A>i,j,s:integer; //îïèñàíèå ïåðåìåííûõ ôóíêöèè
A>sum:string;
A>begin
A>s:=1;
A>for i:=1 to 6 do //Âû÷èñëåíèå â öèêëå ñóììû do
A> begin
A> e:='';
A> for j:=1 to 5 do
A> begin
A> e:=e+' '+ IntToStr(a[i,j]);
A> end;
A> If a[i,j]<0 then s:=a[j,i] * s end;


A>//str(s,sum); //Ïåðåâîä çíà÷åíèÿ ñóììû â ñòðîêîâóþ ïåðåìåííóþ

A> memo1.Lines.Add (IntToSTR(s)); //âûâîä ðåçóëü-òàòà
A>end;

A>{Âûçûâàþùàÿ ïðîãðàììà (îñíîâíàÿ)}

A>begin // Íà÷àëî îñíîâíîé ïðîãðàììû
A> val (edit1.Text,n,code);
A> for i:=1 to 6 do //Ââîä ýëåìåíòîâ ìàññèâà
A> for j:=1 to 5 do
A> begin
A> number:=inputbox('Ââîä ýëåìåíòîâ ìàññèâà','Ââåäè ÷èñëî','0');
A> val(number,b[i,j],code);
A> end;
A> proiz(n,b); //Îáðàùåíèå ê ôóíêöèè
A>end;
A> end.
"Ты должен сделать добро из зла, потому что его больше не из чего сделать." Р.П. Уоррен
Re[3]: Помогите решить задачку,пожалуйста, по Delphi
От: MBo  
Дата: 16.12.11 10:36
Оценка:
Здравствуйте, Alatiel, Вы писали:

A>переместила все равно все время открывается окно введите числа я ввожу и оно снова открывается ничего не посчитав

Ну да, это повторяется 30 раз.
Столько чисел никто вручную вводить не будет, лучше сгенерируйте случайное заполнение матрицы вроде b[i,j] := Random(7) — 3;
Re[4]: Помогите решить задачку,пожалуйста, по Delphi
От: Alatiel  
Дата: 16.12.11 10:50
Оценка:
Здравствуйте, MBo, Вы писали:

MBo>Здравствуйте, Alatiel, Вы писали:


A>>переместила все равно все время открывается окно введите числа я ввожу и оно снова открывается ничего не посчитав

MBo>Ну да, это повторяется 30 раз.
MBo>Столько чисел никто вручную вводить не будет, лучше сгенерируйте случайное заполнение матрицы вроде b[i,j] := Random(7) — 3;
спасибо!
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.