var b: array[1..n, 1..n] of integer; a: array[1..n] of integer; i, j, s1, s2, max: integer;
begin Randomize; Writeln('Исходный массив'); //max := -777; {заведомо меньше меньшего} for i := 1 to n do begin for j := 1 to n do begin b[i, j] := Random(101) - 50; Write(b[i, j]:4) end; Writeln end;
s1 := 0; s2 := 0; for i := 1 to n do begin s1 := s1 + b[1, j]; s2 := s2 + b[j, j] end; if s1 > s2 then begin Writeln('Сформированный массив'); for i := 1 to n do begin max := b[i, 1]; for j := 2 to n do if max < b[i, j] then max := b[i, j]; a[i] := max; Write(max:4) end end else begin s1 := 0; s2 := 0; for i := 1 to n do for j := 1 to n do if b[i, j] > 0 then s1 := s1 + b[i, j] else s2 := s2 + b[i, j]; Writeln('Среднее арифметическое положительных элементов= ', s1/n); Writeln('Среднее арифметическое отрицательных элементов= ', s2/n); end end.
Воспользуемся формулой сложного процента: Сумма удвоится за 15 лет. Алгоритм: 1. Начало 2. Задать величину ежегодного процента p 3. Вычислить k=1+p/100 4. Вычислить n=ln(2)/ln(k) и округлить его в большую сторону до целых. 5. Вывести n 6. Конец
Если формула сложного процента неизвестна, можно использовать итерацию, задав некую начальную сумму и следя за моментом её удвоения. Алгоритм: 1. Начало 2. Задать значение начальной суммы s 3. Задать величину ежегодного процента p 4. Вычислить k=1+p/100 5. Установить 0⇒n, s⇒sk 6. Повторять пока sk<2*s 7. n+1⇒n, sk*k⇒sk 8. Конец цикла 9. Вывести n, sk 10. Конец
n = 6;
var
b: array[1..n, 1..n] of integer;
a: array[1..n] of integer;
i, j, s1, s2, max: integer;
begin
Randomize;
Writeln('Исходный массив');
//max := -777; {заведомо меньше меньшего}
for i := 1 to n do
begin
for j := 1 to n do
begin
b[i, j] := Random(101) - 50;
Write(b[i, j]:4)
end;
Writeln
end;
s1 := 0; s2 := 0;
for i := 1 to n do begin s1 := s1 + b[1, j]; s2 := s2 + b[j, j] end;
if s1 > s2 then begin
Writeln('Сформированный массив');
for i := 1 to n do
begin
max := b[i, 1];
for j := 2 to n do if max < b[i, j] then max := b[i, j];
a[i] := max;
Write(max:4)
end
end
else begin
s1 := 0; s2 := 0;
for i := 1 to n do
for j := 1 to n do
if b[i, j] > 0 then s1 := s1 + b[i, j]
else s2 := s2 + b[i, j];
Writeln('Среднее арифметическое положительных элементов= ', s1/n);
Writeln('Среднее арифметическое отрицательных элементов= ', s2/n);
end
end.
Тестовые решения:
Исходный массив
-32 38 -10 42 -30 -35
-13 -22 14 -2 -42 0
-38 18 29 39 -26 19
15 23 -4 -31 21 8
-36 13 -26 -6 -13 -10
-11 38 40 11 -10 -22
Среднее арифметическое положительных элементов= 61.3333333333333
Среднее арифметическое отрицательных элементов= -69.8333333333333
Исходный массив
-37 -22 38 25 -23 21
-33 -50 32 42 -1 7
9 29 -9 21 29 -4
50 13 -33 -13 -47 10
25 46 18 47 15 48
-48 12 -39 -8 34 14
Сформированный массив
38 42 29 50 48 34
Сумма удвоится за 15 лет.
Алгоритм:
1. Начало
2. Задать величину ежегодного процента p
3. Вычислить k=1+p/100
4. Вычислить n=ln(2)/ln(k) и округлить его в большую сторону до целых.
5. Вывести n
6. Конец
Если формула сложного процента неизвестна, можно использовать итерацию, задав некую начальную сумму и следя за моментом её удвоения.
Алгоритм:
1. Начало
2. Задать значение начальной суммы s
3. Задать величину ежегодного процента p
4. Вычислить k=1+p/100
5. Установить 0⇒n, s⇒sk
6. Повторять пока sk<2*s
7. n+1⇒n, sk*k⇒sk
8. Конец цикла
9. Вывести n, sk
10. Конец