Массивы в Delphi

avatar streamus

177

2

streamus

Пользователь

Регистрация: 06.09.2014

Сообщения: 470

Рейтинг: 389

streamus

Регистрация: 06.09.2014

Сообщения: 470

Рейтинг: 389

№ 7.14 Дана матрица A размера N на M элементов, содержащая вещественные числа. Сформировать из нее массив B, состоящий из количества отрицательных элементов в каждой строке. Если в строке нет отрицательных элементов, то в массив В заносится -1. Сколько строк в исходной матрице, где нет отрицательных элементов?
Не понимаю именно часть, где сформировать массив B, т.к матрицу А уже написал как это сделать?
Спойлер: "матрица А"


unit Unit1;

interface

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

type
TForm1 = class(TForm)

StringGrid1: TStringGrid;

Button1: TButton;

Edit1: TEdit;

Label1: TLabel;

procedure Button1Click(Sender: TObject);
private

{ Private declarations }
public

{ Public declarations }
end;

var
Form1: TForm1;
Type TMatr=array [1..50] of array [1..50] of real;

var matr:TMatr;


n,m:integer;



implementation

{$R *.dfm}

Procedure Vvod(var Matr:TMatr; n,m:integer);

var i,j:integer;
begin

Randomize;

for i:=0 to n-1 do


for j:=0 to m-1 do


Matr[i,j]:=Int(random*40)-20;
end;

Procedure Vivod(var Matr:TMatr;n,m:integer;StringGrid1:TstringGrid);

var i,j:integer;
begin

for i:= 0 to n-1 do

for j:=0 to m-1 do


StringGrid1.Cells[j,i]:=FloatToStr(Matr[i,j]);
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
StringGrid1.RowCount := strtoint(edit1.text);
StringGrid1.ColCount := strtoint(edit1.text);

n:= strtoint(edit1.text);

m:= strtoint(edit1.text);

Vvod(Matr,n,m);

Vivod(Matr,n,m,StringGrid1);
end;


end.



хелп плыз

Raiden~

Пользователь

Регистрация: 03.07.2016

Сообщения: 404

Рейтинг: 346

Нарушения: 1000

Raiden~

Регистрация: 03.07.2016

Сообщения: 404

Рейтинг: 346

Нарушения: 1000

Это же задача для 9-го класса. Найс код стайл бтв..
На сайберфоруме поищи или книжки читай, лучше сразу изучить, чем потом тупить. Так что делай сам

ensou

Пользователь

Регистрация: 17.06.2013

Сообщения: 15718

Рейтинг: 12334

ensou

Регистрация: 17.06.2013

Сообщения: 15718

Рейтинг: 12334

держи
Спойлер:

unit Unit1;

interface

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

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

var
Form1: TForm1;
Type TMatr=array [1..50] of array [1..50] of real;
var matr:TMatr;
n,m:integer;



implementation

{$R *.dfm}

Procedure Vvod(var Matr:TMatr; n,m:integer);
var i,j:integer;
begin
Randomize;
for i:=0 to n-1 do
for j:=0 to m-1 do
Matr[i,j]:=Int(random*40)-20;
end;

Procedure Vivod(var Matr:TMatr;n,m:integer;StringGrid1:TstringGrid);
var i,j:integer;
begin
for i:= 0 to n-1 do
for j:=0 to m-1 do
StringGrid1.Cells[j,i]:=FloatToStr(Matr[i,j]);
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
StringGrid1.RowCount := strtoint(edit1.text);
StringGrid1.ColCount := strtoint(edit1.text);
n:= strtoint(edit1.text);
m:= strtoint(edit1.text);
Vvod(Matr,n,m);
Vivod(Matr,n,m,StringGrid1);
end;


end.


Спойлер:

VNH9L1uS8HY.jpg