Максимально , работа на abcpaskal введите пять чисел с клавиатуры, смените цвет фона экрана и выведите числа в центре экрана , причем красным цветом четные, но не кратные десяти, синим цветом-кратные десяти, желтым цветом-нечетные паскаль
begin for i := 1 to 5 do read(ar[i]); window.IsFixedSize := true; window.Init(0, 0, 800, 800, clDarkGray); window.CenterOnScreen; SetFontSize(32); for i := 1 to 5 do c := c + ar[i].ToString.Length; for i := 1 to 7 do writeln; write(' ':33 - c); for i := 1 to 5 do begin if(ar[i] mod 2 = 0) and (ar[i] mod 10 <> 0) then begin SetFontColor(clred); write(ar[i]); end else if(ar[i] mod 10 = 0) then begin SetFontColor(clblue); write(ar[i]); end else if(ar[i] mod 2 <> 0) then begin SetFontColor(clyellow); write(ar[i]); end end; end.
Var ar1:array of real;ar2:array of real; n,i,maxi1,maxi2,seed:integer; max1,max2:real;
function gener(var ar:array of real;i:integer; var seed:integer):real; begin; randomize(seed); {В этой задаче я впервые столкнулся с неслучайным random(). Чтобы она генерировала новый ряд чисел, измените значение seed в начале основной программы} seed:=random(-10,10); ar[i]:=random(-10,10); gener:=ar[i]; end;
procedure maxS(ar:array of real;var maxi,n:integer; var max:real); var i:integer; begin; max:=-2147483648; for i:=1 to n do if max<ar[i] then begin; max:=ar[i]; maxi:=i; end; for i:=maxi+1 to n do ar[i]:=0.5; end;
begin; randomize; readln(n); setlength(ar1,n+1); setlength(ar2,n+1); writeln('Array A:'); for i:=1 to n do write(gener(ar1,i,seed):4); seed:=random(-10,10); writeln; writeln('Array B:'); for i:=1 to n do write(gener(ar2,i,seed):4); maxS(ar1,maxi1,n,max1); maxS(ar2,maxi2,n,max2); writeln; writeln('Final array A:'); for i:=1 to n do write(ar1[i]:4); writeln; writeln('Final array B:'); for i:=1 to n do write(ar2[i]:4); end.
//Визуально разделил циклы, чтобы было более читаемо
var ar:array[1..10] of integer; max,i:integer; begin; randomize; //чтобы random() работал как надо writeln('Array');
for i:=1 to 10 do begin; ar[i]:=random(-10,10); //случайное число от -10 до 10 write(ar[i]:4); end;
for i:=1 to 10 do //"проходим" через весь массив if (ar[i]<0) and (max<abs(ar[i])) then max:=abs(ar[i]); {если элемент массива меньше нуля и его модуль больше максимума тогда записать модуль этого числа в максимум}
writeln; writeln('Max:-',max); //выводим на всякий случай максимум
writeln('Final array:'); for i:=1 to 10 do //снова проходим по всему массиву begin; if ar[i]=-max then ar[i]:=0; {если элемент равен отрицательному максимуму(мы брали модуль) присвоить ему 0} write(ar[i]:4); end; end.
var
i, c: integer;
ar: array[1..5]of integer;
begin
for i := 1 to 5 do read(ar[i]);
window.IsFixedSize := true;
window.Init(0, 0, 800, 800, clDarkGray);
window.CenterOnScreen;
SetFontSize(32);
for i := 1 to 5 do c := c + ar[i].ToString.Length;
for i := 1 to 7 do writeln;
write(' ':33 - c);
for i := 1 to 5 do
begin
if(ar[i] mod 2 = 0) and (ar[i] mod 10 <> 0) then
begin
SetFontColor(clred);
write(ar[i]);
end
else if(ar[i] mod 10 = 0) then
begin
SetFontColor(clblue);
write(ar[i]);
end
else if(ar[i] mod 2 <> 0) then
begin
SetFontColor(clyellow);
write(ar[i]);
end
end;
end.