Форум программистов, компьютерный форум, киберфорум
PascalABC.NET
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.86/21: Рейтинг темы: голосов - 21, средняя оценка - 4.86
0 / 0 / 0
Регистрация: 10.08.2018
Сообщений: 28

Программа нахождения количества и суммы цифр целого положительного числа, используя для этого процедуру Sum

12.08.2018, 12:38. Показов 4026. Ответов 7

Студворк — интернет-сервис помощи студентам
Program1.pas(14) : Нет перегруженной подпрограммы с такими типами параметров




Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
var K,C,S,l:integer;
procedure sum(i:byte;c:byte;s:integer );
begin
c:=0;
for i:=1 to l do//nahozhdenie kol-va simvolov v chisle//
inc(c);
repeat
s:=s mod 10;//mi poluchaem ostatok i sohranyaem ego v 's'//
s:=s+1
until (s mod 10)<1
end;
begin
readln(k);//schitivaem stroku s okna vvoda//
l:=length(k);//nahozhdenie dliny stroki//
sum(k);//zapuskaem proceduru//
write(c,' ',s);//vivodim znachenia//
end.


Подскажите в чем ошибка.
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
12.08.2018, 12:38
Ответы с готовыми решениями:

Описать процедуру Digit Count Sum(K,C,S). нахождение количества и суммы цифр числа
описать процедуру Digit Count Sum(K,C,S).нахождение количества цифр целого положительного числа k,а также сумму s(K-входной, c и s-выходные...

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

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

7
Alvin Seville
 Аватар для Соколиный глаз
343 / 273 / 134
Регистрация: 25.07.2014
Сообщений: 4,537
Записей в блоге: 22
12.08.2018, 12:53
Для integer нет функции Length, поэтому можно:
Pascal
1
l := length(k.ToString());
Хотя, если хочется, можно самому посчитать количество цифр в числе, используя div.
0
 Аватар для kotAV
142 / 108 / 57
Регистрация: 15.09.2017
Сообщений: 425
12.08.2018, 12:53
Westonefer, ну, можно так. Но я бы лучше сделал отдельно функции под оба действия.

Переделал весь код, так как даже не смог понять что вы написали в своём.

Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
var
  k: integer;//Ввод, после сумма
  s: integer;//Кол-во цифр
  
procedure sum(var s, c:integer);
var
  t: integer = s;
begin
  c:=s.ToString.Length;
  s:=0;
  for var i:=1 to c do
  begin
    s:=s+(t mod Round(Power(10,i+1))) div Round(Power(10,i));
  end;
end;
 
begin
  readln(k);//вводим строку
  sum(k, s);
  write(k,' ',s);//выводим значения: первое число - сумма, второе число - кол-во цифр
end.
0
Alvin Seville
 Аватар для Соколиный глаз
343 / 273 / 134
Регистрация: 25.07.2014
Сообщений: 4,537
Записей в блоге: 22
12.08.2018, 12:55
Westonefer, во-вторых, Sum ожидает 3 фактических параметра, а Вы подаете ей всего лишь 1.
1
Почетный модератор
 Аватар для Puporev
64314 / 47610 / 32743
Регистрация: 18.05.2008
Сообщений: 115,168
12.08.2018, 13:00
Если число вводится как строка, то так.
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
procedure sum(ch:string;var c,s:integer);
begin
c:=length(ch);
s:=0;
for var i:=1 to length(ch) do
s:=s+strtoint(ch[i]);
end;
var k:string;
    c,s:integer;
begin
writeln('Введите натуральное число');
readln(k);
sum(k,c,s);//zapuskaem proceduru//
write('Количество цифр=',c,' их сумма=',s);//vivodim znachenia//
end.
Если число вводится именно как число, например типа Integer, то так.
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
procedure sum(ch:integer;var c,s:integer);
begin
c:=0;
s:=0;
if ch=0 then
 begin
  c:=1;
  s:=0;
 end
else
repeat
inc(c);
s:=s+ch mod 10;
ch:=ch div 10;
until ch=0; 
end;
var k,c,s:integer;
begin
writeln('Введите натуральное число');
readln(k);
sum(k,c,s);//zapuskaem proceduru//
write('Количество цифр=',c,' их сумма=',s);//vivodim znachenia//
end.
1
Alvin Seville
 Аватар для Соколиный глаз
343 / 273 / 134
Регистрация: 25.07.2014
Сообщений: 4,537
Записей в блоге: 22
12.08.2018, 13:05
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
type
  int = integer;
  
procedure CetCountSum(x: int; var outCount, outSum: int);
begin
  while x > 0 do
  begin
    Inc(outSum, x mod 10);
    Inc(outCount);
    x := x div 10;
  end;
end;
 
var
  count, sum: int;
  
begin
  CetCountSum(ReadlnInteger('X:'), count, sum);
  Println(count, sum);
end.
1
0 / 0 / 0
Регистрация: 10.08.2018
Сообщений: 28
12.08.2018, 13:21  [ТС]
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
var k,C,S,l:integer;
procedure sum(i:byte);
begin
c:=0;
for i:=1 to l do//nahozhdenie kol-va simvolov v chisle//
inc(c);
repeat
s:=k mod 10;//mi poluchaem ostatok i sohranyaem ego v 's'//
s:=k+1
until (s mod 10)<1
end;
 
 
 
begin
repeat
l:=k div 10;
l:=l+1;
until (k div 10)<1;
readln(k);//schitivaem stroku s okna vvoda//
sum(k);//zapuskaem proceduru//
writeln(C,' ',S);//vivodim znachenia//
end.


Я поправил. Только теперь он ничего не выводит.
0
Alvin Seville
 Аватар для Соколиный глаз
343 / 273 / 134
Регистрация: 25.07.2014
Сообщений: 4,537
Записей в блоге: 22
12.08.2018, 13:28
Westonefer, почему:
Pascal
1
2
3
4
  repeat
    l := k div 10;
    l := l + 1;
  until (k div 10) < 1;
до ввода k?

Добавлено через 3 минуты
А второе - изменение глобальных переменных прямо из процедуры - не очень хорошо. Лучше передать их по ссылке и менять.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
12.08.2018, 13:28
Помогаю со студенческими работами здесь

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

Рекурсия: нахождение суммы цифр целого числа, не используя операторы циклов
Подскажите пожалуйста как описать рекурсивную функцию целого типа которая будет находить сумму цифр целого числа, не используя операторы...

Описать функцию DigitCount(K) целого типа, находящую количество цифр целого положительного числа K
Здравствуйте! Проверьте пожалуйста решение задачи. (функции) Описать функцию DigitCount(K) целого типа, находящую количество цифр цело-го...

Вычисление суммы цифр целого числа (нахождение суммы цифр целого числа)
Составить и отладить программу, используя указанные в скобках процедуры или функции: Вычисляющую сумму цифр целого числа (нахождение...

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


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

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Новые блоги и статьи
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут. В век Веб все очень привыкли к дизайну Single-Page-Application . Быстренько разберем подход "на фреймах". Мы делаем одну. . .
Фото: Daniel Greenwood
kumehtar 13.11.2025
Расскажи мне о Мире, бродяга
kumehtar 12.11.2025
— Расскажи мне о Мире, бродяга, Ты же видел моря и метели. Как сменялись короны и стяги, Как эпохи стрелою летели. - Этот мир — это крылья и горы, Снег и пламя, любовь и тревоги, И бескрайние. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru