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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 03.08.2011, 17:29   #41
Alex11223
Старожил
 
Аватар для Alex11223
 
Регистрация: 12.01.2011
Сообщений: 19,500
По умолчанию

Эм...Не понял вопрос.

В 35 и 38 сообщениях я же писал решение аналогичной задачи (кол-во подряд идущих нулей).
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом.
Alex11223 вне форума Ответить с цитированием
Старый 03.08.2011, 18:16   #42
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

Цитата:
Сообщение от Faridik
Найти наибольшее количество подряд идущих равных элементов. Вот например в этой задаче фрагмент кода который находит КОЛ-ВО подряд идущих равных элементов.
учитесь выражать свои мысли...

если я правильно понял Ваш вопрос, то Вы не понимаете, каким образом код Alex11223 из его постов #35 и #38
решает задачу нахождения наибольшего количества нулей, расположенных в массиве подряд?

Код:
max=0; счётчик, в котором наибольшее количество найденных подряд нулей - в начале ставим туда ноль
temp=0; счётчик, сколько встретилось нулей подряд - в начале - ноль

for (i=0;i<n;i++)  цикл по всем элементам массива
{
   if (a[i]!=0) temp=0; в массиве очередной элемент - НЕ НОЛЬ. текущий счётчик сбрасываем.
   else очередно элемент нулевой, поэтому
       temp++; счётчик, сколько встретилось нулей увеличиваем на единицу

   сравниваем. если счётчик, сколько в текущий раз встретилось нулей, БОЛЬШЕ, чем найденное ранее максимальное количество, 
     то запоминаем текущее значение счётчика как максимальное
   if (temp>max) max=temp;
}

конец. в переменной max наибольшее количество нулей расположенных подряд
Serge_Bliznykov вне форума Ответить с цитированием
Старый 04.08.2011, 03:49   #43
Faridik
Форумчанин
 
Аватар для Faridik
 
Регистрация: 08.08.2008
Сообщений: 117
По умолчанию

Спасибо.Теперь более ясно.Я просто хотел коротко изложить свою мысль,не получилось.Будем стараться выражаться корректно.

Найти наибольшее количество подряд идущих равных элементов.
Код:
int max,n,i,m;
      n=10;
      int a[]={2,2,3,1,4,4,4,4,5,6};
      m=0;
      max=0;
      for (i=0;i<n;i++)
      {
          if (a[i]==a[i+1]) m++;
          if (m>max) max=m;
       }
       System.out.println(max);
Когда
Код:
for (i=0;i<n;i++)
при компиляции выдается ошибка.Индекс массива больше.А когда в цикле делаю i<9 программа работает правильно.в чем проблема?

Последний раз редактировалось Stilet; 12.08.2011 в 21:12.
Faridik вне форума Ответить с цитированием
Старый 04.08.2011, 15:41   #44
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

проблема тут
Цитата:
Код:
a[i+1]
. Потому что Вы в цикле обращаетесь к СЛЕДУЮЩЕМУ элементу. (в данном случае - к 11-му элементу)..
Serge_Bliznykov вне форума Ответить с цитированием
Старый 04.08.2011, 21:35   #45
Faridik
Форумчанин
 
Аватар для Faridik
 
Регистрация: 08.08.2008
Сообщений: 117
По умолчанию

Да я это увидел,а как его задавать чтоб алгоритм выполнялся правильно?
Faridik вне форума Ответить с цитированием
Старый 04.08.2011, 21:38   #46
Mad_Cat
Made In USSR!
Старожил
 
Аватар для Mad_Cat
 
Регистрация: 01.09.2010
Сообщений: 3,657
По умолчанию

Код:
for (i=0;i<n-1;i++)
"...В жизни я встречал друзей и врагов.В жизни много всего перевидал.Солнце тело мое жгло, ветер волосы трепал,но я смысла жизни так и не узнал..."
(c) Юрий Клинских aka "Хой"
Mad_Cat вне форума Ответить с цитированием
Старый 04.08.2011, 22:20   #47
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

этого мало.

вижу ещё две ошибки.
1-я. счётчик будет всегда показывать на единицу меньше, чем количество подряд идущих чисел

2-я. нужно ещё сбрасывать m, если встретилась не равная цифра...


p.s. Прошу к моим замечаниям отнестись критически и проверить: т..к. С нет. замечания пишу исключительно исходя из кода, могу и ошибаться...
ошибки должны быть видны на таких исходных данных:
первая ошибка на таких:
={1,1,1,2,3,4,5,6,7,8};
вторая на таких:
={1,1,1,1,4,4,4,5,5,6};


Добавлено
исправленный код может выглядеть так:
Код:
      m=1;
      max=0;
      for (i=0;i<n-1;i++)
      {
          if (a[i]==a[i+1])
          {
              m++;
          }
          else 
          {
              m = 1;
          }
          if (m>max) max=m;
       }

Последний раз редактировалось Serge_Bliznykov; 05.08.2011 в 07:05.
Serge_Bliznykov вне форума Ответить с цитированием
Старый 06.08.2011, 17:59   #48
Faridik
Форумчанин
 
Аватар для Faridik
 
Регистрация: 08.08.2008
Сообщений: 117
По умолчанию

Найти количество простых чисел. Такая задача задана,вот не могу придумать свойство по которому алгоритм будет находить простые числа.
Faridik вне форума Ответить с цитированием
Старый 06.08.2011, 18:21   #49
Alex11223
Старожил
 
Аватар для Alex11223
 
Регистрация: 12.01.2011
Сообщений: 19,500
По умолчанию

Ну простое число — это число, которое делится только на себя и 1. Например, можно в цикле смотреть на что делится это число.
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом.
Alex11223 вне форума Ответить с цитированием
Старый 06.08.2011, 18:38   #50
Faridik
Форумчанин
 
Аватар для Faridik
 
Регистрация: 08.08.2008
Сообщений: 117
По умолчанию

Ну да,то что оно имеет 2 делителя я знаю ))Вот как написать чтоб алгоритм находил простые числа.Если написать 2 делителя,то все числа имеют 2 делителя.А по другому как?
Faridik вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Вопрос начинающего по компилятору Tmod Софт 7 28.08.2010 22:10
Вопрос от начинающего ProGus Microsoft Office Excel 1 10.08.2010 14:30
Инструментарий начинающего... Всеслав Общие вопросы C/C++ 6 24.12.2008 15:39
Портфолио начинающего программиста С++ Марья Свободное общение 1 12.06.2008 08:16