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

Определить длину наибольшей последовательности одинаковых чисел в массиве - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ не могу справиться с программами (они несложные) http://www.cyberforum.ru/cpp-beginners/thread400438.html
Парни, от меня в универе требуют к четвергу написать проги на C++, я написала около 9, осталось только 3.. помогите пожалуйста :-[ 1. Определить наибольший общий делитель для 3-х введенных с клавиатуры чисел. 2. По заданному массиву A(n) построить массив C(n), для которого: c1=a1; c2=a1+a2; ……………… cn=a1+a2+⋯+an
C++ Построить интерполяционный многочлен и интерполяционный сплайн Здравствуйте, уважаемые. Даны узлы и значения функции в них. Картинка во вложении. Нужно построить интерполяционный многочлен(Лагранжа или Ньютона) и интерполяционный сплайн, а потом найти значение функции в определенной точке. Значение функции через многочлен Лагранжа я нашел: double Lagrange (double x, double* x_v, double* y_v) { double s = 0; double l = 1; for (int i = 0; i < 5;... http://www.cyberforum.ru/cpp-beginners/thread400432.html
C++ массив в с++
Размерности массивов вводить с клавиатуры. Элементы массивов по желанию пользователя вводить с клавиатуры или генерировать случайным образом в заданных пределах. Исходные данные и результаты выводить на экран дисплея в табличном виде. В заданной последовательности целых чисел найти самую длинную подпоследовательность, которая является арифметической прогрессией.
C++ Как помнять первое и последнее слово в строке?
с++ как поменять местами слова?
C++ Преобраование массива http://www.cyberforum.ru/cpp-beginners/thread400419.html
Как массив X AAA BBB CCC преобразовать в массив Y, чтобы массив Y имел вид : AAA BBB
C++ Обработка строк. (с шаблонами) С клавиатуры вводятся: - предложение, слова в котором разделены символом подчёркивания ('_'); - маска (шаблон) для выбора из предложения нужных слов (содержит буквы и сивол-заполнитель '*', который заменяет любое сочетание букв, в том числе пустое). Необходимо выбрать из предложения все слова, соответствующие маске (шаблону). Допустимые символы - прописные русские буквы; символ разделитель... подробнее

Показать сообщение отдельно
xAtom
914 / 739 / 60
Регистрация: 09.12.2010
Сообщений: 1,346
Записей в блоге: 1
06.12.2011, 21:38     Определить длину наибольшей последовательности одинаковых чисел в массиве
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
30
#include <stdio.h>
 
int max_seq_len(const int* a, int* sz) {
   const int* p, *i;
   int x = 0, y = 0;
   for(i = a; i != a + *sz; ) {
         for(p = i; *p == *i && p != a + *sz; *p++);
         if((p - i) > x) {
              x = p - i;
              y = i - a;
              i += x;
         } else
             *i++;
    }
    *sz = x + y;
    return y;
}
 
 
int main(void){
  int arr[] = { 40, 40, 40, 8, 4, 4, 4, 7, 7, 7, 7, 0, 0 };
  int p, i, size  = sizeof(arr) / sizeof(arr[0]);
 
  p = max_seq_len(arr, &size);
  printf("len seq: %d\n", size - p);
  for(i = p; i < size; i++)
       printf("%d  ", arr[i]);
  getchar();
  return 0;
}
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru