Форум программистов, компьютерный форум, киберфорум
Наши страницы
Free Pascal
Войти
Регистрация
Восстановить пароль
 
KiraOnce
0 / 0 / 1
Регистрация: 12.01.2013
Сообщений: 5
#1

Нахождение одинаковых элементов массива - Free Pascal

13.01.2013, 17:26. Просмотров 775. Ответов 4
Метки нет (Все метки)

Есть рандомный массив от 1 до 28. Нужно выполнить проверку каждого элемента на наличие одинаковых значений. Причем одинаковые значения должны идти подряд. Подскажите, пожалуйста, как можно вычислить кол-во таких элементов, и если таких "промежутков постоянства" несколько, найти среднее значение этих "промежутков".
P.S. на практике если вводить рандомные числа, врядли получатся много таких промежутков, если они вообще будут, но все же нужна программа по их нахождению.
http://www.cyberforum.ru/free-pascal/thread214612.html
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
13.01.2013, 17:26
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Нахождение одинаковых элементов массива (Free Pascal):

Сумма одинаковых элементов массива
Используя процедуры, найдите сумму элементов, присутствующих в двух данных...

Поиск одинаковых элементов массива
Дана квадратная целочисельная матрица A. N<100; Определить, есть ли в ней хотя...

Определить максимальное количество одинаковых элементов массива
Дан целочисленный массив размера N. Определить максимальное количество его...

Нахождение суммы нечётных элементов массива
В общем надо программа которая считает сумму всех нечётных элементов массива,...

Рекурсивное нахождение суммы элементов массива.
Привет Народ! Напишите пожалуйста рекурсию вычисление суммы элементов...

4
volvo
Супер-модератор
Эксперт Pascal/DelphiАвтор FAQ
25605 / 17158 / 6824
Регистрация: 22.10.2011
Сообщений: 30,356
Записей в блоге: 6
13.01.2013, 19:19 #2
Вот это имелось в виду:
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
type
   Range = 1 .. 28;
var
   Arr : array[Range] of Integer;
   i : Integer;
   Count : Integer;
begin
   Randomize;
   for i in Range do
   begin
      Arr[i] := Random(5); // 0 .. 4, чтобы было больше дубликатов, для теста
      write(Arr[i]:3);
   end;
   writeln;
 
   Count := 0; // счетчик дубликатов
   i := Low(Range) + 1; // Начинаем со второго элемента массива
   while i <= High(Range) do // Пока на дойдем до конца:
   begin
      if Arr[i] = Arr[i - 1] then // текущий и предыдущий элементы равны?
      begin
         Inc(Count); // Значит, увеличиваем счетчик
 
         // и, пока не закончится массив или не найдем разную пару "предыдущий-текущий"
         // продвигаемся дальше, то есть, все повторения того элемента, для которого
         // уже был увеличен счетчик, пропускаются.
         while (i <= High(Range)) and (Arr[i] = Arr[i - 1]) do Inc(i); 
      end
      else Inc(i); // текущий и предыдущий - разные? Тогда просто продвигаемся вперед, к следующему элементу массива
   end;
 
   writeln(Count, ' equal(s)');
end.
?
1
KiraOnce
0 / 0 / 1
Регистрация: 12.01.2013
Сообщений: 5
13.01.2013, 20:21  [ТС] #3
UI, спасибо большое за программу! А вы можете объяснить словами, что происходит с 16 по 25 пункты..? А то я не совсем понял, какие действия выполняются...
0
volvo
Супер-модератор
Эксперт Pascal/DelphiАвтор FAQ
25605 / 17158 / 6824
Регистрация: 22.10.2011
Сообщений: 30,356
Записей в блоге: 6
13.01.2013, 22:04 #4
Добавил комментарии к программе.
1
KiraOnce
0 / 0 / 1
Регистрация: 12.01.2013
Сообщений: 5
14.01.2013, 01:02  [ТС] #5
UI, еще раз большое спасибо! Очень помогли!
0
14.01.2013, 01:02
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
14.01.2013, 01:02
Привет! Вот еще темы с решениями:

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

Нахождение наибольшего среди элементов массива в определённом интервале
Составить программу нахождения наибольшего среди тех элементов одномерного...

Нахождение произведение четных элементов каждой строки массива
Нахождение произведение четных элементов каждой строки массива mХn; йа...

Нахождение среднего арифметического всех значений элементов двумерного массива
Народ, я знаю, что совсем обнаглел, но просто с массивами ну совсем туго: 1....


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru