Форум программистов, компьютерный форум, киберфорум
Pascal (Паскаль)
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.80/54: Рейтинг темы: голосов - 54, средняя оценка - 4.80
0 / 0 / 0
Регистрация: 08.09.2009
Сообщений: 7
1

Сколько раз заданная цифра встречается в числе N

08.09.2009, 16:06. Показов 10203. Ответов 19
Метки нет (Все метки)

Вот задание: сколько раз заданная цифра встречается в числе N?
Срочно нужно!Ооочень!
__________________
Помощь в написании контрольных, курсовых и дипломных работ здесь
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
08.09.2009, 16:06
Ответы с готовыми решениями:

Сколько раз в заданном натуральном числе n встречается заданная цифра k?
Определить, сколько раз в заданном натуральном числе n встречается заданная цифра k....

Сколько раз заданная цифра встречается в заданном целом числе?
Нужно вот задачки решить:1.найти сумму цифр числа больших пяти 2.сколько раз заданная цифра...

Сколько раз в числе встречается максимальная цифра
1.Дано натуральное число n.Сколько раз в нём встречается максимальная цифра? 2.Найти 10 первых...

Сколько раз в числе встречается цифра, равная первой?
Дано натуральное число. Определить, сколько раз в нем встречается цифра, равная первой.

19
4116 / 992 / 191
Регистрация: 09.04.2009
Сообщений: 4,223
08.09.2009, 16:16 2
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
program tryljalja;
uses crt;
var
c,cc:string;
i,n,m:integer;
begin
n:=0;
writeln('vvedite chislo');
readln(cc);
writeln('vvedite iskomyjy cufry');
readln(c);
m:=length(cc);
for i:=1 to m do begin
if cc[i]=c then
n:=n+1;
end;
writeln('vstrechaetsa ',n,' raz');
readln;
end.
как-то так)

Добавлено через 2 минуты
а вообще-то девушка(сужу по нику), то поиском надо пользоватса... там еще и не такое найдете)
1
0 / 0 / 0
Регистрация: 08.09.2009
Сообщений: 7
08.09.2009, 16:21  [ТС] 3
Спасибо конечно))Но есть проблема...
я пишу
Pascal
1
2
3
4
5
6
7
8
9
10
11
Programm grt;
uses crt;
var N,m,k,a:longint;
begin
clrscr;
writeln('введи число');
readln(N);
m:=N;
k:=0;
WHILE m<>0 do
begin
а вот тут дальше я не знаю что писать...тут что-то должно быть типа такого m mod 10 и т.п... потом на следующей строчке стоит..IF тут снова не знаю что)) THEN и тут тоже не знаю...ну а как результат выводить я знаю))Вот именно такого типа должно быть))Это нам училка задала))
0
701 / 573 / 59
Регистрация: 18.11.2008
Сообщений: 2,147
08.09.2009, 16:23 4
Цитата Сообщение от Yuliana Посмотреть сообщение
тут что-то должно быть типа такого m mod 10 и т.п...
так попробуй:
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
program prog;
uses crt;
var n, c, count : integer;
begin
clrscr;
write('Введите число: '); readln(n);
write('Введите цифру: '); readln(c);
count := 0;
while (n div 10 <> 0) begin
  if (n mod 10 = c) then
    inc(count);
  n := n div 10;
end;
write('Цифра ', c ,' встречается ', count , ' раз.');
readln;
end.
1
Эксперт по компьютерным сетямЭксперт Pascal/Delphi
4170 / 1275 / 231
Регистрация: 27.07.2009
Сообщений: 3,947
08.09.2009, 16:26 5
если брать в расчет, что число - это число, а не строка и цифра - тоже число, а не строка, то вот решение этой задачи на двух числовых переменных, используя только математику:
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
var
 N, M: longint;
Begin
 Write('Число: ');
 Readln(N);
 Write('Цифра: ');
 Readln(M);
 M:=M*100;
 While N<>0 do
  Begin
   If (N mod 10)=(M div 100) then Inc(M);
   N:=N div 10;
  End;
 M:=M mod 100;
 Writeln('Result: ',M);
