Задача 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.