Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 20.11.2017, 18:59   #1
ParkerVans
Пользователь
 
Регистрация: 22.10.2017
Сообщений: 25
По умолчанию Описать функцию DigitCount(K) целого типа, находящую количество цифр цело-го положительного числа K - PascalABC.NET

Здравствуйте! Проверьте пожалуйста решение задачи. (функции)
Описать функцию DigitCount(K) целого типа, находящую количество цифр цело-го положительного числа K. Используя эту функцию, найти количество цифр для каждого числа, хранящегося в массиве {МКi} i = 1, 2, ... , n.
Код:
Program colichestvo;
Var  n, i, Sg : integer;   
mk : array [1..30] of integer;
function DigitCount(K:integer):integer;
var c:integer;
begin
c:=0;
while k>0 do begin
k:=k div 10;
inc(c);//увеличивает число на определенное значение
end;
DigitCount:=c;
end;
begin
   write('Введите количество элементов массива  N = ');
    read(n);
    write('Введите ', n, ' целых положительных чисел : ');
For  i := 1  to  n  do  
read(mk[i]);
 writeln('Результат:');
For  i := 1  to  n  do   begin
Sg := DigitCount(mk[i]);
writeln('Количество цифр в числе ', mk[i], '  равно  ', Sg )    end;
end.
ParkerVans вне форума Ответить с цитированием
Старый 20.11.2017, 20:09   #2
СтудПом
Форумчанин
 
Регистрация: 08.11.2017
Сообщений: 347
По умолчанию

Ну так сами скомпилируйте и запустите, посмотрите правильно ли считает.
Мне кажется, будет ошибка для числа Ноль - выдаст ноль цифр, хотя, с другой стороны, если это не положительное число, то и не ошибка
СтудПом вне форума Ответить с цитированием
Старый 21.11.2017, 15:24   #3
ParkerVans
Пользователь
 
Регистрация: 22.10.2017
Сообщений: 25
По умолчанию

Проверил, всё считает. 0 является натуральным числом, целым.
ParkerVans вне форума Ответить с цитированием
Старый 21.11.2017, 15:34   #4
СтудПом
Форумчанин
 
Регистрация: 08.11.2017
Сообщений: 347
По умолчанию

Цитата:
Сообщение от ParkerVans Посмотреть сообщение
Проверил, всё считает. 0 является натуральным числом, целым.
Тогда для нуля выдаёт ошибку
Код:
Borland Pascal  Version 7.0  Copyright (c) 1983,92 Borland International
Введите количество элементов массива  N = 1
Введите 1 целых положительных чисел : 0
Результат:
Количество цифр в числе 0  равно  0
СтудПом вне форума Ответить с цитированием
Старый 21.11.2017, 15:40   #5
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,238
По умолчанию

Цитата:
Сообщение от ParkerVans Посмотреть сообщение
0 является натуральным числом
ноль не является натуральным числом.

впрочем, должна ли ваша программа правильно обрабатывать ноль - это Вам решать.
Если должна, то я бы просто добавил в начало проверку или переписал цикл так:
Код:
function DigitCount(k:integer):integer;
var c:integer;
begin
  c:=0;
  repeat
    inc(c);
    k:=k div 10;
  until k=0;
  DigitCount:=c;
end;
Serge_Bliznykov вне форума Ответить с цитированием
Старый 21.11.2017, 15:46   #6
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 19,042
По умолчанию

DigitCount:=IntToStr(k).Length
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Старый 21.11.2017, 15:47   #7
СтудПом
Форумчанин
 
Регистрация: 08.11.2017
Сообщений: 347
По умолчанию

Цитата:
Сообщение от Аватар Посмотреть сообщение
DigitCount:=IntToStr(k).Length
Однако, это троллинг, товарисщ Модератор
СтудПом вне форума Ответить с цитированием
Старый 21.11.2017, 15:50   #8
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 19,042
По умолчанию

Цитата:
троллинг
Не, один из способов
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Visual Basic: Описать функцию DigitN (K, N) целого типа, возвращающую N-ю цифру целого положительного числа К Екатерина23 Помощь студентам 1 10.12.2013 09:25
Pascal ABC.Описать функцию Polynom(A,N,X) вещественного типа, находящую значение полинома P в вещественной точке X. sanjer21 Помощь студентам 0 24.05.2012 00:34
в паскале, вычисления произведения цифр положительного целого четырехзначного числа n Мэури Помощь студентам 1 25.03.2012 18:24
найти сумму первой и последней цифр любого целого положительного числа. Лина94 Помощь студентам 5 01.02.2012 23:09
вычислить сумму цифр заданного целого положительного числа (Паскаль) prs58 Помощь студентам 5 17.10.2011 22:15