Форум программистов, компьютерный форум, киберфорум
Pascal ABC
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.78/18: Рейтинг темы: голосов - 18, средняя оценка - 4.78
0 / 0 / 0
Регистрация: 05.02.2016
Сообщений: 19

Нужно модифицировать программу подсчета количества цифр данного числа

05.02.2016, 15:44. Показов 3966. Ответов 20
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Была задача:
Дано натуральное число n. Требуется подсчитать количество цифр данного числа - 73485.
Она была решена:
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
Program ...;
var n, m, k:integer;
begin
writeln('Введите натуральное число:');
readln(n);
m:=n;
k:=0;
while m<>0 do 
begin
m:=m div 10;
k:=k+1;
end;
writeln ('В числе',n,'',k,' цифр');
end.
Теперь её нужно модифицировать так, чтобы она решала такие задачи:
- найдите количество четных цифр числа;
- найдите сумму цифр числа;
- найдите сумму цифр числа, больших 5;
- найдите первую цифру числа;
- ответьте на вопрос, сколько раз данная цифра встречается в числе
Можно сделать одну программу, которая будет решать все эти задачи, а можно по отдельности.
Помогите решить пожалуйста. И подскажите как благодарить можно на этом форуме.
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
05.02.2016, 15:44
Ответы с готовыми решениями:

Составить программу для определения всех цифр данного целого положительного числа и их количества
Составить программу для определения всех цифр данного целого положительного числа и их количества.

Метод подсчета количества цифр числа
Домашняя задание я не понял что нужно решить, думаю я правильно решил задачу ? namespace Подсчета_колич.цифра { class Program {...

Составить программу подсчета количества цифр в данной строке
составит програму подсчета количества цыфр в данной строке.

20
 Аватар для RostorLuxor
144 / 129 / 46
Регистрация: 12.08.2015
Сообщений: 1,203
Записей в блоге: 1
05.02.2016, 15:58
Выделяйте пожалуйста код тегами PASCAL.

Цитата Сообщение от Nekit2000 Посмотреть сообщение
Теперь её нужно модифицировать так, чтобы она решала такие задачи:
- найдите количество четных цифр числа;
- найдите сумму цифр числа;
- найдите сумму цифр числа, больших 5;
- найдите первую цифру числа;
- ответьте на вопрос, сколько раз данная цифра встречается в числе
Можно сделать одну программу, которая будет решать все эти задачи, а можно по отдельности.
Помогите решить пожалуйста. И подскажите как благодарить можно на этом форуме.
Можно я с нуля напишу?
1
0 / 0 / 0
Регистрация: 05.02.2016
Сообщений: 19
05.02.2016, 17:14  [ТС]
Мне сказали именно изменить(
0
 Аватар для RostorLuxor
144 / 129 / 46
Регистрация: 12.08.2015
Сообщений: 1,203
Записей в блоге: 1
05.02.2016, 17:23
Цитата Сообщение от Nekit2000 Посмотреть сообщение
- найдите количество четных цифр числа;
- найдите сумму цифр числа;
- найдите сумму цифр числа, больших 5;
- найдите первую цифру числа;
- ответьте на вопрос, сколько раз данная цифра встречается в числе
В одной программе сделать или в разных?
1
0 / 0 / 0
Регистрация: 05.02.2016
Сообщений: 19
05.02.2016, 20:34  [ТС]
Да ну как легче)

Добавлено через 1 час 40 минут
Ну что?(
0
 Аватар для RostorLuxor
144 / 129 / 46
Регистрация: 12.08.2015
Сообщений: 1,203
Записей в блоге: 1
05.02.2016, 20:58
Переписываю. До завтра можете подождать?
0
0 / 0 / 0
Регистрация: 05.02.2016
Сообщений: 19
05.02.2016, 23:13  [ТС]
Ну ладно. Главное, чтобы правильно. Спасибо вам.
0
06.02.2016, 00:02

Не по теме:

Цитата Сообщение от Nekit2000 Посмотреть сообщение
подскажите как благодарить можно на этом форуме
Под ответом, который Вы посчитали полезным, нажмите кнопку "+1 Спасибо", если Вы являетесь ТС, то ещё Вам доступна кнопка "√ Лучший ответ".

Не по теме:

- Спасибо, Кеп!
- Не за что, ТС!

0
 Аватар для RostorLuxor
144 / 129 / 46
Регистрация: 12.08.2015
Сообщений: 1,203
Записей в блоге: 1
06.02.2016, 08:31
Лучший ответ Сообщение было отмечено Nekit2000 как решение

Решение

Цитата Сообщение от Nekit2000 Посмотреть сообщение
найдите количество четных цифр числа;
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
Program ...;
 
var N, K:Integer;
var M:String;
var I1:Integer;
 
begin
WriteLn('Vvedite naturalnoe chislo:');
ReadLn(n);
M := IntToStr(N);
K := 0;
for I1 := 1 to Length(M) do
begin
if (Copy(M,I1,1)='2')or(Copy(M,I1,1)='4')or(Copy(M,I1,1)='6')or(Copy(M,I1,1)='8') then
begin
K := K+1;
end;
end;
WriteLn('V chisle ', N, ', ', K, ' chyotnykh cyfr');
ReadLn(I1);
end.
Цитата Сообщение от Nekit2000 Посмотреть сообщение
найдите сумму цифр числа;
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
Program ...;
 
var N, K:Integer;
var M:String;
var I1:Integer;
 
begin
WriteLn('Vvedite naturalnoe chislo:');
ReadLn(n);
M := IntToStr(N);
K := 0;
for I1 := 1 to Length(M) do
begin
K := K+StrToInt(Copy(M,I1,1));
end;
WriteLn('Summa cyfr chisla ', N, ' = ', K);
ReadLn(I1);
end.
Цитата Сообщение от Nekit2000 Посмотреть сообщение
найдите сумму цифр числа, больших 5;
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
Program ...;
 
var N, K:Integer;
var M:String;
var I1:Integer;
 
begin
WriteLn('Vvedite naturalnoe chislo:');
ReadLn(n);
M := IntToStr(N);
K := 0;
for I1 := 1 to Length(M) do
begin
if StrToInt(Copy(M,I1,1))>5 then K := K+StrToInt(Copy(M,I1,1));
end;
WriteLn('Summa cyfr chisla ', N, ' kotorye bolshe pyati = ', K);
ReadLn(I1);
end.
Цитата Сообщение от RostorLuxor Посмотреть сообщение
найдите первую цифру числа;
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
Program ...;
 
var N, K:Integer;
var M:String;
var I1:Integer;
 
begin
WriteLn('Vvedite naturalnoe chislo:');
ReadLn(n);
M := IntToStr(N);
K := 0;
K := StrToInt(Copy(M,0,1));
WriteLn('Pervaya cyfra chisla ', N, ' = ', K);
ReadLn(I1);
end.
1
Модератор
Эксперт по электронике
 Аватар для ФедосеевПавел
8652 / 4487 / 1669
Регистрация: 01.02.2015
Сообщений: 13,895
Записей в блоге: 12
06.02.2016, 09:20
И я добавлю
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
program Digits;
 
type
  TVector = array [0..9] of integer;
var
  N: integer;
  Frequences: Tvector;
  k, m: integer;
  CountEvenDigits: integer; {количество четных цифр числа}
  SumDigits: integer;       {сумма цифр числа}
  SumDigitsOver5: integer;  {сумма цифр числа, больших 5}
  FirstDigit: integer;      {первая цифра числа}
begin
  writeln('Введите натуральное число:');
  readln(N);
  for k := 0 to 9 do
    Frequences[k] := 0;
  CountEvenDigits := 0;
  SumDigits := 0;
  SumDigitsOver5 := 0;
  m := N;
  while m <> 0 do
  begin
    k := m mod 10;
    m := m div 10;
    {количество четных цифр числа}
    if not odd(k) then
      Inc(CountEvenDigits);
    {сумма цифр числа}
    SumDigits := SumDigits + k;
    {сумма цифр числа, больших 5}
    if k > 5 then
      SumDigitsOver5 := SumDigitsOver5 + k;
    {первая цифра числа}
    if m = 0 then
      FirstDigit := k;
    {подсчёт количества различных цифр в числе}
    Inc(Frequences[k]);
  end;
  writeln('количество четных цифр числа: ', CountEvenDigits);
  writeln('сумма цифр числа: ', SumDigits);
  writeln('сумма цифр числа, больших 5: ', SumDigitsOver5);
  writeln('первая цифра числа ', FirstDigit, ' встречается ',
    Frequences[FirstDigit], ' раз(а)');
end.
0
 Аватар для RostorLuxor
144 / 129 / 46
Регистрация: 12.08.2015
Сообщений: 1,203
Записей в блоге: 1
06.02.2016, 09:58
Цитата Сообщение от Nekit2000 Посмотреть сообщение
Мне сказали именно изменить
ФедосеевПавел, у вас какое-то свободное творчество , и всё вместе спихано.

Цитата Сообщение от ФедосеевПавел Посмотреть сообщение
Frequences: Tvector;
А это что???
0
Модератор
Эксперт по электронике
 Аватар для ФедосеевПавел
8652 / 4487 / 1669
Регистрация: 01.02.2015
Сообщений: 13,895
Записей в блоге: 12
06.02.2016, 10:14
Я постеснялся сразу об этом сказать, но ваши решения похожи на шутку. А вместе с цитатой
Цитата Сообщение от RostorLuxor Посмотреть сообщение
Цитата Сообщение от Nekit2000 Посмотреть сообщение
Мне сказали именно изменить
больше похоже на тролинг...
-----------------------------------------
Цитата Сообщение от RostorLuxor Посмотреть сообщение
В одной программе сделать или в разных?
Цитата Сообщение от Nekit2000 Посмотреть сообщение
Да ну как легче)
-----------------------------------------
Frequences: Tvector; - массив для подсчёта встречаемости каждой цифры в числе, и вывода ответа на вопрос
Цитата Сообщение от Nekit2000 Посмотреть сообщение
- найдите первую цифру числа;
- ответьте на вопрос, сколько раз данная цифра встречается в числе
применён массив - для того, чтобы не проводить дополнительный поиск во втором цикле.
1
0 / 0 / 0
Регистрация: 05.02.2016
Сообщений: 19
06.02.2016, 11:26  [ТС]
А можно спросить мне неучу. Что такое: String, IntToStr, Length, Copy, StrToInt ? И можно это заменить на другое? Честно скажу, мы это не проходили.
0
 Аватар для RostorLuxor
144 / 129 / 46
Регистрация: 12.08.2015
Сообщений: 1,203
Записей в блоге: 1
06.02.2016, 11:48
Цитата Сообщение от Nekit2000 Посмотреть сообщение
String
Тип строковых переменных (не число, а строка).

Цитата Сообщение от Nekit2000 Посмотреть сообщение
IntToStr
Преобразование числа в строку.

Цитата Сообщение от Nekit2000 Посмотреть сообщение
Length
Узнать длину переменной в байтах (объём информации который в ней записан).

Цитата Сообщение от Nekit2000 Посмотреть сообщение
Copy
Выделить часть из строковой переменной (она же String).

Цитата Сообщение от Nekit2000 Посмотреть сообщение
StrToInt
Обратный перевод строки в число.
1
0 / 0 / 0
Регистрация: 05.02.2016
Сообщений: 19
06.02.2016, 11:49  [ТС]
А можно заменить это? Я просто не знаю.
0
 Аватар для RostorLuxor
144 / 129 / 46
Регистрация: 12.08.2015
Сообщений: 1,203
Записей в блоге: 1
06.02.2016, 11:50
Цитата Сообщение от Nekit2000 Посмотреть сообщение
И можно это заменить на другое?
Мне кажется нельзя. У вас досконально проверяют курсовые, контрольные, ну или что там у вас?
1
2511 / 1132 / 582
Регистрация: 07.06.2014
Сообщений: 3,286
06.02.2016, 13:31
Nekit2000, мой тебе совет, не бери код от RostovLuxor. я не знаю, троллит он тебя или просто так мыслит, но его код тебе не помощник. Лучше возьми код от ФедоссеваПавла.
Если есть вопросы, задай их.

если сильно сложно, то распиши каждую свою задачу отдельно.
например:
Цитата Сообщение от Nekit2000 Посмотреть сообщение
найдите количество четных цифр числа;
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
var n, m, cifra, chet:integer;
begin
   writeln('Введите натуральное число:');
   readln(n);
   m:=n;
   chet:=0;
   while m<>0 do 
    begin
      cifra := m mod 10;
      if (cifra mod 2)=0 then chet := chet + 1;
      m:=m div 10;
end;
writeln ('В числе ',n,' четных цифр ',chet);
end.
Цитата Сообщение от Nekit2000 Посмотреть сообщение
найдите сумму цифр числа;
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
var n, m, cifra, summa:integer;
begin
   writeln('Введите натуральное число:');
   readln(n);
   m:=n;
   summa:=0;
   while m<>0 do 
    begin
      cifra := m mod 10;
      summa := summa + cifra;
      m:=m div 10;
end;
writeln ('В числе ',n,' сумма цифр = ',chet);
end.
и т.д.
последняя
Цитата Сообщение от Nekit2000 Посмотреть сообщение
ответьте на вопрос, сколько раз данная цифра встречается в числе
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
var n, m, k, cifra, shetchik :integer;
begin
   writeln('Введите натуральное число:');
   readln(n);
   writeln('Введите цифру, которую надо подсчитать в числе:');
   readln(k);
   m:=n;
   shetchik:=0;
   while m<>0 do 
    begin
      cifra := m mod 10;
      if cifra=k then shetchik := shetchik + 1;
      m:=m div 10;
end;
writeln ('В числе ',n,' цифра ',k,' встречается ',shetchik,' раз');
end.
Nekit2000, есть вопросы?
1
 Аватар для RostorLuxor
144 / 129 / 46
Регистрация: 12.08.2015
Сообщений: 1,203
Записей в блоге: 1
06.02.2016, 14:43
Цитата Сообщение от Sergio Leone Посмотреть сообщение
троллит он тебя
Ничего подобного, это просто мой вариант решения.

Не по теме:

Цитата Сообщение от Sergio Leone Посмотреть сообщение
RostovLuxor
RostorLuxor

1
0 / 0 / 0
Регистрация: 05.02.2016
Сообщений: 19
06.02.2016, 19:57  [ТС]
Ну, честно сказать, вашим вариантом намного легче. Я, наверное, уже надоел, но всё же можно попросить вас сделать программы для оставшихся задач:
- найдите сумму цифр числа, больших 5;
- найдите первую цифру числа;
Буду очень вам благодарен)

Добавлено через 3 часа 0 минут
Цитата Сообщение от Sergio Leone Посмотреть сообщение
Nekit2000, есть вопросы?
Ну, честно сказать, вашим вариантом намного легче. Я, наверное, уже надоел, но всё же можно попросить вас сделать программы для оставшихся задач:
- найдите сумму цифр числа, больших 5;
- найдите первую цифру числа;
Буду очень вам благодарен)
0
39 / 39 / 49
Регистрация: 18.12.2015
Сообщений: 127
06.02.2016, 20:28
Лучший ответ Сообщение было отмечено Nekit2000 как решение

