С Новым годом! Форум программистов, компьютерный форум, киберфорум
Наши страницы

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

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

Найти максимальный член заданной последовательности - C++

18.10.2016, 09:34. Просмотров 174. Ответов 3

Даны целые числа a1, a2... Известно что а1 >0 и что среди а2, а3... есть хотя бы одно отрицательное число. Пусть а1, ... an - члены данной последовательности предшествующее первому отрицательному числу. Получить max(a13, ... ,an3)

Буду очень благодарен за помощь!
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
18.10.2016, 09:34
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Найти максимальный член заданной последовательности (C++):

Найти первый отрицательный член заданной последовательности - C++
Дано действительное число b 0. Последовательность а ,а ,… образована по следующему закону: а = b, a = а - (i=2,3…). Найти...

Найти минимальный член в заданной последовательности чисел - C++
Даны целые числа a1, a2, … Известно, что а1 > 0 и что средиа2, a3, … есть хотя бы одно отрицательное число. Пусть а1, …, аn –члены данной...

Найти максимальный по модулю член последовательности без использования массивов - C++
Дано натуральное число n, действительные числа a1, ..., an. Определить максимальный по модулю член последовательности. Составить...

Найти сумму заданной последовательности, последний член которой не превосходит a - C++
П.5.18 Правил: Запрещено размещать задания и решения в виде картинок и других файлов с их текстом. Внизу страницы есть редактор формул ...

Найти максимальный элемент заданной последовательности - C++
Даны целые числа а1, a2, ... Известно, что ai> 0 и что среди a2, a3, ... есть хотя бы одно отрицательное число. Пусть a1, ..., an—члены...

Одномерные массивы. Найти максимальный член в массиве, начиная со второго член - C++
Как найти максимальный член в массиве, начиная со второго члена?

3
Invader0x7F
Helper C/C++
281 / 158 / 61
Регистрация: 22.09.2016
Сообщений: 518
Завершенные тесты: 5
18.10.2016, 09:51 #2
Пусть а1, ... an - члены данной последовательности предшествующее первому отрицательному числу.
Скорее первое отрицательное число a0 < 0 предшествует последовательности a1, ... , an. У вас ошибка в условии.

Добавлено через 9 минут
Вот код который решает данную задачу:
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 <iostream>
 
using namespace std;
 
int main() 
{
    const int N = 20;
    int A[N] = { { 0 } };
 
    for (int index = 0; index < N; index++)
    {
         int n_val = std::rand() % 9 + 1;
         A[index] = (index != 0) ? n_val : -n_val;
         std::cout << A[index] << " ";
    }
 
    std::cout << endl << endl;
 
    int max_i = 0;
    for (int index = 1; index < N; index++)
    {
        int n_val = int(pow(A[index], 3));
        int n_max = int(pow(A[max_i], 3));
        if (n_val > n_max) max_i = index;
    }
 
    std::cout << "Amax[" << max_i << "] = " << A[max_i] << endl;
 
    std::cin.get();
}
1
SpBerkut
Объявлятель переменных
908 / 234 / 113
Регистрация: 24.09.2011
Сообщений: 874
Завершенные тесты: 2
18.10.2016, 09:58 #3
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#include <iostream>
 
double foo(double *A, const unsigned n) {
    double result = 0;
    while (*A > 0) {
        result = (*A > result)?*A:result;
        *A++;
    }
    return result;
}
 
int main()
{
    double A[] = {1.0,2.0,3.0,1.0,-4.0};
    std::cout << foo(A,5) << std::endl;
}
Хотя, если отрицательное значение в массиве гарантированно есть, то:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#include <iostream>
 
double foo(double *A) {
    double result = 0;
    do {
        result = (*A > result)?*A:result;
    } while (*A++ > 0);
    return result;
}
 
int main()
{
    double A[] = {1.0,2.0,3.0,1.0,-4.0,5.0,6.0};
    std::cout << foo(A) << std::endl;
}
1
Invader0x7F
Helper C/C++
281 / 158 / 61
Регистрация: 22.09.2016
Сообщений: 518
Завершенные тесты: 5
18.10.2016, 09:58 #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
30
31
#include <iostream>
 
using namespace std;
 
int main() 
{
    const int N = 20;
    int A[N] = { { 0 } };
 
    for (int index = 0; index < N; index++)
    {
         int n_val = std::rand() % 9 - std::rand() % 9;
         A[index] = (index != 0) ? n_val : -n_val;
         std::cout << A[index] << " ";
    }
 
    std::cout << endl << endl;
 
    int max_i = 0;
    for (int index = 0; A[index] > 0; index++)
    {
        int n_val = int(pow(A[index], 3));
        int n_max = int(pow(A[max_i], 3));
        if (n_val > n_max || max_i == -1)
            max_i = index;
    }
 
    std::cout << "Amax[" << max_i << "] = " << A[max_i] << endl;
 
    std::cin.get();
}
1
Миниатюры
Найти максимальный член заданной последовательности  
18.10.2016, 09:58
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
18.10.2016, 09:58
Привет! Вот еще темы с ответами:

Наименьший член заданной последовательности заменить целой частью среднего арифметического всех членов - C++
Даны целые числа a1, a2, ... an. Наименьший член последовательности a1, a2, ... an заменить целой частью среднего...

Найти первый член последовательности - C++
Найти первый член последовательности, для которого выполнено условие /an-a(n-1)/&lt;E, если последовательность образована по закону: ...

Найти первый член последовательности - C++
на языке С Даны вещественные числа A&lt;0 и B&gt;0. Найти первый член последовательности, который не принадлежит отрезку . :help: плз,...

Найти произвольный член последовательности - C++
Напишите код к программе пожалуйста. Срочно надо, а времени нету. Задание: Даны действительные числа a1,…,a10 и натуральное число m....


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

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

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