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

В целочисленном массиве найти наиболее длинную цепочку одинаковых подряд стоящих элементов - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ В файле найти первую из самых длинных последовательностей соседних символов, состоящую только из цифр http://www.cyberforum.ru/cpp-beginners/thread320320.html
Посмотрите что не так с моей задачей В существующем на диске файле найти первую из самых длинных последовательностей соседних символов, состоящую только из цифр. Заменить все символы этой...
C++ И снова вопрос по коду Код готов, но опять как я понял какая то фигня, из-за которой прога не верно работает Задание: Найти номера чётных элементов #include <stdio.h> #include <conio.h> main() { int a, b, i,... http://www.cyberforum.ru/cpp-beginners/thread320314.html
C++ умные люди,помогите пожалуйста!))) зарание спасибо)
помогите выполнить это задание: 1. В орграфе без циклов, заданном матрицей смежности с весами (длинами) дуг, найти критический путь, то есть путь наибольшей длины, идущий от первой вершины до...
C++ Объяснить программу
объясните пожалуйста программу,что делается на каждом этапе.struct sp{ int inf; sp* adr;} sp *fst,*lst,*tmp; tmp=(sp*)malloc(vl); int vl=sizeof(sp); tmp->inf=random(100); tmp->adr=NULL;...
C++ Контейнеры http://www.cyberforum.ru/cpp-beginners/thread320286.html
Здравствуйте. Помогите написать программу на С, с этим языком не знаком почти, а контейнеры вообще не понимаю. В общем беда полная.... 1. Создать контейнер, содержащий объекты пользовательского...
C++ ВВОД-ВЫВОД!!!! Неправльно! Вообще ничего не выводит..... Структура «абонент телефонной сети» содержит следующие поля: 1) фамилия (строка), 2) улица, 3) дом, 4) квартира, 5) тел. номер. Переопределить операции <<... подробнее

Показать сообщение отдельно
xAtom
915 / 740 / 60
Регистрация: 09.12.2010
Сообщений: 1,346
Записей в блоге: 1
16.06.2011, 13:11
Вот попробуй как вариант без вложенного цикла.
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
26
27
28
29
void  line_array(const int* arr, int size, int& start, int&  cnt) {
    int tmp = *arr, c = 0, k = 0;
    for(int i = 0; i < size; i++) {
    if( tmp == arr[i] ) {
         c++;
         if(c >= k) {
        k = c;
        start = i - c;
        cnt   = i + 1;
         }
          } else   
         c = 0;
           tmp = arr[i];
    }
}
 
 
 
void  main() {
 
     int arr[10]={1,3,4,5,6,6,5,5,5,4};
     int start, length;
 
     line_array(arr, sizeof(arr) / sizeof(int), start, length);
        
     for(int i = start; i < length; i++)
    printf("%d, ", arr[i]);
 
}
1
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru