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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 14.12.2010, 23:39   #11
andrewpalkin
Форумчанин
 
Аватар для andrewpalkin
 
Регистрация: 23.11.2010
Сообщений: 458
По умолчанию

Вот этот код :

Код:
for i:= 1 to n-1 do
begin
if X[i]=X[i+1] then
begin
dlina_posl_tek:=dlina_posl_tek+1;
if dlina_posl_tek < 3 then
begin
pol_posl_tek:=i;
end
end
else
begin
if dlina_posl_tek > dlina_posl_max then
begin
dlina_posl_max:=dlina_posl_tek;
pol_posl_max:=pol_posl_tek;
dlina_posl_tek:=1;
end
else
begin
dlina_posl_tek:=1;
end
end
end;
Замени на вот этот код :

Код:
for i:= 1 to n-1 do
begin
   if X[i]=X[i+1] then
     begin
        dlina_posl_tek := dlina_posl_tek + 1; 
         if dlina_posl_tek > dlina_posl_max then
           dlina_posl_max := dlina_posl_tek;
           pol_posl_max := pol_posl_tek;
     end;
   else
   begin
     dlina_posl_tek := 1; 
     pol_posl_tek := i+1;
   end;
end;
Прогони программу и скажи работает или нет , просто у меня нет паскаля
--- Если я вам помог , то помогите и вы мне . Не просто просите решить задачу , а пробуйте ее сами решить ! Я не пишу программы с нуля , я помогаю поправить код ! ---

Последний раз редактировалось andrewpalkin; 14.12.2010 в 23:58.
andrewpalkin вне форума Ответить с цитированием
Старый 14.12.2010, 23:46   #12
rusfin01
Пользователь
 
Регистрация: 14.12.2010
Сообщений: 25
По умолчанию

