М
Молодежь
К
Компьютеры-и-электроника
Д
Дом-и-сад
С
Стиль-и-уход-за-собой
П
Праздники-и-традиции
Т
Транспорт
П
Путешествия
С
Семейная-жизнь
Ф
Философия-и-религия
Б
Без категории
М
Мир-работы
Х
Хобби-и-рукоделие
И
Искусство-и-развлечения
В
Взаимоотношения
З
Здоровье
К
Кулинария-и-гостеприимство
Ф
Финансы-и-бизнес
П
Питомцы-и-животные
О
Образование
О
Образование-и-коммуникации
Makcuм
Makcuм
27.11.2021 10:19 •  Информатика

Переведите из pascalabc в c++

var p3,h,p,p1: array[1..2] of int64;

i,n,j,u,l,kf,x,o,p2: int64;

begin

u: =0;

read(n,x); p2: =0;

for i: =1 to n do read(h[i]);

read(kf);

i: =1;

for i: =1 to kf do begin read(p[i]);

if p[i]=1 then begin n: =n+1; read(h[n]); end;

if p[i]=2 then p2: =p2+1;

if p[i]=3 then begin

u: =u+1;

read(p3[u]);

p3[u]+=1+p2;

l: =0;

for j: =1+p2 to (p3[u]-1) do begin if h[j]> =x then l: =l+1; end;

writeln(l);

end;

end;

end.
ввод:
1 2
3
5
1 2
1 1
3 0
3 1
3 2
вывод:
0
1
2

👇
Ответ:
bolshikov
bolshikov
27.11.2021

Объяснение: почти все компиляторы имеют ограничение по оперативной памяти, а программа требует ее в количестве Дохрена , потому пришлось использовать либо вектора либо динамичнские массивы(я выбрал динамические )

#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;

}

4,4(39 оценок)
Открыть все ответы
Ответ:
HaskyZ0nG
HaskyZ0nG
27.11.2021

ответ:Можно управлять чем-то вручную, а можно запрограммировать и надеяться, что все сработает как надо. В быту широко используется программное управление для выполнения стандартных операций. Например выбор режим стирки в стиральной машине. При выборе того или иного режима активируется соответствующая программа и удобно.

Точно также производится готовка в мультиварке. Но когда требуется сделать что-то, чего не учитывает программа, делать приходится вручную.

При всей универсальности программа не может учесть всего. Всегда приходится что-то корректировать. Поэтому на практике приходится прибегать к обоим методам. Особенно, когда ручное управление затруднено. Так происходит, например при управлении марсоходом. Радиосигнал идет довольно долго и порулить" марсоходом с земли в реальном времени не получится. Приходится отправлять блок команд и принимать сигнал о их выполнении.

В общем, вручную безусловно лучше, но не всегда возможно.

4,5(45 оценок)
Ответ:
MonteCarlo
MonteCarlo
27.11.2021

ДЗ для ВЕРЫ ВИКТОРОВНЫ:

Объяснение:

Var I, N, m: integer;

{Выводит таблицу квадратов до N числа}

Begin

Readln(N); //Что вводим в этой строке и зачем? Как можно подсказать пользователю, что ввести?  

{Вводим до какого числа нам нужно получить квадрат; Подсказать можно через WRITELN}

Writeln('Таблица квадратов чисел от 1 до N'); //Сколько раз выполняется этот оператор?

{Один раз}

For i:=1 to N do //Сколько раз выполнится цикл?

{N раз}

Begin //Зачем снова писать операторные скобки?

{Затем, что это цикл, который всегда обособляется и отделяет от остальных операторов}

m:=i*I;

Writeln(I,' ',m); //Как по-другому оставить пробелы между столбиками?

{Можно сделать так    -     Writeln(I:3,m:16);}

End;

End.

4,7(66 оценок)
Новые ответы от MOGZ: Информатика
logo
Вход Регистрация
Что ты хочешь узнать?
Спроси Mozg
Открыть лучший ответ