// PascalABC.NET 3.3, сборка 1549 от 17.10.2017
// Внимание! Если программа не работает, обновите версию!
begin
var n:=ReadInteger('Количество строк в матрице:');
var m:=ReadInteger('Количество столбцов в матрице:');
Writeln('*** Исходная матрица [',n,',',m,'] ***');
var a:=MatrRandom(n,m,-99,99);
a.Println(4); Writeln(4*a.ColCount*'-');
var (i,k):=(0,-1);
foreach var c in a.Cols do
if c.Where(e->e.IsEven).Count<5 then k:=i
else i+=1;
if k>=0 then begin
Writeln('*** Матрица - результат [',n,',',m+1,'] ***');
SetLength(a,n,m+1);
for var c:=a.ColCount-1 downto k+1 do
a.SetCol(c,a.Col(c-1));
a.SetCol(k+1,ArrFill(a.RowCount,0));
a.Println(4)
end
else Writeln('Нет столбцов с количеством четных элементов, меньшим 5')
end.
Пример
Количество строк в матрице: 8
Количество столбцов в матрице: 6
*** Исходная матрица [8,6] ***
38 -44 50 20 -85 -92
15 -43 43 6 -80 63
76 2 -63 32 14 -37
-78 -30 94 -45 44 -25
-74 30 15 -56 -41 -88
72 -15 -74 38 -47 -76
11 -75 -2 70 35 65
-52 -42 9 94 59 -28
------------------------
*** Матрица - результат [8,7] ***
38 -44 50 20 0 -85 -92
15 -43 43 6 0 -80 63
76 2 -63 32 0 14 -37
-78 -30 94 -45 0 44 -25
-74 30 15 -56 0 -41 -88
72 -15 -74 38 0 -47 -76
11 -75 -2 70 0 35 65
-52 -42 9 94 0 59 -28
Ну вот, полное решение твоего задания.
#include <iostream>
using namespace std;
int main(){
cout << "Enter n: ";
int n;
cin >> n;
double p = 1;
for(int i = 2; i<n; i++){
p *= ((double)i)/(i+1.0);
}
cout << ''Result is: " << p << endl;
}
Как-то так, программу не компилировал, могут быть незначительные синтаксические ошибки, но основной алгоритм такой.
13,31,15,51,57,75,53,35,71,17,73,37.
1.
, 6бит на символ, 6*100 = 600бит = 75байт.
2. 3.5кб * 1024 = 3584байт <=> 3584 символов (1 символ - 1 байт)