End.
0
0 / 0 / 0
Регистрация: 08.09.2009
Сообщений: 7
08.09.2009, 16:37  [ТС] 6
Тут такой вопрос..на счёт своей задачки говорю))Вообщем..что можно написать вместо
Цитата Сообщение от GаlаX Посмотреть сообщение
inc(count)
?
0
Эксперт по компьютерным сетямЭксперт Pascal/Delphi
4170 / 1275 / 231
Регистрация: 27.07.2009
Сообщений: 3,947
08.09.2009, 16:39 7
Цитата Сообщение от Yuliana Посмотреть сообщение
что можно написать вместо
Pascal
1
Count:=Count+1;
1
0 / 0 / 0
Регистрация: 08.09.2009
Сообщений: 7
08.09.2009, 16:53  [ТС] 8
Спасибо всем большое)))

Добавлено через 11 минут
Итак..так как в школе мы пишем немного по-другому,то вышло так..
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
Program grd;
uses crt;
var N,m,k,a:longint;
begin
clrskr;
writeln('введи число');
readln(N)l
writeln('введи цифру');
readln(a);
m:=N;
k:=0;
WHILE m><0 do
begin
a:=m div 10;
IF m mod 10=a THEN k:=a+1;
m:=m mod 10;
end;
writeln('кол-во повторений заданной цифры ', a, 'равно',k);
readln;
end.
В этой задачке что-то не так..у меня просто после того,как я ввожу число..у меня программа зацикливается..и я не знаю что делать дальше..найдите ошибку,пожалуйста))
0
Почетный модератор
64069 / 47481 / 32732
Регистрация: 18.05.2008
Сообщений: 115,185
08.09.2009, 17:01 9
WHILE m><0 do
Это что за знаки? Вас так учат?
0
Эксперт по компьютерным сетямЭксперт Pascal/Delphi
4170 / 1275 / 231
Регистрация: 27.07.2009
Сообщений: 3,947
08.09.2009, 17:05 10
Цитата Сообщение от Puporev Посмотреть сообщение
Это что за знаки?

Не по теме:

это смайлик жмурится между буквой m и нулем )))

0
0 / 0 / 0
Регистрация: 08.09.2009
Сообщений: 7
08.09.2009, 17:09  [ТС] 11
Цитата Сообщение от Puporev Посмотреть сообщение
Это что за знаки? Вас так учат?
Да..данас так учат)))

Добавлено через 41 секунду

Не по теме:

Цитата Сообщение от TAVulator Посмотреть сообщение
это смайлик жмурится между буквой m и нулем )))
Училка в аське пересидела:D



Добавлено через 2 минуты
Ну так вот..что у меня в задаче не так?))
0
Почетный модератор
64069 / 47481 / 32732
Регистрация: 18.05.2008
Сообщений: 115,185
08.09.2009, 17:21 12
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
Program grd;
uses crt;
var N:Longint;{число}
    k,a,c:byte;{счетчик, зажанная и найденная цифры}
begin
clrscr; {не clskr}
writeln('введи число');
readln(N);
writeln('введи цифру');
readln(a);
k:=0; {вот здесь для чего еще m была?}
WHILE n<>0 do{ не ><}
 begin
  c:=n mod 10;{отделяем цифру с конца}
  IF c=a THEN k:=k+1;{если она как заданная, считаем}
  n:=n div 10;{берем чсло без этой цифры и повторяем, пока число не кончится}
end;
writeln('кол-во повторений заданной цифры ', a, 'равно=',k);
readln;
end.
1
0 / 0 / 0
Регистрация: 08.09.2009
Сообщений: 7
08.09.2009, 17:30  [ТС] 13
Цитата Сообщение от Puporev Посмотреть сообщение
k:=0; {вот здесь для чего еще m была?}
m-это дополнительное число..нам так сказали сделать..заменить N на m


Цитата Сообщение от Puporev Посмотреть сообщение
clrscr; {не clskr}
ну да,я опечаталась))

