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

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

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

Восстановить пароль

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

Ответ
 
Опции темы Поиск в этой теме
Старый 15.12.2010, 23:34   #1
TaiPaN
 
Регистрация: 15.12.2010
Сообщений: 6
По умолчанию Задача (Паскаль)

Здравствуйте уважаемые программисты)
Пожалуйста, помогите решить задачу!
вот задача:

Дана последовательность не более 20 ненулевых целых чисел,
последним числом в последовательности является 0. Ввести эту
последовательность в одномерный массив и вычислить количество арифметических прогрессий с заданным приращением М, состоящих не менее чем из трех подряд расположенных элементов; порядок расположения элементов в массиве менять нельзя; для каждой обнаруженной прогрессии напечатать номера входящих в нее элементов (использование дополнительных массивов запрещено).

Заранее благодарен)
TaiPaN вне форума Ответить с цитированием
Старый 16.12.2010, 10:21   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Что-то я немного ниразу непонял задание...
Найти кол-во рядомстоящих повторяющихся элементов что-ли?
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 16.12.2010, 13:42   #3
TaiPaN
 
Регистрация: 15.12.2010
Сообщений: 6
По умолчанию

найти кол-во арифметических прогрессий с заданным приращением М.
например:
1 3 6 7 8 11
здесь одна арифметическая прогрессия, это: 6 7 8, а приращение = 1.
я сам не до конца понел задачу(

Последний раз редактировалось TaiPaN; 16.12.2010 в 17:17.
TaiPaN вне форума Ответить с цитированием
Старый 20.12.2010, 20:38   #4
TaiPaN
 
Регистрация: 15.12.2010
Сообщений: 6
Печаль

может все-таки мне кто-нибудь поможет?
TaiPaN вне форума Ответить с цитированием
Старый 19.01.2011, 17:07   #5
Mad_Cat
Made In USSR!
Старожил
 
Аватар для Mad_Cat
 
Регистрация: 01.09.2010
Сообщений: 3,657
По умолчанию

Цитата:
может все-таки мне кто-нибудь поможет
лови)
Код:
var n,nc:integer;
m:integer;
a:array[1..20] of integer;
k,i,j:integer;
begin
n:=0;
repeat inc(n); readln(a[n]); until a[n]=0;
dec(n);
Writeln('Array');
for i:=1 to n do write(a[i],'  ');
Writeln;
write('m=');readln(m);
k:=0;i:=1;
while i<=n do begin
if a[i+1]-a[i]=m then begin inc(k);inc(i);end
else begin
if k >= 3 then begin
  if k=i-1 then nc:=1
  else nc:=i-k+1;
for  j:=nc to i do
write(j,' ');
writeln;k:=0;
Dec(i);
end
else inc(i);end;
end;
if k=i-1 then nc:=1
  else nc:=i-k+1;
if k>=3 then
for  j:=nc to i do
write(j,' ');
readln;
end.
"...В жизни я встречал друзей и врагов.В жизни много всего перевидал.Солнце тело мое жгло, ветер волосы трепал,но я смысла жизни так и не узнал..."
(c) Юрий Клинских aka "Хой"
Mad_Cat вне форума Ответить с цитированием
Старый 19.01.2011, 19:05   #6
TaiPaN
 
Регистрация: 15.12.2010
Сообщений: 6
По умолчанию

спасибо большое!
TaiPaN вне форума Ответить с цитированием
Ответ


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

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Задача на Паскаль Лешка Помощь студентам 0 10.12.2010 20:35
Задача на Паскаль WitaliG Помощь студентам 2 08.11.2010 17:53
Задача на Паскаль WitaliG Помощь студентам 2 31.10.2010 15:17
Задача на паскаль St1fler92 Помощь студентам 4 26.05.2009 16:21