Переведите из PascalABC в C++ var p3,h,p,p1: array[1..2000000] of int64; i,n,j,u,l,kf,x,o,p2:int64; begin u:=0; read(n,x);p2:=0;
Mari777 [180]
Объяснение: почти все компиляторы имеют ограничение по оперативной памяти, а программа требует ее в количестве Дохрена , потому пришлось использовать либо вектора либо динамичнские массивы(я выбрал динамические )
#include <iostream>
using namespace std;
int main()
{
long long *p = new long long[2000000];
long long *p1 = new long long[2000000];
long long *p3 = new long long[2000000];
long long *h = new long long[2000000];
long long n, u{0}, kf, x, o, p2{0};
cin >> n >> x; //n=1 x=2
for (long i = 0; i < n; i++)
cin >> h[i]; //=3
cin >> kf; //=5
for (long i = 0; i < kf; i++)
{
cin >> p[i];
if (p[i] == 1)
cin >> h[n++];
if (p[i] == 2)
p2++;
if (p[i] == 3)
{
long long l{0};
cin >> p3[u];
p3[u] += p2 + 1;
for (long long j = p2; j < p3[u] - 1; j++)
if (h[j] >= x)
l++;
u++;
cout << l << endl;
};
};
delete[] p, p1, p3, h;
}
CLS
RANDOMIZE TIMER
DIM a(10)
FOR i=1 TO 10
a(i) = INT(RND * 21) - 10
NEXT i
n=0
FOR i=1 TO 10
IF a(i)>=-3 AND a(i)<=3 THEN n=n+1
NEXT i
PRINT n
END
20 страниц, в каждой 5 строк по 20 символов. Всего символов в книге: 2000.
Переведем вес всей книги в байты: 5.86*1024=6000.64байт. А затем в биты: 6000.64*8=48005,12бит в книге. Следовательно, один символ занимает 48000.12/2000=24.00256 бита. Но так как биты дробными не бывают, получается, что на один символ тратится 25 бит. Теперь узнаем, сколько символов может быть в алфавите, если на кодировку одного символа уходит 25 бит. Это считается по формуле N=2^i N=2^25=33554432 символов, что похоже на маразм. Видимо условие не совсем точно)
В таком виде программа, хотя бы запустится:
program i_2;
const c=2; f=4; g=6;
var r,p: real;
begin
writeln('определение площади треугольника по теореми Герона');
write('нахождение площади');
readln(r);
p:=(c+f+g)/2;
r:=sqrt(p*(p-c)*(p-f)*(p-g))
end.
Но есть куча вопросов:
1) Если c, f, g - стороны треугольника, то что такое - r ?
2) Если r - это площадь, то как мы можем её ввести, если мы хотим её сосчитать?
3) Где вывод полученной информации (writeln(r))?
4) Треугольника со сторонами c=2, f=4 и g=6 существовать не может
Предлагаю отказаться от экзотических обозначений и сделать проверку на существование треугольника, а также добавить получение данных по сторонам от пользователя:
program i_2;
var a,b,c,p,s: real;
begin
writeln('Определение площади треугольника по теореме Герона');
write('Введите стороны треугольника: ');
readln(a,b,c);
if (a + b <= c) or (b + c <= a) or (a + c <= b) then writeln ('Треугольника с
такими сторонами не существует')
else
begin
p:=(a+b+c)/2;
s:=sqrt(p*(p-a)*(p-b)*(p-c));
writeln('Площадь треугольника равна ',s:0:3)
end
end.
3*100+4*10+5
1*2^4+1*2^3+1*2^0
3*8^2+2*8^1+7*8^0
d*16^2+e*16^1+a*16^0+f*16^-1+b*16^-2 (буковки на чиселки по таблички можно перевести)
1*2^5+1*2^0+1*2^-1+1*2^-2+1*2^-4