Заданы три одномерных числовых массива одинаковой размерности. Определить количество положительных элементов в каждом массиве. В том из них, где это количество окажется больше всего, подкрасить зеленым цветом положительные элементы.
Решение:
Так как имеется три массива, с ними будут происходить похожие действия: ввод элементов, вывод на экран, подсчет количества положительных элементов, подкрашивание зеленым цветом. Удобно поэтому использовать процедуры.
Алгоритм основной программы к задаче 10:
Текст программы задаче 10.
Program Ex_10;
Uses Crt;
Type Mas=Array[1..15] of integer;
Var A, B, C:Mas;
i, j: integer;
Procedure Vvod (Var Y:Mas);
Begin
For i:=1 to 15 do
Y[i]:=random(101)-50;
End;
Procedure Vivod (Var Y: Mas);
Begin
For i:=1 to 15 do begin
Write(Y[i]:4);
End;
Writeln;
End;
Function Kol (Var Y: Mas): integer;
Var k:integer;
Begin
k:=0;
For i:=1 to 15 do
If Y[i]>0 then k:=k+1;
Kol:=k;
End;
Procedure Okras (Var Y: Mas);
Begin
For i:=1 to 15 do begin
If Y[i]>0 then TextColor(2)
else TextColor(7);
Write(Y[i]:4);
End;
End;
Begin
ClrScr;
Randomize;
Vvod (A);
Vvod (B);
Vvod( C);
Vivod (A);
Vivod (B);
Vivod (C);
k1:= Kol (A);
k2:= Kol (B);
k3:= Kol( C);
Writeln (‘k1=’,k1,’ k2=’,k2,’ k3=’,k3);
if (k1>k2) and (k1>k3) then Okras(A);
|
|
if (k2>k1) and (k2>k3) then Okras(B);
if (k3>k1) and (k3>k2) then Okras(C);
Readln;
End.