Решение

Nekit2000, в справочной системе PABC есть много интересного, рекомендую.

Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
program z1655734;   {сумма цифр больших 5}
 var n,m,c,s:integer;
begin
 write('Введите натуральное число:');
 readln(n);
 m:=n;
 s:=0;
 while m<>0 do
  begin
   c:=m mod 10;
   if c>5
    then s:=s+c;
   m:=m div 10;
end;
writeln ('В числе ',n,' сумма цифр больших пяти s=',s);
end.
Добавлено через 27 минут
Pascal
1
2
3
4
5
6
7
8
9
10
program z1655734;   {Первая цифра}
 var n,m:integer;
begin
 write('Введите натуральное число:');
 readln(n);
 m:=n;
 while m>9 do
  m:=m div 10;
 writeln ('В числе ',n,' первая цифра ',m);
end.
2
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
06.02.2016, 20:28
Помогаю со студенческими работами здесь

Составить программу подсчета количества цифр в данной строке.
#include &lt;stdafx.h&gt; #include &lt;iostream.h&gt; #include &lt;string.h&gt; #include &lt;ctype.h&gt; void main () {char s, *p; int a, num=0; ...

Перевести программу для подсчета количества цифр в числе с C++ на VBA
Здравствуйте! Помогите с переводом программного кода в VBA. Эта программа считает все цифры в числе рекурсивным методом. int...

