0 / 0 / 0
Регистрация: 17.09.2019
Сообщений: 32
1

Перенести в дополнительный массив все элементы исходного массива, индексы которых расположены между макс и мин элементам

14.03.2020, 21:42. Показов 1772. Ответов 2

Author24 — интернет-сервис помощи студентам
Помогите пожалуйста решить задачу.

Дан массив X(20) перенести в дополнительный массив все элементы исходного массива, индексы которых расположены между максимальным и минимальным элементами исходного массива. Напечатать полученный массив и его размер.

Решить задачу двумя способами:
1. Оформить решение задачи выполняя доступ к полям класса
2. Решить задачу через функцию main

Исходные данные взял 1 2 3 4 5 6, а на выходе получаю только 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
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
#include <iostream>
#include <cmath>
using namespace std;
 
class vect
{
    int* a;
    int* b;
    int n;
 
public:
 
    vect(int q)
    {
        n = q;
        a = new int[n];
    }
 
    int at(int i)
    {
        return a[i];
    }
 
    void inputM()
    {
        for (int i = 0; i < n; i++)
        {
            cin >> a[i];
        }
    }
 
    int min()
    {
        int m = 0;
        double min = at(0);
        for (int i = 0; i < n; i++)
        {
            if (at(i) < min)
            {
                m = i;
            }
        }
        return m;
    }
 
    int max()
    {
        int k = 0;
        double max = at(0);
        for (int i = 0; i < n; i++)
        {
            if (at(i) > max)
            {
                k = i;
            }
        }
        return k;
    }
 
    int size()
    {
        int size = 0;
        size = max() - min();
        return size;
    }
 
    int usl()
    {
        int i = 0;
        int size = 0;
        for (i = min() + 1; i < max(); i++)
        {
            cout << at(i);
            size++;
        }
        return size;
    }
};
 
int main()
{
    int n;
    cout << "Input elems: "; cin >> n;
    vect a(n);
    a.inputM();
    cout << a.at(a.usl());
    /*
    Вариант решения только через main без методов
    */
    return 0;
}
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
14.03.2020, 21:42
Ответы с готовыми решениями:

Если разница между макс. и мин. элементами массива >20, то все элементы / 2, иначе все элементы +10
Если в массиве разница между максимальным и минимальным значением больше 20, то все элементы...

Дан массив размера 10. Переставить в обратном порядке элементы массива, расположенные между его мин. и макс. значениями
Здравствуйте, помогите пожалуйста.:resent: Задача: Дан массив размера 10 Переставить в обратном...

Дан массив размера 10. Переставить в обратном порядке элементы массива, расположенные между его мин и макс элементами
Приветствую Помогите с задачей пожалуйста Дан массив размера 10. Переставить в обратном порядке...

Разделить все положительные элементы массива на его макс. или мин. элемент
Здравствуйте, написал программу однако не могу исправить ошибку в деление элементов, буду...

2
21 / 19 / 6
Регистрация: 25.11.2017
Сообщений: 708
14.03.2020, 22:00 2
BlvckSnake, а в чем трудность?
0
0 / 0 / 0
Регистрация: 17.09.2019
Сообщений: 32
14.03.2020, 22:49  [ТС] 3
Ну, я же написал, что не получается правильно создать второй массив и в него поместить значения из исходного, а затем вывести. Также сама программа выдаёт неправильный результат даже без второго массива.
0
14.03.2020, 22:49
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
14.03.2020, 22:49
Помогаю со студенческими работами здесь

Составить программу, которая обнуляет в целочисленном массиве элементы, расположенные между макс и мин элементами массив состоит из элементов, которые
Составить программу, которая обнуляет в целочисленном массиве А размерности N элементы,...

Переписать в массив А2[1..20] только те его элементы, которые расположены между его максимальным и минимальным элементам.
Задать массив А1 с помощью генератора случайных чисел только числами, кратными 3. Переписать в...

Из одномерного массива А удалить все элементы, правее которых расположены четные элементы
Из одномерного массива А удалить все элементы, правее которых расположены четные элементы ...

Перенести в новый массив все элементы исходного, которые делятся на 3
Создать массив на N элементов,N вводится на клавиатуре,Заполнить массив случайными...

Из исходного массива составить два, в одном из которых указать все ненулевые члены, а в другом их индексы
Ввод осуществляется из файла. Тут только первый массив, да и тот работает неверно, буду благодарен...

В первый массив перенести все цифры из исходного массива, во второй - все остальные символы.
Дорогие друзья,помогите пожалуйста неразбериха какаето-то.Код написал, а что надо не получается. ...


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru