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

Найти разность между максимальным и минимальным значениями массива

19.12.2018, 15:29. Показов 2061. Ответов 2
Метки нет (Все метки)

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

Массивы и формулы их получения:
d[j]=1.5(j-3.2)-1.1*j d[20],
h[k]=2.7(k-0.8)-0.5*k h[40]
u[n]=3.3(n+2.5)-1.8*n u[20]

Нужно сделать до 29.12, а мозгов мало в этой теме, пожалуйста помогите
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
19.12.2018, 15:29
Ответы с готовыми решениями:

Найти разность между максимальным и минимальным значениями массива
Помогите пожалуйста реализовать данные задачи 1 Дан массив A из 10 вещественных чисел со знаком....

Поиск разности между максимальным и минимальным значениями массива
Поросил друг,желательно на С++... Дан массив A из 10 значений. Найти разность между максимальным и...

Вычислить разность между максимальным и минимальным элементами массива
Ввести массив. Вычислить разность между максимальным и минимальным элементами. Только начал...

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

2
60 / 45 / 15
Регистрация: 06.03.2018
Сообщений: 202
19.12.2018, 19:39 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
#include <iostream>
#include <locale>
using namespace std;
 
class arr
{
    float m_fMax = 0.0, m_fMin = 0.0;
    float * m_a = 0;
public:
    arr(int iRang, float (*fun)(int) ) 
    {
        m_a = new float[iRang];
        if (m_a)
        {
            for (int i = 0; i < iRang; i++)
            {
                m_a[i] = (*fun)(i);
                if (m_fMax < m_a[i]) m_fMax = m_a[i];
                if (m_fMin > m_a[i]) m_fMin = m_a[i];
            }
        }
    }
    ~arr() 
    {
        if (m_a) delete[] m_a;
    }
    float GetDifference() { return m_fMax - m_fMin; }
 
};
 
float d(int j){ return 1.5*(j - 3.2) - 1.1*j;}
float h(int k) { return 2.7*(k - 0.8) - 0.5*k; }
float u(int n) { return 3.3*(n + 2.5) - 1.8*n; }
void main()
{
    setlocale(LC_ALL, "Russian");
    arr m[3] { arr(20, d), arr(40, h), arr(20, u)};
    cout << "В массиве d разница =" << m[0].GetDifference() << endl;
    cout << "В массиве h разница =" << m[1].GetDifference() << endl;
    cout << "В массиве u разница =" << m[2].GetDifference() << endl;
    if (m[0].GetDifference() >= m[1].GetDifference() && m[0].GetDifference() >= m[2].GetDifference())
        cout << "Максимальная разница в массиве d и она =" << m[0].GetDifference() << endl;
    else if (m[1].GetDifference() >= m[0].GetDifference() && m[1].GetDifference() >= m[2].GetDifference())
        cout << "Максимальная разница в массиве h и она =" << m[1].GetDifference() << endl;
    else cout << "Максимальная разница в массиве u и она =" << m[2].GetDifference() << endl;
    
    system("Pause");
 
}
Добавлено через 2 часа 12 минут
Чуть усложнил.

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
92
#include <iostream>
#include <locale>
using namespace std;
 
class arr
{
    int m_iRang = 0;
    float m_fMax = 0.0, m_fMin = 0.0;
    float * m_a = 0;
public:
    arr(int iRang, float(*fun)(int), string strName="noname")
    {
        m_strName = strName;
        m_a = new float[iRang];
        if (m_a)
        {
            m_iRang = iRang;
            for (int i = 0; i < iRang; i++)
            {
                m_a[i] = (*fun)(i);
                if (m_fMax < m_a[i]) m_fMax = m_a[i];
                if (m_fMin > m_a[i]) m_fMin = m_a[i];
            }
        }
    }
    arr(arr& a)
    {
        m_fMax = a.m_fMax;
        m_fMin = a.m_fMin;
        m_iRang = a.m_iRang;
        m_strName = a.m_strName;
        if (a.m_a != 0 && a.m_iRang > 0)
        {
            m_a = new float[m_iRang];
            memcpy(m_a, a.m_a, a.m_iRang*sizeof(float));
        }
    }
    ~arr()
    {
        if (m_a) delete[] m_a;
    }
    float GetDifference() { return m_fMax - m_fMin; }
    string m_strName = "noname";
    bool operator>(arr& m)
    {
        return GetDifference() > m.GetDifference();
    }
    arr& operator=(arr a)
    {
        if (m_a) delete[] m_a;
        m_fMax = a.m_fMax;
        m_fMin = a.m_fMin;
        m_iRang = a.m_iRang;
        m_strName = a.m_strName;
        if (a.m_a != 0 && a.m_iRang > 0)
        {
            m_a = new float[m_iRang];
            memcpy(m_a, a.m_a, a.m_iRang*sizeof(float));
        }
        return *this;
    }
        void print()
    {
        if (m_a)
            for (int i = 0; i < m_iRang; i++)
                cout << m_a[i] << " ";
        cout << endl;
    }
};
 
float d(int j){ return 1.5*(j - 3.2) - 1.1*j; }
float h(int k) { return 2.7*(k - 0.8) - 0.5*k; }
float u(int n) { return 3.3*(n + 2.5) - 1.8*n; }
void main()
{
    setlocale(LC_ALL, "Russian");
    arr m[3] { arr(20, d,"d"), arr(40, h,"h"), arr(20, u,"u")};
    arr max = m[0];
    for (int i = 1; i < 3;i++)
    {
        if (m[i]>max) max = m[i];
    }
    cout << "В массиве " << m[0].m_strName << " разница = " << m[0].GetDifference() << endl;
    cout << "В массиве " << m[1].m_strName << " разница = " << m[1].GetDifference() << endl;
    cout << "В массиве " << m[2].m_strName << " разница = " << m[2].GetDifference() << endl;
    cout << "Максимальная разница в массиве " << max.m_strName <<" и она = " << max.GetDifference() << endl;
 
        max.print();
 
    system("Pause");
 
}
Конечно все это можно сделать и без использования классов, но мне кажется так более универсально.
1
0 / 0 / 0
Регистрация: 19.12.2018
Сообщений: 2
22.12.2018, 10:40  [ТС] 3
Большое спасибо! Действительно благодарна
0
22.12.2018, 10:40
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
22.12.2018, 10:40
Помогаю со студенческими работами здесь

Вычислить разность между максимальным и минимальным числом массива
Дан массив целых чисел. Вычислить разность между максимальным и минимальным числом. Найти номер...

Подпрограммы: вычислить разность между минимальным и максимальным элементами массива
Ввести массив M из 9 элементов. Вычислить разность между минимальным и максимальным элементами....

Определить, сколько нулей лежит между минимальным и максимальным значениями массива
Ребята помогите пожалуйста решить задачу. Собственно задача: Определить, сколько нулей лежит между...

Разность между максимальным и минимальным по абсолютной величине элементами целочисленного массива
Здравствуйте, помогите решить задачку на С: Написать и протестировать функцию, вычисляющую...


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

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

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