Как посчитать количество чисел в паскале
Перейти к содержимому

Как посчитать количество чисел в паскале

  • автор:

Количество цифр в строке

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

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

Известно, что символы цифр в этой таблице имеют порядковые номера от 48 (для нуля) до 57 (для девятки) включительно. Если номер очередного извлеченного из строки символа попадает в данный диапазон, значит перед нами цифра. В этом случае следует увеличить на единицу счетчик цифр, то есть переменную n .

var s: string; i, n, len: byte; begin readln(s); len := length(s); n := 0; for i:=1 to len do if (ord(s[i]) > 47) and (ord(s[i]) < 58) then n := n + 1; writeln(n); end.
one 5 t60 3

Подсчитать количество цифр в строке. Паскаль. Пример кода

vedro-compota's picture

Общая идея подсчета числа цифр в строке в Паскаль состоит в следующем (сразу приведём здесь код программы):

 var s:string; i,n:Integer; begin readln(s); n := 0; for i:=1 to Length(s) do begin // обходим строку в цикле if (s[i]>='0')and(s[i]<='9') then inc(n); end; writeln('This string contains ',n,' digits.'); // выводим массив end.

-- в этой программе для считывания значения мы использовали переменную строкового типа.

Паскаль даёт возможность обращения к конкретному символу строки по индексу как к элементу одномерного массива.

  1. Подсчитать количество цифр, входящих в строку - Pascal: http://www.cyberforum.ru/pascal/thread82.

Key Words for FKN + antitotal forum (CS VSU):

  • Паскаль подсчитать количество цифр в строке
  • Паскаль определить число символов в строке

Количество различных цифр в числе (Pascal)

Задача: Дано число n≤30000. Изменяя число i от 1 до n, будем записывать получающиеся числа подряд, без пробелов и разделителей, получим, некое число. Подсчитать в этом числе количество нулей, единиц, двоек и т.д до девяток. Подсчитать общее количество цифр в этом числе. Примеры входных и выходных данных:

Ввод n Вывод
3 0 1 1 1 0 0 0 0 0 0
Количество цифр=3
10 1 2 1 1 1 1 1 1 1 1
Количество цифр=11

Решение Получающееся огромное число не надо запоминать ни в переменной, ни в файле. Для каждого i его каждую цифру принимаем за индекс массива и прибавляем туда 1.

Program Task; Uses CRT; Var s,a:string; n,i,l,j,y,code,sum:integer; x:array [0..9] of integer; Begin ClrScr; write('n='); readln(n); for i:=1 to n do begin str(i,s); l:=length(s); for j:=1 to l do begin a:=copy(s,j,1); val(a,y,code); inc(x[y]); end; end; sum:=0; for i:=0 to 9 do begin write(x[i],' '); sum:=sum+x[i]; end; writeln; writeln('Количество цифр=',sum); readln End.

Просмотр 0 веток ответов

Turbo Pascal Как посчитать числа в разряде единиц?

Здравствуйте!
Обратились ко мне с просьбой оценить решение задачи, за которую влепили два. Вроде все верно, но почеу двойка - не понятно.. или, может, я что-то не вижу?

Задача:
Посчитать количество чисел в диапазоне от 11607 до 55176 у которых в разряде единиц цифра 1 или цифра 8

Program urok; var i, kol :integer; begin kol:=0; for i:= 11607 to 55176 do if ( ((i mod 100) div 1 = 1) or((i mod 100) div 1 = 8)) then begin kol:=kol+1; writeln('Есть подходящее число: ',i, '. Текущее количество чисел: ', kol); end; writeln(' Общее количество чисел: ', kol); end.
  • Вопрос задан более трёх лет назад
  • 95 просмотров

Комментировать
Решения вопроса 1
VitalyChaikin @VitalyChaikin

Два ? Тут бы кол влепить ! Шедевр вроде (i mod 100) div 1 = 8 просто прекрасен 🙂
if( i mod 10 ) = 8 then // ( i mod 10 ) = получим остаток от деления на 10 что соответствует последнему разряду числа i

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *