Задача 10.
Заданы три одномерных числовых массива одинаковой размерности. Определить количество положительных элементов в каждом массиве. В том из них, где это количество окажется больше всего, подкрасить зеленым цветом положительные элементы.
Решение:
Так как имеется три массива, с ними будут происходить похожие действия: ввод элементов, вывод на экран, подсчет количества положительных элементов, подкрашивание зеленым цветом. Удобно поэтому использовать процедуры.
Алгоритм основной программы к задаче 10:
Текст программы задаче 10.
ProgramEx_10;
Uses Crt;
TypeMas=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
IfY[i]>0 thenk:=k+1;
Kol:=k;
End;
Procedure Okras (Var Y: Mas);
Begin
For i:=1 to 15 do begin
IfY[i]>0 thenTextColor(2)
elseTextColor(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) thenOkras(B);
if (k3>k1) and (k3>k2) then Okras(C);
Readln;
End.