Добавлено через 4 минуты
Цитата Сообщение от Puporev Посмотреть сообщение
k,a,c:byte;{счетчик, зажанная и найденная цифры}
у меня по идее должно быть само число..N, m-дополнительная переменная,k-счётчик,a-заданная цифра..а зачем нужна "c"?
0
Почетный модератор
64069 / 47481 / 32732
Регистрация: 18.05.2008
Сообщений: 115,185
08.09.2009, 17:30 14
Сохранять исходное число в другой переменной нужно, если исходное число потом нам понадобится, иначе мы его уничтожаем. В данном случае это число нам больше не нужно, мы посчитали вхождения цифры и все. А с- это я Вам написал, правда с опечаткой, что это
k,a,c:byte;{счетчик, заданная и найденная цифры}
с-это переменная, в которой временно хранятся отделяемые с конца цифры, c:=n mod 10; например в числе 456 с последовательно принимает значения 6, 5, 4.
1
0 / 0 / 0
Регистрация: 08.09.2009
Сообщений: 7
08.09.2009, 17:38  [ТС] 15
Всё,поняла))Спасибо!))

Добавлено через 3 минуты
Всё вышло!))
0
1 / 1 / 1
Регистрация: 25.06.2019
Сообщений: 17
28.06.2019, 10:06 16
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
var
  x, c, n, r, m: integer;
 
begin
  write('Введите число: ');
  read(x);
  m := x;
  write('Введите цифру: ');
  read(n);
  while(x <> 0) do 
  begin
    c := x mod 10;
    if (c = n) then inc(r);
    x := x div 10;
  end;
  write('Цифра ', n, ' встречается в числе ', m, ', ', r, ' раз');
end.
0
2381 / 1172 / 477
Регистрация: 19.03.2019
Сообщений: 3,808
28.06.2019, 10:48 17
white0prof-, раз уж ты поднял древнейшую тему, то

желательно обнулить r и лучше взять модуль числа (для отрицательных чисел тоже будет работать)
Pascal
1
2
x := abs(x);
while(x <> 0) do ...
а вот тебе вопрос.
в числе 0 цифра 0 сколько раз встречается?
а что твой код выдаст?
1
359 / 226 / 120
Регистрация: 25.06.2019
Сообщений: 831
28.06.2019, 12:01 18
Pascal
1
2
3
4
5
repeat
  c:=x mod 10;
  if c=n then r:=r+1;
  x:=x div 10;
until x=0;
0
Модератор
Эксперт Pascal/DelphiЭксперт NIX
5982 / 3561 / 2502
Регистрация: 22.11.2013
Сообщений: 10,116
Записей в блоге: 1
28.06.2019, 12:06 19
Pascal
1
2
3
4
5
6
7
8
9
var n: Longint; d, k: Integer;
begin
  Write('Число и цифра: '); ReadLn(n,d); n:=Abs(n);
  repeat
    if n mod 10=d then Inc(k); { Inc(k,Ord(n mod 10=d)); }
    n:=n div 10;
  until n=0;
  WriteLn('Цифра ',d,' встречается ',k,' раз(а)');
end.
1
1 / 1 / 1
Регистрация: 25.06.2019
Сообщений: 17
28.06.2019, 19:55 20
Спасибо за корректирование) Просто я одновременно учусь и выкладываю код для разнообразия (иногда задача одна и та же, но условия выполнения другие: пример - сделать такую задачу через while, for и т.д.) и для проверки его соответственно(кода).
p.s. Это и моё задания были схожи, но в моём только про положительные. Не заметил, простите)
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
28.06.2019, 19:55

Подсчитать, сколько раз в числе встречается каждая цифра от 0 до 9
Вводится любое число. Нужно подсчитать сколько раз в нем встречается каждая цифра от 0 до 9? В...

Сколько раз в числе встречается цифра, равная старшей?
Доброго времени суток уважаемые. Помогите пожалуйста с задачкой, не могу разобраться. В общем...

Сколько раз первая цифра встречается в данном числе
1.Дано натуральное число : 1)Сколько раз первая цифра встречается в данном числе? 2)верно...

Определить, сколько раз в заданном натуральном числе M встречается наибольшая цифра
составьте программу,определяющую сколько раз в заданном натуральном числе M встречается наибольшая...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.