Работает та норм, но очень редко длину из 1 последовательности все равно выводит(
rusfin01 вне форума Ответить с цитированием
Старый 14.12.2010, 23:53   #13
andrewpalkin
Форумчанин
 
Аватар для andrewpalkin
 
Регистрация: 23.11.2010
Сообщений: 458
По умолчанию

Цитата:
Сообщение от rusfin01 Посмотреть сообщение
Работает та норм, но очень редко длину из 1 последовательности все равно выводит(
Я не пойму , ты заменил на то , что я тебе дал и что именно редко выводит ??? Ты можешь привести пример ???

Поправил код в сообщение выше , вроде ты так хотел задание , только в задание ничего про это не сказано
--- Если я вам помог , то помогите и вы мне . Не просто просите решить задачу , а пробуйте ее сами решить ! Я не пишу программы с нуля , я помогаю поправить код ! ---

Последний раз редактировалось Stilet; 15.12.2010 в 08:59.
andrewpalkin вне форума Ответить с цитированием
Старый 15.12.2010, 00:05   #14
rusfin01
Пользователь
 
Регистрация: 14.12.2010
Сообщений: 25
По умолчанию


Вот где цифра 3 в кружочке, это максимальная последовательность! Но очень очень редко он выводит 1 (а такого быть не должно)

П.с. после редактирования еще хуже стало( может без положения элементов лучше

Последний раз редактировалось rusfin01; 15.12.2010 в 00:10. Причина: Хочу скрин показать , но не получается!
rusfin01 вне форума Ответить с цитированием
Старый 15.12.2010, 00:11   #15
andrewpalkin
Форумчанин
 
Аватар для andrewpalkin
 
Регистрация: 23.11.2010
Сообщений: 458
По умолчанию

Цитата:
Сообщение от rusfin01 Посмотреть сообщение
Вот где цифра 3 в кружочке, это максимальная последовательность! Но очень очень редко он выводит 1 (а такого быть не должно)
Ну так ты в свой массив записываешь случайные числа , что значит он редко выводит 1 , если у тебя есть последовательность из 2 элементов подряд , то уже 1 он не выведет .

Я вот и не пойму в чем проблема , по тому скрину , что ты сделал , программа работает правильно

Объясни в чем проблема то ??? Или ты не знаешь , что такое случайные числа , которые ты пишешь в свой массив ???

Прогани вот этот код :

Код:
Uses crt;
const n=20;

var
i :integer;
dlina_posl_max :integer;
dlina_posl_tek :integer;
pol_posl_max :integer;
pol_posl_tek :integer;
X: array [1..n] of integer;

begin
randomize;
for i:= 1 to n do
begin
X[i]:=random(5);
write(X[i],' ');
end;

dlina_posl_max:=1;
dlina_posl_tek:=1;
pol_posl_max:=1;
pol_posl_tek:=1;

for i:= 1 to n-1 do
begin
   if X[i]=X[i+1] then
     begin
        dlina_posl_tek := dlina_posl_tek + 1; 
         if dlina_posl_tek > dlina_posl_max then
           begin
              dlina_posl_max := dlina_posl_tek;
              pol_posl_max := pol_posl_tek;
           end;
     end;
   else
   begin
     dlina_posl_tek := 1; 
     pol_posl_tek := i+1;
   end;
end;

writeln('');
writeln('длина последовательности максимальная: ',dlina_posl_max);
writeln('положение начала последовательности: ',pol_posl_max);

end.
--- Если я вам помог , то помогите и вы мне . Не просто просите решить задачу , а пробуйте ее сами решить ! Я не пишу программы с нуля , я помогаю поправить код ! ---

Последний раз редактировалось Stilet; 15.12.2010 в 09:08.
andrewpalkin вне форума Ответить с цитированием
Старый 15.12.2010, 00:14   #16
rusfin01
Пользователь
 
Регистрация: 14.12.2010
Сообщений: 25
По умолчанию

Знаю))
Поскрину да, программа работает правильно!
Но если не сколько раз подряд запускать программу, то через некоторе время выдаст последовательность 1
rusfin01 вне форума Ответить с цитированием
Старый 15.12.2010, 00:17   #17
andrewpalkin
Форумчанин
 
Аватар для andrewpalkin
 
Регистрация: 23.11.2010
Сообщений: 458
По умолчанию

когда получишь 1 , сделай скрин и выложи !!!
--- Если я вам помог , то помогите и вы мне . Не просто просите решить задачу , а пробуйте ее сами решить ! Я не пишу программы с нуля , я помогаю поправить код ! ---
andrewpalkin вне форума Ответить с цитированием
Старый 15.12.2010, 00:19   #18
rusfin01
Пользователь
 
Регистрация: 14.12.2010
Сообщений: 25
По умолчанию

Кстати, прогнал ваш код, вот что получилось! Положение неправильно считает
rusfin01 вне форума Ответить с цитированием
Старый 15.12.2010, 00:24   #19
andrewpalkin
Форумчанин
 
Аватар для andrewpalkin
 
Регистрация: 23.11.2010
Сообщений: 458
По умолчанию

Упс , забыл один begin Забери последний код еще раз , я его поправил
--- Если я вам помог , то помогите и вы мне . Не просто просите решить задачу , а пробуйте ее сами решить ! Я не пишу программы с нуля , я помогаю поправить код ! ---
andrewpalkin вне форума Ответить с цитированием
Старый 15.12.2010, 00:29   #20
rusfin01
Пользователь
 
Регистрация: 14.12.2010
Сообщений: 25
По умолчанию

Работает!!! Спасибо большое что помогли)))
С удовольствием вам плюс в репу поставлю - только не могу понять где это ставится
rusfin01 вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
тема одномерные массивы. coolbaba Общие вопросы Delphi 7 09.02.2013 19:35
Одномерные массивы, паскаль Seil_29 Помощь студентам 5 05.02.2010 19:25
одномерные массивы.паскаль kleinchen6 Помощь студентам 3 03.12.2009 13:12
Паскаль. Одномерные массивы. glupayastudentka Помощь студентам 2 24.06.2009 07:47
Одномерные массивы. Паскаль Ximer Помощь студентам 2 14.05.2009 11:24