Sub aaa() Dim r As Range Set r = Range(Cells(1, 1), Cells(9, 6)) Z = r kn = 0: kp = 0 For Each a In Z If a < 0 Then kn = kn + 1 If a > 0 Then kp = kp + 1 Next Cells(12, 1) = "Положительных" + Str(kp) Cells(13, 1) = "Отрицательных" + Str(kn) End Sub
3,7,9 37,93,79 973,979,373 Вообще говоря это зависит от формулировки "используя цифры". Из задания непонятно, использовать нужно ВСЕ цифры, или достаточно использования любых из них. Если под словом "используя" понимать, что можно использовать только эти цифры, но при этом использовать все не обязательно, то можно записать 77 и 999. Всего трёхзначных чисел из цифр 3,7,9 можно записать 3*3*3 (по три возможных цифры на каждую позицию - если цифры на позициях могут повторяться. и 3*3*1, если не могут повторяться.
Uses crt;const nmax=100;var a1,a2: array[1..nmax] of integer; n,i,b,k,s: integer;begin randomize; clrscr; repeat write('Введите размер массива n (n in [1..',nmax,']): '); readln(n); write('Введите число B (0<B<100): '); readln(b); until (n in [1..nmax]) and (b in [1..99]); writeln('Массив A1'); for i:=1 to n do begin a1[i]:=random(99); write(a1[i]:4); if a1[i]>b then begin inc(k); a2[k]:=i; s:=s+a1[i]; end; end; writeln; writeln('Среднее элеметов, больших B = ',s/k:0:2); writeln('Массив A2:'); for i:=1 to k do write(a2[i]:4); readln;end.
Dim r As Range
Set r = Range(Cells(1, 1), Cells(9, 6))
Z = r
kn = 0: kp = 0
For Each a In Z
If a < 0 Then kn = kn + 1
If a > 0 Then kp = kp + 1
Next
Cells(12, 1) = "Положительных" + Str(kp)
Cells(13, 1) = "Отрицательных" + Str(kn)
End Sub
Во вложении рабочая книга MS Excel 2003