Другие языки программирования и технологии

Перевод кода из Pascal в C++

Имею небольшую программку, написанную на Pascal, а мне надо перевести ее в С++. Очень прошу вашей помощи. Код программы ниже:
var
n, k, i, a: integer;

begin
k := 0;
read(n);
for i := 1 to n do
begin
read(a);
if (a mod 3 = 0) and (a mod 5 <> 0) then inc(k);
end;
writeln(k);
end.
0) Библиотеки
Pascal: для ввода и вывода ничего не нужно подключать.
C++: нужна одна из нескольких библиотек. Например, #include

1) Объявление переменных
Pascal:
var n, k, i, a: integer; {Перед началом основной программы}
C++:
int n, k, i, a; //Можно внутри основной программы

2) Основная программа
Pascal: begin ...end.
C++: int main() { ...}

3) Присвоение
Pascal: k := 0;
C++: k = 0;

4) Чтение данных
Pascal: read(n);
C++: cin >> n;
То есть мы запрашиваем данные из входного потока (англ. in - внутрь) и стрелочкой кладем их в переменную n.

Подробнее здесь: life-prog.ru/view_zam.php?id=8

5) Циклы
Pascal: for i := 1 to n do begin ...end;
C++: for (i = 1; i <= n; i++) { ...}

Можно даже объявить переменную прямо в этой строчке, если она не была объявлена ранее:
for (int i = 1; ...)

Что происходит? Оператор for состоит из трех частей, разделенных точками с запятой:
for (... ; ...; ...)
В первой части мы задаем начальное значение для переменной цикла: i = 1.
Во второй части мы записываем условие, при соблюдении которого цикл повторяется: i <= n.
В третьей части мы записываем действие, которое производится после каждой итерации (повтора) цикла.
i++ -увеличиваем значение переменной i (на единицу).

6) Условия
Pascal: if <условие> then <действие>;
C++: if (<условие>) действие;

7) Вывод данных
Pascal: writeln(k);
C++: cout << k;
Стрелочкой кладем значение переменной k в выходной поток (англ. out - наружу).
Дмитрий Владимиров
Дмитрий Владимиров
82 234
Лучший ответ
Дмитрий Владимиров Как уже отметил Краб Барк, операция деления по модулю (mod) записывается при помощи знака процента (%). А вместо Inc(k) пишем k++.
#include <iostream>
using namespace std;
int main(){int n,k=0,a; cin>>n; for(int i=1;i<=n;i++)cin>>a,k+=!(a%3)&&a%5;cout<<k<<endl;}