Технический форум
Вернуться   Технический форум > Программирование > Форум программистов > Помощь студентам


Закрытая тема
 
Опции темы Опции просмотра
Старый 13.09.2009, 16:18   #1 (permalink)
Диана-бельчонок
Новичок
 
Регистрация: 13.09.2009
Сообщений: 5
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
По умолчанию Прошу помощи в решении задачи на Паскале!

Помогите, пожалуйста! очень надо решить срочно задачу на языке Паскаль!!!! условие такое: "Дан массив натуральных чисел. Найти цифру, которая чаще всех встречается и какое кол-во раз?" Буду очень благодарна тому, кто поможет!
Диана-бельчонок вне форума  

Старый 13.09.2009, 16:18
Helpmaster
Member
 
Аватар для Helpmaster
 
Регистрация: 08.03.2016
Сообщений: 0

Содержание данных топиков схоже с вашим

Нужна помощь в решении задачи
Прошу помощи Админа
Прошу помощи с принтером
Прошу помощи
Нужна помощь в решении задачи

Старый 13.09.2009, 16:40   #2 (permalink)
AlexZir
support
 
Аватар для AlexZir
 
Регистрация: 19.08.2007
Адрес: Зея
Сообщений: 15,794
Записей в дневнике: 71
Сказал(а) спасибо: 166
Поблагодарили 203 раз(а) в 86 сообщениях
Репутация: 75760
По умолчанию

Уточните, пожалуйста, подсчитывать нужно именно чаще всего встречающуюся цифру или все-таки число?

По определению множества натуральных чисел таковых в природе бесчисленное количество и, если речь идет о цифрах, а не о числах - придется рассматривать все разряды чисел, а это значительно усложнит алгоритм подсчета.
__________________
Убить всех человеков!
AlexZir вне форума  
Старый 13.09.2009, 16:43   #3 (permalink)
Long Cat
Banned
 
Регистрация: 01.09.2009
Сообщений: 4,396
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 2544
По умолчанию

В предположении, что речь идет о подсчете чисел....

program example;
const
n=10;
var
a:array[1..n] of integer;
i:integer;
k:integer;
j:integer;
pos:integer;
freq:integer;
begin
a[1]:=181;
a[2]:=223;
a[3]:=332;
a[4]:=11;
a[5]:=51;
a[6]:=11;
a[7]:=72;
a[8]:=11;
a[10]:=121;

pos:=1;
freq:=1;
for i:=1 to n do
begin
k:=1;
for j:=i+1 to n do
begin
if a[i]=a[j] then k:=k+1;
end;
if k>freq then
begin
freq:=k;
pos:=i;
end;
end;
writeln(a[pos],' ',freq);
readln;
end.
Long Cat вне форума  
Старый 13.09.2009, 16:50   #4 (permalink)
Диана-бельчонок
Новичок
 
Регистрация: 13.09.2009
Сообщений: 5
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
По умолчанию ответ

Дан массив именно натуральных чисел. При запуске программы мы сами вбиваем эти числа. А программа должна подсчитать ЦИФРУ, которая чаще всего встречается и ее кол-во. Програма будет просматривать введенные нами числа, делить их на разряды и уже проделывать свою работу - искать нужную цифру и подсчитывать ее кол-во.
Поможете? к вечеру...
Диана-бельчонок вне форума  
Старый 13.09.2009, 16:53   #5 (permalink)
AlexZir
support
 
Аватар для AlexZir
 
Регистрация: 19.08.2007
Адрес: Зея
Сообщений: 15,794
Записей в дневнике: 71
Сказал(а) спасибо: 166
Поблагодарили 203 раз(а) в 86 сообщениях
Репутация: 75760
По умолчанию

По количеству разрядов в числе ограничение какое-нибудь есть?
__________________
Убить всех человеков!
AlexZir вне форума  
Ads

Яндекс

Member
 
Регистрация: 31.10.2006
Сообщений: 40200
Записей в дневнике: 0
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 55070
Старый 13.09.2009, 16:57   #6 (permalink)
Диана-бельчонок
Новичок
 
Регистрация: 13.09.2009
Сообщений: 5
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
По умолчанию

нет. Нужно будет вставить алгоритм, который бы делил все числа на разряды. Ну как?
Диана-бельчонок вне форума  
Старый 13.09.2009, 17:00   #7 (permalink)
AlexZir
support
 
Аватар для AlexZir
 
Регистрация: 19.08.2007
Адрес: Зея
Сообщений: 15,794
Записей в дневнике: 71
Сказал(а) спасибо: 166
Поблагодарили 203 раз(а) в 86 сообщениях
Репутация: 75760
По умолчанию

Попробую сделать, если никто не опередит , ждите чуть позже.
__________________
Убить всех человеков!
AlexZir вне форума  
Старый 13.09.2009, 17:01   #8 (permalink)
Long Cat
Banned
 
Регистрация: 01.09.2009
Сообщений: 4,396
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 2544
По умолчанию

уже дописываю...
Long Cat вне форума  
Старый 13.09.2009, 17:02   #9 (permalink)
Диана-бельчонок
Новичок
 
Регистрация: 13.09.2009
Сообщений: 5
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
По умолчанию

Заранее спасибо
Диана-бельчонок вне форума  
Старый 13.09.2009, 17:14   #10 (permalink)
Long Cat
Banned
 
Регистрация: 01.09.2009
Сообщений: 4,396
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 2544
По умолчанию

Код:
program example;
var
  a:array[1..1000] of integer;
  digit:array[0..9] of integer;
  i:integer;
  j:integer;
  t:integer;
  r:integer;
  q:integer;
  n:integer;
begin
 write('count? ');
 readln(n);
 for i:=1 to n do
 begin
  write('a[',i,']=');
  readln(a[i]);
 end;

 for i:=0 to 9 do
 begin
  digit[i]:=0;
 end;

 for i:=1 to n do
 begin
  t:=a[i];
  while t > 0 do
  begin
   r:=t-(t div 10)*10;
   t:=t div 10;
   digit[r]:=digit[r]+1;
  end;
 end;
 j:=0;
 q:=0;
 for i:=0 to 9 do
 begin
  if digit[i]>q then
  begin
   q:=digit[i];
   j:=i;
  end;
 end;
 writeln(j,' ',q);
 readln;
end.
Long Cat вне форума  
Ads

Яндекс

Member
 
Регистрация: 31.10.2006
Сообщений: 40200
Записей в дневнике: 0
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 55070
Закрытая тема

Опции темы
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Выкл.
HTML код Выкл.
Trackbacks are Вкл.
Pingbacks are Вкл.
Refbacks are Выкл.




Часовой пояс GMT +4, время: 08:55.

Powered by vBulletin® Version 6.2.5.
Copyright ©2000 - 2014, Jelsoft Enterprises Ltd.