// PascalABC.NET 3.1, сборка 1201 от 18.03.2016 begin var n:=ReadInteger('n='); var m:=18; var a:=MatrixRandom(m,n,-999,999); var imax:=0; var jmax:=0; for var i:=0 to m-1 do begin for var j:=0 to n-1 do begin Write(a[i,j]:5); if abs(a[i,j])>abs(a[imax,jmax]) then begin imax:=i; jmax:=j end end; Writeln end; Writeln('Максимум по модулю А[',imax+1,',',jmax+1, ']=',a[imax,jmax]) end.
Какое-то запутанное условие. Решение "в лоб", без оптимизаций:
Procedure Razmen(a : Integer); Begin If a>=500 then Begin Writeln('500 - ',a div 500); Razmen(a-(a div 500)*500); end else If a>=100 then Begin Writeln('100 - ',a div 100); Razmen(a-(a div 100)*100); end else If a>=50 then Begin Writeln('50 - ',a div 50); Razmen(a-(a div 50)*50); end else If a>=10 then Begin Writeln('10 - ',a div 10); Razmen(a-(a div 10)*10); end else If a>=5 then Begin Writeln('5 - ',a div 5); Razmen(a-(a div 5)*5); end else Writeln('1 - ',a); end; Begin Razmen(1530); end.
begin
var n:=ReadInteger('n=');
var m:=18;
var a:=MatrixRandom(m,n,-999,999);
var imax:=0;
var jmax:=0;
for var i:=0 to m-1 do begin
for var j:=0 to n-1 do begin
Write(a[i,j]:5);
if abs(a[i,j])>abs(a[imax,jmax]) then begin
imax:=i; jmax:=j
end
end;
Writeln
end;
Writeln('Максимум по модулю А[',imax+1,',',jmax+1,
']=',a[imax,jmax])
end.
Тестовое решение:
n= 10
-275 257 -860 744 -263 843 8 667 425 -547
-392 635 636 -441 -64 973 201 -864 -126 -868
-764 43 -884 -667 -113 807 354 966 -155 -527
532 -790 -911 0 -303 -471 453 431 -741 -582
-121 548 -946 610 724 -426 963 -589 -591 845
-846 629 728 634 -581 681 141 807 -142 -70
-510 42 -177 -48 -80 -601 547 -364 862 -593
-480 770 876 -544 253 -312 -11 -494 -391 -687
843 -56 558 0 -681 903 -519 -545 -418 15
387 646 -427 329 928 837 -274 101 -310 325
27 327 -452 -998 325 -616 752 273 -619 731
-307 -364 199 -454 86 546 483 823 -367 17
917 92 -945 -152 19 -126 198 -453 -473 416
961 888 815 283 286 -483 -604 557 674 935
-849 207 -926 -149 -677 -248 -552 -972 -756 -617
-646 -97 -532 673 407 934 272 700 -18 -548
186 206 -253 -35 769 -196 -179 915 259 -431
151 926 -851 -302 -134 -289 19 204 -474 -732
Максимум по модулю А[11,4]=-998
Решение "в лоб", без оптимизаций:
Procedure Razmen(a : Integer);
Begin
If a>=500 then
Begin
Writeln('500 - ',a div 500);
Razmen(a-(a div 500)*500);
end
else
If a>=100 then
Begin
Writeln('100 - ',a div 100);
Razmen(a-(a div 100)*100);
end
else
If a>=50 then
Begin
Writeln('50 - ',a div 50);
Razmen(a-(a div 50)*50);
end
else
If a>=10 then
Begin
Writeln('10 - ',a div 10);
Razmen(a-(a div 10)*10);
end
else
If a>=5 then
Begin
Writeln('5 - ',a div 5);
Razmen(a-(a div 5)*5);
end
else Writeln('1 - ',a);
end;
Begin
Razmen(1530);
end.