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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Anton18
0 / 0 / 0
Регистрация: 04.12.2012
Сообщений: 5
#1

Программа с одномерным массивом (вычислить количество элементов в самой длинной серии) - C++

04.12.2012, 23:04. Просмотров 896. Ответов 5
Метки нет (Все метки)

Вобщем в одномерном массиве нужно вычислить количество элементов в самой длинной серии. Серия - это последовательность элементов, которые размещены рядом. Буду очень благодарен за помощь, желательно до завтра, т.к. завтра - аттестация по данному предмету, и мне не поздоровится. С++

Добавлено через 2 часа 39 минут
Помогите пожалуйста,очень надо!
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
04.12.2012, 23:04     Программа с одномерным массивом (вычислить количество элементов в самой длинной серии)
Посмотрите здесь:

Программа работы с одномерным динамическим массивом - C++
Помогите пожалуйста!!! //Реализовать функционал работы с одномерным динамическим массивом. // 1. Создание массива // 2. Заполниние...

Подсчитать количество символов в самой длинной группе - C++
Дана строка, состоящая из групп нулей и единиц. Подсчитать количество символов в самой длинной группе.

Подсчитать количество символов в самой длинной группе. - C++
Дана строка, состоящая из групп нулей и единиц. Подсчитать количество символов в самой длинной группе. Помогите, пожалуйста, а то что-то...

Подсчитать количество символов в самой длинной группе - C++
В строке, состоящей из групп нулей и единиц, подсчитать количество символов в самой длинной группе. Помогите решить. Вот есть еще...

Нужно найти длину самой длинной подпоследовательности, в которой равное количество 0 и 1. - C++
Здравствуйте. Задана последовательность из 0 и 1. Нужно найти длину самой длинной подпоследовательности, в которой равное количество 0 и...

Задачка с одномерным массивом.Найти количество удвоенных нечётных чисел - C++
Помогите пожалуйста. Вот текст задания: Даны целые числа a1,a2..an.Известно что a1>0 и что среди a2..an есть хотя бы одно...

Функция поиска самой длинной цепочки элементов массива - C++
Доброго времени суток форумчане! Препод взвалил непосильную на данный момент для меня задачку, с которой у меня возникли проблемы из за...

Поиск самой длиной серии одинаковых элементов в двумерном массиве - C++
Помогите, нужно найти самую длинную серию одинаковых элементов в двумерном массиве.

Дана строка из нулей и единиц. Подсчитать количество символов в самой длинной группе - C++
Дана строка, состоящая из групп нулей и единиц. Подсчитать количест-во символов в самой длинной группе.

Вывести количество возрастающих последовательностей в массиве, а также длину самой длинной из них - C++
Помогите пожалуйста! Написать программу, в которой пользователь вводит элементы целочисленного массива с клавиатуры. Необходимо...

В строке, состоящей и нулей и единиц, подсчитать количество символов в самой длинной группе - C++
Помогите, пожалуйста :help:

