Sub MyMid()
a = Range("B3:B14")
n = UBound(a, 1)
s = 0
For i = 1 To n
s = s + a(i, 1)
Next i
Range("E3").Value = s / n
End Sub
<em><u>Можно и короче записать:</u></em>
Sub MyMid2()
Range("E3") = Application.WorksheetFunction.Average(Range("B3:B14"))
End Sub
У меня код на Си. Сумеешь перенести на плюсы?
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
#include <locale.h>
int main() {
setlocale (LC_ALL, "RUS");
int a, b, S, P;
printf("Введите длину прямоугольника: ");
scanf ("%d", &a);
printf("Введите ширину прямоугольника: ");
scanf ("%d", &b);
S = a * b; P = (a + b) * 2;
printf ("Площадь - %d \n Периметр - %d \n", S, P);
if (S > P)
printf ("Площадь больше периметра\n");
else
printf("Периметр больше площади\n");
system ("pause");
return 0;
}
1. Дан массив a, состоящий из 8 элементов. Получить массив b, в котором b[i] = a[i]*a[i] (1 <= i <=8).
var a,b:array[1..8] of integer;
i:integer;
begin
writeln('a:');
for i:=1 to 8 do
begin
a[i] := random(10);
write (a[i], ' ')
end;
writeln;
writeln('b:');
for i:=1 to 8 do
begin
b[i] := a[i]*a[i];
write (b[i], ' ')
end;
end.
Пример:
<span>a:
2 9 7 5 2 0 8 7
b:
4 81 49 25 4 0 64 49
2.
var a:array[1..9] of integer;
i:integer;
begin
writeln('a:');
for i:=1 to 9 do
begin
a[i] := random(50)+10;
write (a[i], ' ')
end;
writeln;
for i:=1 to 9 do
if a[i] mod 2 = 0
then writeln(a[i], ' - четное число')
else writeln(a[i], ' - нечетное число')
end.
Пример:
a:
55 51 18 35 33 56 15 56 47
55 - нечетное число
51 - нечетное число
18 - четное число
35 - нечетное число
33 - нечетное число
56 - четное число
15 - нечетное число
56 - четное число
47 - нечетное число </span>
Количество информации вычисляется по формуле I = log(2)1/p,
где p - вероятность наступления некоторого события.
Для зайца: p = 4/16 = 1/4; I = log(2)[1 / 1/4] = log(2)4 = 2 бита
Для медведя: p = 2/16 = 1/8; I = log(2)[1 / 1/8] = log(2)8 = 3 бита