Посчитать количество различных цифр в записи. Паскаль, программа почти написана.
Здравствуйте! Обращаюсь за помощью не в написании программы (на Паскале), а в проверке на наличие ошибок и в доработке. Условие задания такое: "Посчитать количество различных цифр в десятичной записи и напечатать в возрастающем порядке все цифры,не входящие в в нее. То есть цифры должны быть от 1 до 9." Как я предполагаю,программа должна рабоатть так:
"допустим пользователь ввел 28116 То что видим на экране: "1"=2, "2"=1,"3"=0, и т.д. Проверка: какие цифры отсутствуют во множестве [123456789] Результат: 34579 (в порядке возрастания)" У меня получилось написать,чтобы программа подсчитывала сколько каких цифр в числе (для этого я использовала счетчики), вывожу результат на экран, далее пробую написать проверку каких цифр нет в числе. И на этом я останавливаюсь,потому что не знаю,в чем ошибка и что делать дальше. Вот мой код: program PodchetNumber; var Number:string[5]; m:string[9]; i,e,k1,k2,k3,k4,k5,k6,k7,k8,k9:integer; begin writeln('Vvedite luboe celoe chislo, v kotoroe vhodyat chifru ot 1 do 9 dlinnou ne bolee 5 '); readln(Number); k1:=0; k2:=0; k3:=0; k4:=0; k5:=0; k6:=0; k7:=0; k8:=0; k9:=0; for i:=1 to Length(Number) do begin if Number[i]='1' then k1:=k1+1; if Number[i]='2' then k2:=k2+1; if Number[i]='3' then k3:=k3+1; if Number[i]='4' then k4:=k4+1; if Number[i]='5' then k5:=k5+1; if Number[i]='6' then k6:=k6+1; if Number[i]='7' then k7:=k7+1; if Number[i]='8' then k8:=k8+1; if Number[i]='9' then k9:=k9+1; end; writeln('1=', k1, ' 2=', k2, ' 3=', k3, ' 4=', k4, ' 5=', k5,' 6=', k6, ' 7=',k7,' 8=', k8, ' 9=',k9); m:='123456789'; for i:=1 to Length(Number) do begin for e:=1 to 9 do if not(m[e] in Number[i]) then write(m[e],' '); e:=e+1; readln; end; end. |
Я, конечно, подумаю, как правильно решить задачку (она не очень простая), но одно укажу сразу. Вот Вы пишете:
Цитата:
|
Вообще-то я бы на свой вкус решал задачку так:
Код:
program PodchetNumber; 1. Вводится число в виде строковой переменной. 2. Цифры числа преобразуются в массив. 3. Последовательно цифры от 0 до 9 проверяются на предмет вхождения в полученный массив; если цифры в массиве нет, она выводится на экран. |
Я тут еще подумал - можно и без преобразования в числовой массив, т.е. работать со строками и символами. Тогда получится еще короче:
Код:
program PodchetNumber; |
Часовой пояс GMT +4, время: 07:46. |
Powered by vBulletin® Version 4.5.3
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.