Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.83/6: Рейтинг темы: голосов - 6, средняя оценка - 4.83
pasha007914
0 / 0 / 0
Регистрация: 15.05.2012
Сообщений: 9
#1

Найти наибольший элемент в наиболее длинной непрерывной последовательности положительных элементов массива

15.05.2012, 16:39. Просмотров 1009. Ответов 7
Метки нет (Все метки)

Задан одномерный массив Х вещественных чисел. Найти наибольший элемент в наиболее длинной непрерывной последовательности положительных элементов массива.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
15.05.2012, 16:39
Ответы с готовыми решениями:

Найти сумму элементов наиболее длинной последовательности, не содержащей 0
Ребят, помогите, пожалуйста. Нужно написать небольшую программку . Задан...

С помощью указателей найти наибольшую сумму непрерывной последовательности положительных чисел массива
помогите пожалуйста, что то не получилось у меня( Найти ту непрерывную...

Найти длину самой длинной последовательности подряд идущих нулевых элементов массива
Задан числовой массив A(n). Найти длину самой длинной последовательности подряд...

Найти длину самой длинной последовательности подряд идущих элементов массива, равных нулю
Задан одномерный массив. Найти длину самой длинной последовательности подряд...

Найти элемент массива, наиболее близкий к среднему значению всех элементов массива
Найти элемент массива, наиболее близкий к среднему значению всех элементов...

7
go
Эксперт С++
3637 / 1369 / 243
Регистрация: 16.04.2009
Сообщений: 4,527
15.05.2012, 17:08 #2
pasha007914, ищете наиболее длинную последовательность(для поиска используйте std::find, например). Затем в ней элемент(std::max_element).
1
pasha007914
0 / 0 / 0
Регистрация: 15.05.2012
Сообщений: 9
15.05.2012, 21:28  [ТС] #3
я немного не совсем понял как ето будет выглядеть в программном коде?
0
pasha007914
0 / 0 / 0
Регистрация: 15.05.2012
Сообщений: 9
16.05.2012, 00:05  [ТС] #4
у меня есть задача:
Задан одномерный массив Х вещественных чисел. Найти наибольший элемент в наиболее длинной непрерывной последовательности положительных элементов массива.

написал программу:

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
# include <iostream>
# include<clocale>
 
using namespace std;
int main(){
    
    setlocale(LC_ALL, "Russian");
    setlocale(LC_ALL, "rus");
    
    int array[] = {1, 2, -3, 4, 15, 6, 7, -8, 99, 10};
    
    int index = 0;
    int hold = 0;
    for(int i = 0; i < 10; i++)
    {
            
            
        if(hold < array[i] )
        {
                hold = array[i];
                index = i;
                }
        }
 
    cout<<"Наибольший элемент " << array[index];
 
    cin.get();
    return 0;
}
при запуске не екране 99, а нужно 15! по условиям задачи
что нужно изменить чтоб программа показывала правильное число
0
OstapBender
584 / 523 / 75
Регистрация: 22.03.2011
Сообщений: 1,585
16.05.2012, 01:45 #5
проще всего решить такую задачу в 2 прохода:
1 проход - вы определите границы Начало и Конец длиннейшей последовательности + чисел
2 проход найдете там наибольшее
0
pasha007914
0 / 0 / 0
Регистрация: 15.05.2012
Сообщений: 9
16.05.2012, 10:01  [ТС] #6
а как ето выглядит в программном каде
0
pasha007914
0 / 0 / 0
Регистрация: 15.05.2012
Сообщений: 9
31.05.2012, 01:26  [ТС] #7
у меня есть задача:
Задан одномерный массив Х вещественных чисел. Найти наибольший элемент в наиболее длинной непрерывной последовательности положительных элементов массива.

написал программу:

Код C++

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
# include <iostream>
# include<clocale>
 
using namespace std;
int main(){
    
    setlocale(LC_ALL, "Russian");
    setlocale(LC_ALL, "rus");
    
    int array[] = {1, 2, -3, 4, 15, 6, 7, -8, 99, 10};
    
    int index = 0;
    int hold = 0;
    for(int i = 0; i < 10; i++)
    {
            
            
        if(hold < array[i] )
        {
                hold = array[i];
                index = i;
                }
        }
 
    cout<<"Наибольший элемент " << array[index];
 
    cin.get();
    return 0;
}
просьба исправить, чтоб программка работала согласно условию
0
zitxbit
89 / 741 / 279
Регистрация: 11.04.2012
Сообщений: 971
31.05.2012, 14:31 #8
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>
#include <conio.h>
 
#define N 21
 
int main()
{
    int X[N] = { -1, -3, -5, 8, -9, -3, -2, -4, -1, 2, 6, 5, 3, 1, -7, -4, 2, 5, 7, -3, 6 };
 
    int len = 0, len_i = len;
    for (int i = 0; i < N; i++)
    {
        int n = i; 
        while (X[i] > 0) i++;
        
        int delta = i - n;
        if ((delta > 0) && (delta > len))
         { len = delta; len_i = n; }
    }
 
    int max_i = 0;
    for (int i = len_i; X[i] > 0; i++)
        if (X[i] > X[max_i]) max_i = i;
 
    printf("X[%d] = %d\n",max_i,X[max_i]);
 
    _getch();
 
    return 0;
}
http://liveworkspace.org/code/98c2a4a009d7e2c1c74a33a589041d99
1
31.05.2012, 14:31
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
31.05.2012, 14:31

Найти сумму положительных элементов последовательности, заменить ей минимальный элемент
Найти сумму положительных элементов последовательности d1, d2, ..., d40,...

Найти и вывести элемент,наиболее близкий к среднему арифметическому всех элементов массива
Дано задание 1)Вывести массив в диапазоне -128..257 2)Найти Min &amp; Max эл-ты...

Найти наибольший элемент массива A, меньший произведения элементов с нечетными номерами
Вобщем, вот моя программа : (В ней что - то не так, подскажите пожалуйста как...


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

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Опции темы

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