Форум программистов, компьютерный форум CyberForum.ru

Выяснить имеется ли в одном массиве 3 подряд одинаковых элемента - C++

Восстановить пароль Регистрация
 
Оксана Курбатов
 Аватар для Оксана Курбатов
18 / 0 / 1
Регистрация: 30.11.2011
Сообщений: 33
06.12.2011, 21:06     Выяснить имеется ли в одном массиве 3 подряд одинаковых элемента #1
Выяснить имеется ли в одном массиве 3 подряд одинаковых элемента
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
06.12.2011, 21:06     Выяснить имеется ли в одном массиве 3 подряд одинаковых элемента
Посмотрите здесь:

C++ Дан массив из N целых чисел. Выяснить имеется ли в массиве хотя бы одно нечетное отрицательное число и определить его местонахождение в массиве
Имеется ли в целочисленном массиве два идущих подряд нуля? C++
В массиве m x n проверить, имеется ли по горизонтали и вертикали цепочка, состоящая подряд из 5 единиц C++
C++ Выяснить, имеется' ли среди s1,…,sn пара соседствующих одинаковых символов
Выяснить, имеются ли в данном массиве два идущих подряд положительных элемента C++
C++ Определить, имеется ли в массиве три идущих подряд нулевых элементов
Выяснить, имеется ли среди s1,...,sn пара соседствующих одинаковых символов C++
Выясните, имеется ли в массиве символов пара соседних одинаковых C++

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
xAtom
 Аватар для xAtom
910 / 735 / 60
Регистрация: 09.12.2010
Сообщений: 1,346
Записей в блоге: 1
06.12.2011, 23:51     Выяснить имеется ли в одном массиве 3 подряд одинаковых элемента #2
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
#include <stdio.h>
 
int is_seq3(const int* arr, int size) {
  const int* ptr, *end = arr + size;
  while(arr != end) {
      for(ptr = arr; *ptr == *arr && ptr != end; *ptr++);
      if((ptr - arr) >= 3) 
          return 1;
      else
          arr = (ptr - arr) ? arr+(ptr-arr) : ++arr; 
  }
  return 0;
}
 
 
int main(void){
   int arr[] = { 1, 1, 5, 5, 5 };
 
   if(is_seq3(arr, sizeof(arr)/sizeof(arr[0])))
         puts("Ok...");
   else
         puts("Not !!!");
    getchar();
    return 0;
}
Yandex
Объявления
06.12.2011, 23:51     Выяснить имеется ли в одном массиве 3 подряд одинаковых элемента
Ответ Создать тему
Опции темы

Текущее время: 11:14. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru