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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 09.12.2010, 16:51   #1
DarkWishMaster
 
Регистрация: 26.10.2010
Сообщений: 7
По умолчанию Алгоритм по нахождению цепи в векторе.

Вот такая задачка: составить процердуру которая будет искать в векторе A[1..100] самую длиную цепь из одного числа и показывать их позицию в векторе(первое и последнее число цепи)
Например n=10: ищем цепь из y:
x yyyy x y xxx - самая длиная цепь из 4 цифр, позиции 2 5.
DarkWishMaster вне форума Ответить с цитированием
Старый 09.12.2010, 16:54   #2
alex_fcsm
Участник клуба
 
Аватар для alex_fcsm
 
Регистрация: 10.11.2008
Сообщений: 1,502
По умолчанию

В чем затруднения? Что уже получилось?
Нормальное состояние техники - нерабочее, все остальное частный случай.
alex_fcsm вне форума Ответить с цитированием
Старый 09.12.2010, 17:19   #3
DarkWishMaster
 
Регистрация: 26.10.2010
Сообщений: 7
По умолчанию

Я не очень понимаю как правильно переменые ставить в процедуры, поэтому наверно и пишет Invalid procedure of function reference, но не в этом дело, мне главное алгоритм поиска цепи из "0" и как их позицию показать.
Код:
type a1=array[1..100] of integer;
var r:integer;
 procedure P(n:integer);
 var i,l,k:integer; 
 a:a1;
 begin
 writeln('Nr on array:');readln(n);
 for i:=1 to n do
 writeln('Data:');
 write('a[',i,']=');readln(a[i]);
 for i:=1 to n do begin
 if a[i]=0 then k:=k+1;
 if (a[i]<>0) and (l<k) then l:=k;
 k:=0;
 writeln(l);
 end; end;
begin
readln(r);
writeln(P(r)); readln;
end.
║ну тут как-бы он должен найти первый 0 и сложить к +1 и так пока не а[i] не будет равен нулю и если этот К будет больше вспомогательной переменой то l получит значения К и к будет равен нулю и дальше в векторе будет искать нули, и так пока не найдет самую большую цепь и l будет равно сколько 0 в цепи.


Последний раз редактировалось alex_fcsm; 09.12.2010 в 18:22. Причина: Оформляйте код правильно
DarkWishMaster вне форума Ответить с цитированием
Старый 09.12.2010, 18:21   #4
alex_fcsm
Участник клуба
 
Аватар для alex_fcsm
 
Регистрация: 10.11.2008
Сообщений: 1,502
По умолчанию

Массив должен заполняться в основной программе, а в процедуре(функции) должен осуществляться поиск
Нормальное состояние техники - нерабочее, все остальное частный случай.
alex_fcsm вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
программа по нахождению наименьшей суммы множителей данного числа carma52 Помощь студентам 0 17.10.2010 20:26
алгоритм search, поиск в векторе ссылочных переменных the_deer_one Общие вопросы C/C++ 13 04.09.2010 21:10
Поиск в векторе. the_deer_one Общие вопросы C/C++ 3 31.08.2010 17:52
Скрытие строки по нахождению в столбце 0 konistra Microsoft Office Excel 1 23.06.2010 05:09