образовать и вывести одномерный массив. первый положительный элемент поменять местами с максимальным. сделано на паскале. проблема в том что при выводе получаю в массиве два одинаковых значения.
| Код | uses Crt; var a:array[1..12] of real; k : integer; pd,max,e,d,q : real; begin clrscr; max:=0;
pd:=0; e:=0; for k:=1 to 12 do begin a[k]:=7*abs(k)+(((2*k+0.2)*cos(4*k)/sin(4*k))/((k+3)*(0.3*k+4))); writeln('a(',k,')=', a[k]:4:2); if max<a[k] then max:=a[k]; d:=max; end; for k:=1 to 12 do begin while e=0 do begin a[k]:=7*abs(k)+(((2*k+0.2)*cos(4*k)/sin(4*k))/((k+3)*(0.3*k+4))); if a[k]>=0 then e:=1; pd:=a[k]; q:=pd; end; end; writeln; writeln('--------------'); writeln; for k:=1 to 12 do begin a[k]:=7*abs(k)+(((2*k+0.2)*cos(4*k)/sin(4*k))/((k+3)*(0.3*k+4))); if a[k]=pd then a[k]:=d; if a[k]=max then a[k]:=q; writeln('a(',k,')=', a[k]:4:2); end; writeln('max=', max:4:2); writeln('pd=', pd:4:2);
readln; end.
|
|