Составить программу подсчёта количества цифр в заданной строке и печати их
ЗАдание: Составить программу подсчёта количества цифр в заданной строке и печати их. Помогите,плиз

Написать программу для подсчета количества одинаковых цифр в массиве из 5-ти элементов
Только начал разбиратся в массивах. Помогите решыть. Написать программу для подсчета количества одинаковых цифр в массиве из 5-ти...

Составьте программу подсчета числа четных цифр, используемых в записи н-значного числа M
Составьте программу подсчета числа четных цифр, используемых в записи N-значного числа M


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

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Новые блоги и статьи
http://iceja.net/ сервер решения полиномов
iceja 18.01.2026
Выкатила http:/ / iceja. net/ сервер решения полиномов (находит действительные корни полиномов методом Штурма). На сайте документация по API, но скажу прямо VPS слабенький и 200 000 полиномов. . .
Первый деплой
lagorue 16.01.2026
Не спеша развернул своё 1ое приложение в kubernetes. А дальше мне интересно создать 1фронтэнд приложения и 2 бэкэнд приложения развернуть 2 деплоя в кубере получится 2 сервиса и что-бы они. . .
Расчёт переходных процессов в цепи постоянного тока
igorrr37 16.01.2026
/ * Дана цепь постоянного тока с R, L, C, k(ключ), U, E, J. Программа составляет систему уравнений по 1 и 2 законам Кирхгофа, решает её и находит: токи, напряжения и их 1 и 2 производные при t = 0;. . .
Восстановить юзерскрипты Greasemonkey из бэкапа браузера
damix 15.01.2026
Если восстановить из бэкапа профиль Firefox после переустановки винды, то список юзерскриптов в Greasemonkey будет пустым. Но восстановить их можно так. Для этого понадобится консольная утилита. . .
Изучаю kubernetes
lagorue 13.01.2026
А пригодятся-ли мне знания kubernetes в России?
Сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11 — это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
Classic Notepad for Windows 11
Jel 10.01.2026
Old Classic Notepad for Windows 11 Приложение для Windows 11, позволяющее пользователям вернуть классическую версию текстового редактора «Блокнот» из Windows 10. Программа предоставляет более. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru