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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 08.01.2011, 17:26   #1
Liam_
Пользователь
 
Аватар для Liam_
 
Регистрация: 16.12.2010
Сообщений: 29
Стрелка Паскаль: процедура, функция т_т

Дана последовательность целых чисел a1, a2, ... , an Найти число, наиболее часто встречаемое в массиве (если таких цифр несколько - напечатать лю-бую из них).

Помогите с решением, НО требуется решить не циклом, а сначала процедурой, потом отдельно функцией.
I wear the fez now. Fezes are cool..)
Liam_ вне форума Ответить с цитированием
Старый 08.01.2011, 18:19   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

А наработками похвастаться?
Ты хотя бы покажи как вводишь массив.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 08.01.2011, 20:42   #3
Liam_
Пользователь
 
Аватар для Liam_
 
Регистрация: 16.12.2010
Сообщений: 29
По умолчанию

Код:
var a:array[1..100] of integer;
     i,n,j,ind,sum,max:integer;
begin
 write('vvedite chislo elementov ');
 readln(n);
 for i:=1 to n do
  begin
  write('a[',i,'] ');
  readln(a[i]);
  end;
ind:=0;
max:=0;
for i:=1 to n do
 begin
  sum:=0;
   for j:=1 to n do
    if a[i]=a[j] then sum:=sum+1;

   if sum>max then begin ind:=i; max:=sum; end;
 end;

writeln;
writeln('Element "',a[ind],'" vstrechaetsia v massive ', max,' raz');
 readln;
end.
Пока что всё, что имеется - циклом...
I wear the fez now. Fezes are cool..)

Последний раз редактировалось Stilet; 08.01.2011 в 20:51.
Liam_ вне форума Ответить с цитированием
Старый 08.01.2011, 20:51   #4
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Навскидку:
Код:

Procedure P(var sum:integer);
begin
for i:=1 to n do
 begin
  sum:=0;
   for j:=1 to n do
    if a[i]=a[j] then sum:=sum+1;
end;

Function F:integer;
begin
for i:=1 to n do
 begin
  f:=0;
   for j:=1 to n do
    if a[i]=a[j] then f:=f+1;
end;

var a:array[1..100] of integer;
     i,n,j,ind,sum,max:integer;
begin
 write('vvedite chislo elementov ');
 readln(n);
 for i:=1 to n do
  begin
  write('a[',i,'] ');
  readln(a[i]);
  end;
ind:=0;
max:=0;
   p(sum);
   sum:=f;
   if sum>max then begin ind:=i; max:=sum; end;
 end;

writeln;
writeln('Element "',a[ind],'" vstrechaetsia v massive ', max,' raz');
 readln;
end.
Если захочешь можно разьединить по разным программам.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 08.01.2011, 22:11   #5
Liam_
Пользователь
 
Аватар для Liam_
 
Регистрация: 16.12.2010
Сообщений: 29
По умолчанию

Да, вроде бы нужно было 2-мя отдельными =)
I wear the fez now. Fezes are cool..)
Liam_ вне форума Ответить с цитированием
Старый 09.01.2011, 13:33   #6
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Ну раздели )
Ты то как я понимаю кое-что понимаешь, так что разделить готовый код для тебя проблемой не станет.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 09.01.2011, 20:49   #7
Liam_
Пользователь
 
Аватар для Liam_
 
Регистрация: 16.12.2010
Сообщений: 29
По умолчанию

Охинея получается, не подскажешь все таки с разделением? Второй час ночи, котелок кардинально отказывается варить..(
I wear the fez now. Fezes are cool..)
Liam_ вне форума Ответить с цитированием
Старый 09.01.2011, 21:36   #8
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

От несчастье...
Код:

Procedure P(var sum:integer);
begin
for i:=1 to n do
 begin
  sum:=0;
   for j:=1 to n do
    if a[i]=a[j] then sum:=sum+1;
end;

var a:array[1..100] of integer;
     i,n,j,ind,sum,max:integer;
begin
 write('vvedite chislo elementov ');
 readln(n);
 for i:=1 to n do
  begin
  write('a[',i,'] ');
  readln(a[i]);
  end;
ind:=0;
max:=0;
   p(sum);
   if sum>max then begin ind:=i; max:=sum; end;
 end;

writeln;
writeln('Element "',a[ind],'" vstrechaetsia v massive ', max,' raz');
 readln;
end.
Увидел разницу? Теперь по образу и подобию функцию прилепи.
Цитата:
Второй час ночи
Баиньки иди. Утро вечера мудренее, глядишь и Василиса Прекрасная во сне решение нашепчет )))
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 09.01.2011, 21:52   #9
Liam_
Пользователь
 
Аватар для Liam_
 
Регистрация: 16.12.2010
Сообщений: 29
По умолчанию

:D в таком случае лучше Премудрая, но это с какой стороны посмотреть) ладно, спасибо)
I wear the fez now. Fezes are cool..)
Liam_ вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Функция и Процедура (на С) Docen Помощь студентам 2 29.10.2010 14:12
Что лучше процедура или функция??? VintProg Общие вопросы Delphi 34 17.08.2010 15:52
Процедура-функция на нахождение НОД по теореме Евклида Blueyeska Помощь студентам 1 07.05.2010 21:16
процедура и функция mono Помощь студентам 1 04.05.2009 15:33
Процедура и функция HECTOR.A. Помощь студентам 2 16.12.2008 14:19