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

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

Войти
Регистрация
Восстановить пароль
 
ms-gambit
0 / 0 / 0
Регистрация: 14.01.2013
Сообщений: 4
#1

Получить массив В, содержащий элементы массива А, расположенные между максимальным и минимальным элементами массива - C++

14.01.2013, 23:34. Просмотров 398. Ответов 4
Метки нет (Все метки)

Люди добрые, помогите решить задачку.
Дан одномерный массив А, состоящий из целых чисел. Получить массив В, содержащий элементы массива А, расположенные между максимальным и минимальным элементами массива.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
14.01.2013, 23:34     Получить массив В, содержащий элементы массива А, расположенные между максимальным и минимальным элементами массива
Посмотрите здесь:

Переставить в обратном порядке элементы массива, расположенные между минимальным и максимальным элементами - C++
Дан одномерный массив. Переставить в обратном порядке элементы массива, расположенные между минимальным и максимальным элементами. Прошу...

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

Обнулить элементы массива, расположенные между его минимальным и максимальным элементам - C++
Дан массив размера N. Обнулить элементы массива, расположен- ные между его минимальным и максимальным элементами (не включая ...

Вычислить разность между максимальным и минимальным элементами массива - C++
Ввести массив. Вычислить разность между максимальным и минимальным элементами. Только начал изучать с++. Объясните, пожалуйста, как...

Определить разность между максимальным и минимальным элементами массива - C++
Составить программу, использующую для хранения значений одномерный массив: const N=10; var a:array of real; ввод элементов массива...

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

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

Найти сумму элементов массива между максимальным и минимальным элементами - C++
помогите пожалуйста решить задачку, очень надо)) Найти сумму элементов массива А (100), заключенных между единственным максимальным и...

Вычислить количество элементов массива между максимальным и минимальным элементами - C++
вычислить количество элементов массива, находящихся между максимальным и минимальным элементами; вычислить среднее арифметическое...

Произведение отрицательных элементов массива, расположенных между минимальным и максимальным элементами - C++
#include <iostream> #include <stdlib.h> #include <time.h> #include <cmath> using namespace std; void tselyi1(int *mas,...


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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
miriganua
131 / 102 / 4
Регистрация: 05.02.2012
Сообщений: 241
15.01.2013, 00:45     Получить массив В, содержащий элементы массива А, расположенные между максимальным и минимальным элементами массива #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
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
#include <iostream>
 
using std::cout;
 
int main(int argc, char* argv[])
{
    const int n = 10;
    int a[n] = { 23, 67, 92, 78, 34, 45, 56, 10, 43, 12 };
 
    int min = 0;
    int max = 0;
    for (int i = 0; i < n; i++)
    {
        if (a[min] > a[i])
        {
            min = i;
        }
        if (a[max] < a[i])
        {
            max = i;
        }
    }
 
    int m;
    int* b;
    if (min < max)
    {
        m = max - min - 1;
        b = new int[m];
        for (int i = 0; i < m; i++)
        {
            b[i] = a[min + i + 1];
        }
    }
    else
    {
        m = min - max - 1;
        b = new int[m];
        for (int i = 0; i < m; i++)
        {
            b[i] = a[max + i + 1];
        }
    }
 
    cout << "Array b:" << '\n';
    for (int i = 0; i < m; i++)
    {
        cout << b[i] << " ";
    }
 
    return 0;
}
Пaтрик
415 / 390 / 38
Регистрация: 21.01.2012
Сообщений: 972
Завершенные тесты: 1
15.01.2013, 07:58     Получить массив В, содержащий элементы массива А, расположенные между максимальным и минимальным элементами массива #3
Игорь Миронюк, не забывайте использовать delete

Добавлено через 8 минут
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#include <algorithm>
#include <ctime>
#include <iostream>
#include <iterator>
#include <vector>
 
int main()
{
    std::srand(std::time(0));
    std::vector<int> a;
    for (std::size_t i = 0; i < 10; i++)
        a.push_back(std::rand() % 20);
    std::copy(a.begin(), a.end(), std::ostream_iterator<int>(std::cout, " "));
    std::cout << std::endl;
    std::vector<int>::const_iterator max = std::max_element(a.begin(), a.end());
    std::vector<int>::const_iterator min = std::min_element(a.begin(), a.end());
    std::vector<int> b(max > min ? min + 1 : max + 1, max < min ? min : max);
    std::copy(b.begin(), b.end(), std::ostream_iterator<int>(std::cout, " "));
    std::cout << std::endl;
    return 0;
}
miriganua
131 / 102 / 4
Регистрация: 05.02.2012
Сообщений: 241
15.01.2013, 13:49     Получить массив В, содержащий элементы массива А, расположенные между максимальным и минимальным элементами массива #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
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
#include <iostream>
 
using std::cout;
 
int main(int argc, char* argv[])
{
    const int n = 10;
    int a[n] = { 23, 67, 92, 78, 34, 45, 56, 10, 43, 12 };
 
    int min = 0;
    int max = 0;
    for (int i = 0; i < n; i++)
    {
        if (a[min] > a[i])
        {
            min = i;
        }
        if (a[max] < a[i])
        {
            max = i;
        }
    }
 
    int m;
    int* b;
    if (min < max)
    {
        m = max - min - 1;
        b = new int[m];
        for (int i = 0; i < m; i++)
        {
            b[i] = a[min + i + 1];
        }
    }
    else
    {
        m = min - max - 1;
        b = new int[m];
        for (int i = 0; i < m; i++)
        {
            b[i] = a[max + i + 1];
        }
    }
 
    cout << "Array b:" << '\n';
    for (int i = 0; i < m; i++)
    {
        cout << b[i] << " ";
    }
    delete[] b;
 
    return 0;
}
Добавлено через 1 минуту
Патрик, спасибо.
ms-gambit
0 / 0 / 0
Регистрация: 14.01.2013
Сообщений: 4
22.01.2013, 22:41  [ТС]     Получить массив В, содержащий элементы массива А, расположенные между максимальным и минимальным элементами массива #5
спасибо, ребята
Yandex
Объявления
22.01.2013, 22:41     Получить массив В, содержащий элементы массива А, расположенные между максимальным и минимальным элементами массива
Ответ Создать тему
Опции темы

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