Найти строку матрицы с самой длинной серией одинаковых элементов - C++
Нужно в матрице найти строку с самой длинной серией одинаковых элементов.Подскажите, пожалуйста, хоть идею как это сделать, а то в голове...


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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
BoBaH26
30 / 30 / 0
Регистрация: 02.12.2010
Сообщений: 255
04.12.2012, 23:11     Программа с одномерным массивом (вычислить количество элементов в самой длинной серии) #2
Интересно, а по какому принципу серия определяется? Рядом все пятерки, например? Или же только числа, идущие строго по возрастанию (1,2,3...)? Условия явно неполное.
Anton18
0 / 0 / 0
Регистрация: 04.12.2012
Сообщений: 5
04.12.2012, 23:24  [ТС]     Программа с одномерным массивом (вычислить количество элементов в самой длинной серии) #3
Вобщем у нас есть генератор элементов этого массива, и нам нужно определить сколько одинаковы элементов размещены рядом.(2 3 4 5 5 6 2) -пример массива, мы видим что 5 и 5 рядом, нужно написать что количество равно 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
26
27
28
29
30
31
32
33
34
35
36
#include <iostream>
#include <time.h>
#include <stdlib.h>
using namespace std;
 
 
int n; 
int a[10];
void input() 
{
 
 
 srand((unsigned)(time(NULL)));
 cout<<"input amount of the massive elements(<=10)"<<endl;
 cin>>n;
 for (int i=0;i<n;++i)
  a[i]=rand()%10;
}
void output()
{
    
 
 for (int i=0;i<n;++i)
  cout<<a[i]<<" ";
 cout<<endl;
}
 
 
int main()
{
 cout<<"insertion sort"<<endl;
 input();
 cout<<"generated array"<<endl;
 output();
 system("pause");
}
вот код, который генерирует радномный массив
BoBaH26
30 / 30 / 0
Регистрация: 02.12.2010
Сообщений: 255
04.12.2012, 23:58     Программа с одномерным массивом (вычислить количество элементов в самой длинной серии) #4
Код писать лень, но думаю, суть уловишь. Вот примерный алгоритм. Сначала сравниваешь попарно элементы в массиве, начиная с нулевого, стоящие рядом, т.е. a[i] и a[i+1], если они равны, сравниваешь дальше с a[i+2], и пока элементы оказываются равными, увеличиваешь какой-нибудь новый счетчик на 1, лучше реализовать структурой struct, чтобы информация о элементе и его повторении сохранялась, потом сравниваешь все счетчики, выдаешь число, у которого счетчик больше всего натикал.
ulian
0 / 0 / 0
Регистрация: 28.11.2012
Сообщений: 53
05.12.2012, 02:51     Программа с одномерным массивом (вычислить количество элементов в самой длинной серии) #5
попытался, не хочет выводить счетчик. попробуй напиши просто эту функцию, с меня причетается

Добавлено через 20 минут
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
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
#include <iostream>
#include <time.h>
#include <stdlib.h>
using namespace std;
 
 
int n,j,tmp; 
int a[10];
void input() 
{
    
 
    srand((unsigned)(time(NULL)));
    cout<<"input amount of the massive elements(<=10)"<<endl;
    cin>>n;
    for (int i=0;i<n;++i)
        a[i]=rand()%10;
}
void output()
{
    int i;
    
    for (i=0;i<n;++i)
        cout<<a[i]<<" ";
    cout<<endl;
    
}
 
void series()
{ 
    int i;
    for (int k=1;k<=n;k++)
    {
        if (a[i]=a[i+k])
            tmp+=1;
    }
}
    
 
int main()
{
    cout<<"insertion sort"<<endl;
    input();
    cout<<"generated array"<<endl;
    output();
    cout<<"kolichestvo= "<<endl;
        series();
    system("pause");
}
выводит всегда что количество =0.

Добавлено через 47 минут
помогите, умоляю, найдите ошибку
Vourhey
Почетный модератор
6474 / 2249 / 123
Регистрация: 29.07.2006
Сообщений: 12,635
05.12.2012, 03:21     Программа с одномерным массивом (вычислить количество элементов в самой длинной серии) #6
C++
1
2
3
4
5
6
7
8
9
10
11
#include <iostream>
#include <algorithm>
 
int main()
{
    int a[] = {2, 3, 4, 5, 5, 6, 2, 4,4,4,4,4,5,4,2,3,1,5,3,2,3,3,3,3,56,2};
    int *AdjIt, *Mismatch=a, MaxCount = 1;
    while((AdjIt = std::adjacent_find(Mismatch, a+26)) != (a+26))
        MaxCount=(std::distance(AdjIt,(Mismatch=std::find_if(AdjIt,a+26,[AdjIt](int num){return(num != *AdjIt);})))>MaxCount)?std::distance(AdjIt, Mismatch):MaxCount;
    std::cout<<MaxCount<<std::endl;
}
Yandex
Объявления
05.12.2012, 03:21     Программа с одномерным массивом (вычислить количество элементов в самой длинной серии)
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru