Домашние задания: Информатика

Pascal. вводим числа пока не 0. Вывести в скольких из введённых чисел встретилась цифра 5.

Написал программу, но не могу найти ошибку
program m;
var a,a1,s:integer;
begin
readln(a);
while(a<>0)do
begin
a1:=(a mod 10);
if (a1=5) then
s:=s+1;
a:=(a div 10);
readln(a);
end;
writeln(s);
end.
Твоя программа считает не количество чисел с пятерками, а общее количество пятерок.
var a,a1,s:integer;
begin
readln(a);
while(a<>0)do
begin
a1:=a;
while a1>0 do
begin
if a1 mod 10=5 then
begin s:=s+1;break end else
a1:=a1 div 10
end;
readln(a);
end;
writeln(s);
end.
TH
Timur Hajibayew
83 844
Лучший ответ
у тебя работает
// Поиск чисел с цифрой 5
program Harisov;

var
a: array of integer;
n: integer;
c: integer := -1;

begin
writeln('Вводите числа (0 - конец): ');
while c <> 0 do begin
read(c);
setLength(a, length(a) + 1);
a[high(a)] := c;
end; // while c
for var i := 0 to high(a) do begin
// Оканчивается ли на 5?
if a[i] mod 10 = 5 then begin
n += 1;
continue;
end; // if a[]
// Есть ли цифра 5 в остальных разрядах?
while a[i] <> 0 do begin
if a[i] mod 5 = 0 then begin
n += 1;
break;
end; // if a[]
a[i] := a[i] div 10;
end; // while a[]
end; // for i
writeln('Чисел с цифрой 5: ', n);
end.
”*infinity *”
”*infinity *”
18 091
”*infinity *” Вводите числа (0 - конец):
12345
456
975
5
4
1234
654
789
7
8
0
Чисел с цифрой 5: 5
”*infinity *” Вводите числа (0 - конец):
-15
-467
456
-5
89
0
Чисел с цифрой 5: 3
program m;
var a,a1,s:integer;
T:BOOLEAN;
begin
S:=0;
readln(a);
while (a<>0) do begin
T:=TRUE
WHILE (A<>0) AND (T) DO BEGIN
a1:=(a mod 10);
if (a1=5) then BEGIN
T:=FALSE;
s:=s+1;
a:=(a div 10);
END;
readln(a);
end;
writeln(s);
end.