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

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

Вернуться   Форум программистов > Delphi программирование > Паскаль, Turbo Pascal, PascalABC.NET
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 15.06.2009, 16:23   #1
Archangelos
Пользователь
 
Регистрация: 01.06.2009
Сообщений: 17
По умолчанию Множество

Дан одномерный целочисленный массив А, состоящий из N элементов, N - аданное натуральное число. Определите есть ли в массиве три равных элемента стоящих подряд.


Очень прошу помогите! напишите програму полностью.
Archangelos вне форума Ответить с цитированием
Старый 15.06.2009, 17:06   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Так сойдет?
Код:
const n=100000;
var a:array[1..n] of integer;
i:integer;
begin
 for i:=1 to n do begin
  a[i]:=random(10);
 end;
 for i:=1 to n-3 do begin
  if (a[i]=a[i+1])and(a[i]=a[i+2]) then begin
   write('Есть'); exit;
  end;
 end;
 write('нет');
end.
Р.S. Это где ж такой лени учат...
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 15.06.2009, 17:33   #3
Archangelos
Пользователь
 
Регистрация: 01.06.2009
Сообщений: 17
По умолчанию

а почему n-3 ?
Archangelos вне форума Ответить с цитированием
Старый 15.06.2009, 17:44   #4
Monte-Kristo
Пользователь
 
Регистрация: 03.03.2009
Сообщений: 27
По умолчанию

по идее n-2 должно быть...
Monte-Kristo вне форума Ответить с цитированием
Старый 15.06.2009, 17:45   #5
Archangelos
Пользователь
 
Регистрация: 01.06.2009
Сообщений: 17
По умолчанию

но почему? МНЕ ОБЪЯСНЕНИЕ НУЖНО -(
Archangelos вне форума Ответить с цитированием
Старый 15.06.2009, 17:49   #6
Monte-Kristo
Пользователь
 
Регистрация: 03.03.2009
Сообщений: 27
По умолчанию

Потому что у тебя идет сравнение предпредпослеледнего элемента с предпослденим и последним (к примеру будет так: 1 4 8 2 0 9 7 7 7)
первая семерка в массиве с индексом i будет сравниваться с семеркой с индексом на единицу больше относительно семерки с индексом i, то есть будет i+1, и соответственно с последней семеркой с индексом i+2.

Так вот когда цикл сравнения дошел до элемента с индексом n-2, впереди осталось еще два элемента, с которыми и будет идти сравнение в данный момент. И брать дальше для сравнения элементы с индексами n-1 и n уже нет смысла, т.к. впереди них уже нет двух элементов, с которыми можно было бы сравнивать.
Monte-Kristo вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
множество. Юлька:) Помощь студентам 1 30.03.2009 21:27
Как задать множество 1234 Паскаль, Turbo Pascal, PascalABC.NET 7 25.05.2008 16:15
Множество браузеров LeoN Общие вопросы Delphi 0 01.05.2008 14:55
Множество xxxPascalxxx Помощь студентам 11 24.02.2008 19:07