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

Ребят помогите дописать прогу в паскале абс

Дано натуральное число:
1)найти количество четных цифр числа;
2)верно ли, что данная цифра А встречается в числе более двух раз ( А вводится с клавиатуры)?
var c, s, n: integer; x,d :longint;
begin
writeln('введите x');
readln (x);
d:=x;
n:=0;
while x>0 do
begin
c:= x mod 10;
if c mod 2 =0 then n:= n+1;
x:= x div 10;
end;
writeln ('Четных цифр в числе ',d,' = ', n );
end.
Я написал для 1 ый а как для 2 ой подскажите плиз, вставьте в этот прогр код что добавить надо, а то не получается)
Мб тебе легче будет сделать это через строку? Ну, с функциями lenght() и т. д.
ВО
Вадим Оленёв
8 682
Лучший ответ
Бахытжан Бегимбетов Ну тип мы не прошли это еще)
var a, c, x, k: longInt;
begin
write ('x = ');
readln(x);
write ('введите цифру A = ');
readln(a );
k:=0;
c:=0;
while x > 0 do
begin
if x mod 10 = a then k:=k+1;
if x mod 2 = 0 then c:=c+1;
x:=x div 10;
end;
writeln ('Количество четных цифр числа = ', c);
writeln ('Цифра ',a,' встречается более 2 раз = ', k > 2 )
end.
var
number, digitS: string;
i, evenCnt, digitCnt: integer;
digit, tmp: byte;
begin
evenCnt := 0; digitCnt := 0; i := 1;
write('Type the number: '); readln(number);
write('Type digit A: '); readln(digitS); digit := Ord(digitS[1]) - 48;
if (digitS.Length > 1) or (digit > 9) or (digit < 0) then begin writeln('Invalid digit!'); exit; end;
if (number[i] = '+') or (number[i] = '-') then i := 2;
for i := i to number.Length do
begin
tmp := Ord(number[i]) - 48;
if (tmp > 9) or (tmp < 0) then begin writeln('Invalid number!'); exit; end;
if ((tmp mod 2) = 0) then evenCnt := evenCnt + 1;
if (tmp = digit) then digitCnt := digitCnt + 1;
end;
writeln('Even digits count: ', evenCnt);
writeln('Desired digit is contained more than two times is ', (digitCnt > 2).ToString());
end.

потрольте препода этим) (+ оно быстрее, чем делить кучу раз и не валится при вводе xy...z?)

если модить ваш вариант, то заведите переменные счетчика и цифры (Integer) спросите после ввода числа ещё и цифру, проверьте что она не больше 9 и не меньше нуля, внутри while перед div воткните if со сравнением введеной цифры и "c" и увеличением счетчика на один если true, вывод такой же как в коде выше

вариант с replace тоже можно использовать и смотреть на разницу в длинне, но это ещё один цикл (внутри replace)
Бахытжан Бегимбетов Можешь помочь ?