1 / 1 / 0
Регистрация: 03.10.2011
Сообщений: 96
1

Определите, какая цифра в числе встречается чаще других

02.12.2011, 16:24. Показов 1420. Ответов 8
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Условие: дано натуральное число P. Определите, какая цифра в этом числе встречается чаще других. Программа написана правильно, только нужно кое-что доделать. Когда вводишь к примеру 12345, то программа пишет, что повторяется больше всех цифра 1, а мне нужно, чтобы она в таких ситуациях выводила: Ни одна из данных цифр не повторяется ни разу. Что тут нужно дописать?
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
Program L6_3;
{ Дано натуральное число P. Определите, какая цифра в этом числе встречается чаще других }
Var
    P: Word;
    Mas: Array [0..9] of Byte;
    i,k: Byte;
procedure zifra;
Begin
    Write('P='); Readln(P);
    for i:=0 to 9 do Mas[i]:=0;
    while (P>0) do begin
      i:=P mod 10;
      P:=P div 10;
      Mas[i]:=Mas[i]+1;
  end;
  k:=0;
  for i:=1 to 9 do
      if Mas[i]>Mas[k] then k:=i;
    Writeln('Цифра ',k);
End;
begin
zifra;
end.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
02.12.2011, 16:24
Ответы с готовыми решениями:

Определите, какая цифра в числе встречается чаще других
Дано натуральное число P. Определите, какая цифра в этом числе встречается чаще других.

Определить, какая цифра в числе встречается чаще всего
Составьте программу, определяющую, какая цифра в числе встречается чаще всего. Если таких цифр...

Определить какая цифра встречается чаще всего
Дана строка, которая состоит из чисел разделенных одним или несколькими пропусками. Определить...

Определите, какая цифра в этом числе встречается чаще других
Условие: дано натуральное число P. Определите, какая цифра в этом числе встречается чаще других....

8
43 / 43 / 14
Регистрация: 16.11.2011
Сообщений: 125
02.12.2011, 17:12 2
добавить булеву переменную isit
удалить все после k:=0 и вставить код
Delphi
1
2
3
4
5
6
7
8
9
10
isit:=false;
for i:=0 to 9 do
if mas[i]>1 then isit:=true;
 
k:=-1;
if isit then
for i:=0 to 9 do
      if (Mas[i]>Mas[k]) then k:=i;
    Writeln('Цифра ',k)
        else Write('Не повторяется');
0
1 / 1 / 0
Регистрация: 03.10.2011
Сообщений: 96
02.12.2011, 17:31  [ТС] 3
Ошибка: ожидался символ: точка с запятой после Writeln(Цифра ',k), ставлю точку с запятой пишет ошибку: нельзя ставить точку с запятой перед else в операторе if
0
trainspotting
1086 / 486 / 384
Регистрация: 11.11.2010
Сообщений: 773
02.12.2011, 17:38 4
там ошибка в синтаксисе
Pascal
1
2
3
4
5
6
7
8
k:=-1;
if isit then
begin
for i:=0 to 9 do
if (Mas[i]>Mas[k]) then k:=i;
Writeln('Цифра ',k);
end
else Write('Не повторяется');
хотя, этот тоже костыль для единичного случая, вот к примеру, если ввести 222333?
0
1 / 1 / 0
Регистрация: 03.10.2011
Сообщений: 96
02.12.2011, 20:55  [ТС] 5
А как тогда сделать, чтобы выводило что-нибудь, если вот такой случай, как ты написал?
0
43 / 43 / 14
Регистрация: 16.11.2011
Сообщений: 125
03.12.2011, 05:41 6
Цитата Сообщение от VladosLancer Посмотреть сообщение
А как тогда сделать, чтобы выводило что-нибудь, если вот такой случай, как ты написал?

Для этого случая нужно находить максимальное значение в массиве и смотреть повторяется ли оно.

Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
k:=0
for i:=1 to 9 do
if Mas[i]>k then k:=Mas[i];
 
isone:=false;
isit:=false;
for i:=0 to 9 do
 if Mas[i]=k then if isone then isit:=true else isone:=true;
                     
if NOT(isit) then 
for i:=0 to 9 do
  if Mas[i]=k then begin Write(i); break; end;
 
if isit then if k=1 then Write('Ни одна из данных цифр не повторяется ни разу');
            else  Write('Максимально число повторений у несколький цифр');
Добавить булеву переменную isone, и старый код нужно удалить
1
1 / 1 / 0
Регистрация: 03.10.2011
Сообщений: 96
03.12.2011, 16:28  [ТС] 7
Спасибо, всё работает
0
1 / 1 / 0
Регистрация: 03.10.2011
Сообщений: 96
05.12.2011, 01:13  [ТС] 8
И последний момент, если мы вводим не натуральное число, к примеру -3452, то нужно, чтобы выводило: данное число не натуральное.
0
43 / 43 / 14
Регистрация: 16.11.2011
Сообщений: 125
05.12.2011, 08:18 9
Delphi
1
2
3
4
5
6
if P<1 then 
begin
Write('данное число не натуральное');
readln;
halt;
end;
Вставить в самом начале программы. Если число отрицательное, то данный код его отсчет, а если дробное, то здесь сработает исключение компилятора(переменная объявлена целым числом).
0
05.12.2011, 08:18
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
05.12.2011, 08:18
Помогаю со студенческими работами здесь

Процедуры. Дано натуральное число. Определите, какая цифра в этом числе встречается чаще других
Дано натуральное число P. Определите, какая цифра в этом числе встречается чаще других. Program...

какая цифра в числе встречается реже всего
составить программу, определяющую, какая цифра в числе встречается реже всего. Если таких цифр...

Определите, какая цифра в числе встречается чаще других.
Ребят, помогите, пожалуйста, лошку решить задачу (тема с процедурами и функциями): Дано...

Определить, какая цифра в заданном числе встречается чаще других
Дано натуральное число. Определить, какая цифра в этом числе встречается чаще других. Помогите плс...

Определить какая цифра встречается в числе чаще - 0 или 9
Дано натуральное число n. Определить какая цифра встречается в нем чаще 0 или 9

Определить, какая цифра встречается в заданном числе чаще: 0 или 9
Дано натуральное число. Определить, какая цифра встречается в нем чаще: 0 или 9.


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

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru