![]() |
|
|
|||||||
| Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
|
Опции темы | Поиск в этой теме | Опции просмотра |
|
#1
|
||||
|
||||
|
Составить процедуру, заменяющую все отрицательные элементы исходной матрицы их модулями и фиксирующую число таких замен. Применить эту процедуру для заданной матрицы NхM, причем в случае совпадения числа замен с общим числом элементов в матрице предусмотреть дополнительно вывод поясняющего текста.
|
|
#2
|
||||
|
||||
|
так чтоль?
Код:
const
N = 50;
M = 100;
type
TMatrix = array [1..N,1..M] of integer;
procedure ChangeElements(var aMatrix:TMatrix;aMessage:string);
var
i,j,count:integer;
begin
count:=0;
for i:=1 to N do
for j:=1 to M do
if aMatrix[i,j]<0 then
begin
aMatrix[i,j]:=abs(aMatrix[i,j]);
inc(count);
end;
if count=M*N then
WriteLn(aMessage);
end; |
|
#3
|
||||
|
||||
|
пока не получается, где-то намудрил.
Код:
Type
TA=array of real;
TA1=array of TA;
var
Form1: TForm1;
a: TA1; n,m: Longint;
implementation
{$R *.dfm}
procedure TForm1.Button1Click(Sender: TObject);
begin
SetLength(a,n,m);
n:= StrToInt (trim(Edit1.Text));
m:= StrToInt (trim(Edit2.Text));
SetLength (a,n,m);
StringGrid1.RowCount:=n;
StringGrid1.ColCount:=m;
end;
procedure Samena (a:TA1 );
var
i,j,n,m: Longint;
s:real;
begin
n:=Length(a);
m:=Length(a);
s:=a[0,0];
for i:=0 to n-1 do
for j:=0 to m-1 do
if s<0 then
begin
s:=abs(a[i,j]);
end;
end;
procedure TForm1.Button2Click(Sender: TObject);
var
i,j:Longint;
begin
for i:=0 to n-1 do
for j:=0 to m-1 do
a[i,j]:= StrToFloat (StringGrid1.Cells[i,j]);
Samena (a);
StringGrid1.Cells[i,j]:=FloatToStr(a[i,j]);
end;
end. |