1. Удобнее использовать цикл Repeat. 2. Так как в условии не оговорено, что 0 не включается, то и его тоже считаем:
//PascalABC.NET (версия 3.1, сборка 1196 от 09.03.2016) begin var n := 0; var a: integer; repeat a := ReadInteger('Введите число :'); if a mod 3 = 0 then begin n := n + 1; println('Число делится на 3'); end; until a = 0; println('количество чисел', n); end.
2. Так как в условии не оговорено, что 0 не включается, то и его тоже считаем:
//PascalABC.NET (версия 3.1, сборка 1196 от 09.03.2016)
begin
var n := 0;
var a: integer;
repeat
a := ReadInteger('Введите число :');
if a mod 3 = 0 then begin
n := n + 1; println('Число делится на 3');
end;
until a = 0;
println('количество чисел', n);
end.
/* Символ 0 не включается */
#include <iostream>
#include <vector>
using namespace std;
int main()
{
int max=0;
int n;
vector<int> v;
do {
cin >>n;
if (n%3==0 && n!=0) v.insert(v.end(), n);
} while (n!=0);
for (int i=0; i<v.size(); i++)
cout <<v[i] <<" ";
cout <<endl;
return 0;
}