![]() |
|
|
Регистрация | << Правила форума >> | 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. |