На главную Наши проекты:
Журнал   ·   Discuz!ML   ·   Wiki   ·   DRKB   ·   Помощь проекту
ПРАВИЛА FAQ Помощь Участники Календарь Избранное RSS
msm.ru
Модераторы: Qraizer, Hsilgos
  
> если заняца нечем решите задачку простую
    Задан одномерный массив целых чисел. Найти, сколько в нем пар одинаковых соседних элементов.
    допустим массив из 30 элементов
    ExpandedWrap disabled
      #include <iostream.h>
      #include <stdlib.h>
      int a[30],i;
      void main()
      {   for (i=0;i<30;i++) {
              a[i]=rand() % 10;
              cout << a[i] << endl;}
      }

    а вот кака найти скока пар я чето нимагу придумать :/
      ВО-первых, уточни задание.
      Например, в последовательности:
      3 3 3
      Скока пар будет? 2 или 1?
      Во-вторых, учи русский.
      В-третьих, зарегайся. Я тебе минус поставлю ;)
        уточнить задание не могу, потому что мне такое выдали
        может я думаю если элемент уже участвовал в паре то он не счетается т.е. 3 3 3 - одна пара [3 3] 3
        русский мне позно учить
        зарегался, минус мне ненадо
          Фигачим цикл по i, пока i не станет равной (кол-ву эл-тов - 1)
          i увеличивается после каждой итерации на 1.
          в цикле проверка:
          ExpandedWrap disabled
            if(arr[i] == arr[i + 1]) {
             // здесь увеличиваем счетчик пар
             ++i; // здесь увеличиваем счетчик цикла
            }

          arr - твой массив.
          Сообщение отредактировано: byte -
            спасибо, все теперь ок :)
            кому интересно это произведение искуства:
            ExpandedWrap disabled
              #include <iostream.h>
              #include <stdlib.h>
              int arr[30],i,x;
              void main(){
                  x=0;
                  for (i=0;i<30;i++) {
                      arr[i]=rand() % 10;
                      cout << arr[i] ;
                      cout << " ";}
                  i=0;
                  for (i=0;i<30;i++) {
                  if(arr[i] == arr[i + 1]) {
                      x=x+1;}
                  }
                  
              cout << "par = ";
              cout << x << endl;
              }

            кстати народ, может есть какой-нить краткий курс по срр, а то у меня сесия и надо побыстрому это прочитать и попробовать основное, вот типа таких заданий там, сейчас с файлами будет и прочее
              Цитата Snk, 28.11.04, 17:06, 525991
              for (i=0;i<30;i++) {
              if(arr[i] == arr[i + 1]) {
              x=x+1;}
              }

              тебе же написали до max_elemets-1, тобишь до 29.
              потому как ты пишешь arr[i + 1].

              + к этому при 3, 3, 3 ты выделишь две пары, потому как сравниваешь: элемент + следующий. Если не хочешь двух пар в подобной ситуации. При нахождении пары увеличивай счетчик i. Тогда ты пропустишь правый элемент найденной пары.
              0 пользователей читают эту тему (0 гостей и 0 скрытых пользователей)
              0 пользователей:


              Рейтинг@Mail.ru
              [ Script execution time: 0.0755 ]   [ 16 queries used ]   [ Generated: 22.09.26, 18:59 GMT ]