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

Произведение элементов массива, расположенных между максимальным и минимальным элементами - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 52, средняя оценка - 4.87
ForSpam
2 / 2 / 0
Регистрация: 08.02.2011
Сообщений: 38
09.11.2011, 21:05     Произведение элементов массива, расположенных между максимальным и минимальным элементами #1
В динамическом массиве, состоящем из n вещественных величин.
А. Сумму отрицательных элементов массива
В. Произведение элементов массива, расположенных между максимальным и минимальным элементами
С.упорядочить элементы массива по возрастанию
пожалуйста помогите((
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
09.11.2011, 21:05     Произведение элементов массива, расположенных между максимальным и минимальным элементами
Посмотрите здесь:

Произведение элементов массива, расположенных между максимальным и минимальным элементами C++
Произведение элементов массива, расположенных между максимальным и минимальным элементами C++
C++ произведение элементов массива, расположенных между максимальным и минимальным элементами.
C++ Вычислить произведение элементов массива, расположенных между максимальным и минимальным элементами
C++ Произведение элементов массива, расположенных между максимальным и минимальным элементами
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
amor1k
Студент
 Аватар для amor1k
147 / 147 / 24
Регистрация: 18.01.2011
Сообщений: 469
09.11.2011, 21:26     Произведение элементов массива, расположенных между максимальным и минимальным элементами #2
A,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
#include <iostream>  
using namespace std;   
int main() 
{ 
        int n;
        cin >> n;
        int *a = new int [n];
        int sum = 0;
        for(int i = 0; i < n; i++)
        {
            cin >> a[i];
            if(a[i] < 0)
                sum += a[i];
        }
        int temp;
        for(int i = 0; i < n; i++)
        {
            for(int j = 0; j < n-1; j++)
            {
                if(a[j] > a[j+1])
                {
                    temp = a[j];
                    a[j] = a[j+1];
                    a[j+1] = temp;
                }
            }
        }
}
Добавлено через 4 минуты
B:
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
#include <iostream>  
using namespace std;   
int main() 
{ 
        int n;
        cin >> n;
        int *a = new int [n];
        for(int i = 0; i < n; i++)
        {
            cin >> a[i];
        }
        int max = a[0];
        int min = a[0];
        int im, jm;
        for(int i = 0; i < n; i++)
        {
            if(a[i] > max)
            {
                max = a[i];
                im = i;
            }
            if(a[i] < min)
            {
                min = a[i];
                jm = i;
            }
        }
        int proz = 1;
        if(im > jm)
        {
            for(int i = jm; i <= im ; i++)
            {
                proz *= a[i];
            }
        }
        else if(jm > im)
        {
            for(int i = jm; i <= im ; i++)
            {
                proz *= a[i];
            }
        }   
}
ForSpam
2 / 2 / 0
Регистрация: 08.02.2011
Сообщений: 38
09.11.2011, 21:33  [ТС]     Произведение элементов массива, расположенных между максимальным и минимальным элементами #3
А это в 1 код объединить возможно ?
amor1k
Студент
 Аватар для amor1k
147 / 147 / 24
Регистрация: 18.01.2011
Сообщений: 469
09.11.2011, 21:36     Произведение элементов массива, расположенных между максимальным и минимальным элементами #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
54
55
56
57
58
59
60
61
62
#include <iostream>  
using namespace std;   
int main() 
{ 
    int n;
    cin >> n;
    int *a = new int [n];
    int sum = 0;
    //ввод и подсчет суммы массива
    for(int i = 0; i < n; i++)
    {
        cin >> a[i];
        if(a[i] < 0)
            sum += a[i];
    }
    //сортировка
    int temp;
    for(int i = 0; i < n; i++)
    {
        for(int j = 0; j < n-1; j++)
        {
            if(a[j] > a[j+1])
            {
                temp = a[j];
                a[j] = a[j+1];
                a[j+1] = temp;
            }
        }
    }
    //умножение между макс и мин
    int max = a[0];
    int min = a[0];
    int im, jm;
    for(int i = 0; i < n; i++)
    {
        if(a[i] > max)
        {
            max = a[i];
            im = i;
        }
        if(a[i] < min)
        {
            min = a[i];
            jm = i;
        }
    }
    int proz = 1;
    if(im > jm)
    {
        for(int i = jm; i <= im ; i++)
        {
            proz *= a[i];
        }
    }
    else if(jm > im)
    {
        for(int i = jm; i <= im ; i++)
        {
            proz *= a[i];
        }
    }   
}
ForSpam
2 / 2 / 0
Регистрация: 08.02.2011
Сообщений: 38
09.11.2011, 21:44  [ТС]     Произведение элементов массива, расположенных между максимальным и минимальным элементами #5
а почему при запуске программы ничего не выводиться на экран ?
amor1k
Студент
 Аватар для amor1k
147 / 147 / 24
Регистрация: 18.01.2011
Сообщений: 469
09.11.2011, 21:44     Произведение элементов массива, расположенных между максимальным и минимальным элементами #6
потому что я не делал.
ForSpam
2 / 2 / 0
Регистрация: 08.02.2011
Сообщений: 38
09.11.2011, 21:51  [ТС]     Произведение элементов массива, расположенных между максимальным и минимальным элементами #7
Цитата Сообщение от amor1k Посмотреть сообщение
потому что я не делал.
уже увидел понял
amor1k
Студент
 Аватар для amor1k
147 / 147 / 24
Регистрация: 18.01.2011
Сообщений: 469
09.11.2011, 21:55     Произведение элементов массива, расположенных между максимальным и минимальным элементами #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
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
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
#include <iostream>  
using namespace std;   
int main() 
{ 
    setlocale(0,"");
    int n, min, max, proz;
    int im, jm;
    cout << "Введите кол-во элементов: ";
    cin >> n;
    int sum = 0;
    int *a = new int [n];
    while(true)
    {
        system("cls");
        cout << "\t\tМЕНЮ: \n" << endl;
        cout << "1. ввод массива" << endl;
        cout << "2. сумма отр. эл-ов" << endl;
        cout << "3. сортировка" << endl;
        cout << "4. умножение" << endl;
        cout << "5. вывод массива" << endl;
        cout << "0. выход" << endl;
        int choice;
        cin >> choice;
        switch(choice)
        {
        case 1:
            for(int i = 0; i < n; i++)
            {
                cin >> a[i];
            }
            break;
        case 2:
            system("cls");
    
            for(int i = 0; i < n; i++)
            {
                if(a[i] < 0)
                    sum += a[i];
            }
            cout << "Summ = " << sum;
            system("pause");
            break;
        case 3:
            system("cls");
            int temp;
            for(int i = 0; i < n; i++)
            {
                for(int j = 0; j < n-1; j++)
                {
                    if(a[j] > a[j+1])
                    {
                        temp = a[j];
                        a[j] = a[j+1];
                        a[j+1] = temp;
                    }
                }
            }
            cout << "Отсортированный массив:\n ";
            for(int i = 0; i < n; i++)
            {
                cout << a[i] << " ";
            }
            system("pause");
            break;
        case 4:
            system("cls");
            max = a[0];
            min = a[0];
 
            for(int i = 0; i < n; i++)
            {
                if(a[i] > max)
                {
                    max = a[i];
                    im = i;
                }
                if(a[i] < min)
                {
                    min = a[i];
                    jm = i;
                }
            }
            proz = 1;
            if(im > jm)
            {
                for(int i = jm; i <= im ; i++)
                {
                    proz *= a[i];
                }
            }
            else if(jm > im)
            {
                for(int i = jm; i <= im ; i++)
                {
                    proz *= a[i];
                }
            } 
            cout << "Произведение между максимальным и минимальным элементами = " << proz;
            system("pause");
            break;
        case 5:
            system("cls");
            for(int i = 0; i < n; i++)
            {
                cout << a[i] << " ";
            }
            system("pause");
            break;
        case 0:
            return 0;
            break;
        }
    }
    delete a;
}
Добавлено через 21 секунду
чтоб 5 получил=) или куда там надо=)
ForSpam
2 / 2 / 0
Регистрация: 08.02.2011
Сообщений: 38
09.11.2011, 22:06  [ТС]     Произведение элементов массива, расположенных между максимальным и минимальным элементами #9
Цитата Сообщение от amor1k Посмотреть сообщение
чтоб 5 получил=) или куда там надо=)
Попросил для примера, чтоб проанализировать код и составить свой + ко всему необходимо составить алгоритм, вечер еще только начинается и он будет долгим))
amor1k
Студент
 Аватар для amor1k
147 / 147 / 24
Регистрация: 18.01.2011
Сообщений: 469
09.11.2011, 22:26     Произведение элементов массива, расположенных между максимальным и минимальным элементами #10
я вам дал примеры выше.
А я прост подумал, что для вуза надо) уже прост привык, что многим требуется для учебы
ForSpam
2 / 2 / 0
Регистрация: 08.02.2011
Сообщений: 38
09.11.2011, 22:46  [ТС]     Произведение элементов массива, расположенных между максимальным и минимальным элементами #11
http://img689.imageshack.us/img689/7504/vs5n.png
Почему при выборе какого либо варианта кроме выход ничего не происходит ?
amor1k
Студент
 Аватар для amor1k
147 / 147 / 24
Регистрация: 18.01.2011
Сообщений: 469
10.11.2011, 00:07     Произведение элементов массива, расположенных между максимальным и минимальным элементами #12
потому что стоит цикл, специально сделанный для меню
C++
1
2
3
4
while(true) 
{
    .....  //меню
}
ForSpam
2 / 2 / 0
Регистрация: 08.02.2011
Сообщений: 38
10.11.2011, 00:17  [ТС]     Произведение элементов массива, расположенных между максимальным и минимальным элементами #13
Цитата Сообщение от amor1k Посмотреть сообщение
потому что стоит цикл, специально сделанный для меню
C++
1
2
3
4
while(true) 
{
    .....  //меню
}
я так понимаю printf нужно добавить дабы увидеть результаты работы данного меню. т.е дабы после выбора увидеть результат
amor1k
Студент
 Аватар для amor1k
147 / 147 / 24
Регистрация: 18.01.2011
Сообщений: 469
10.11.2011, 00:31     Произведение элементов массива, расположенных между максимальным и минимальным элементами #14
Ну в общем да) Этот цикл я использовал, чтобы программа была читабельней, т.е. не лепилось одно на другом. Можете убрать его, и после каждого действия программа будет закрываться. Почитайте книги, поэкспериментируйте, интересуйтесь)
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
08.05.2012, 00:08     Произведение элементов массива, расположенных между максимальным и минимальным элементами
Еще ссылки по теме:

вычислить произведение элементов массива, расположенных между максимальным и минимальным элементами; C++
Произведение элементов массива, расположенных между максимальным и минимальным элементами C++
Вычислить произведение элементов массива, расположенных между максимальным и минимальным элементами C++

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

Или воспользуйтесь поиском по форуму:
note_name
Сообщений: n/a
08.05.2012, 00:08     Произведение элементов массива, расположенных между максимальным и минимальным элементами #15
Здравствуйте. Подскажите пожалуйста. Вот разбирался в коде, и не могу понять, почему в консоле при умножении, т.е. 4 пункта по меню, начинаются ошибки, а при компилировании всё норм.
Если быть точным, то VS2010 начинает жаловаться с 84 строки.
C++ (Qt)
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
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
#include <iostream>  
using namespace std;   
int main() 
{ 
    setlocale(0,"");
    int n, min, max, proz;
    int im, jm;
    cout << "Введите кол-во элементов: ";
    cin >> n;
    int sum = 0;
    int *a = new int [n];
    while(true)
    {
        system("cls");
        cout << "\t\tМЕНЮ: \n" << endl;
        cout << "1. ввод массива" << endl;
        cout << "2. сумма отр. эл-ов" << endl;
        cout << "3. сортировка" << endl;
        cout << "4. умножение" << endl;
        cout << "5. вывод массива" << endl;
        cout << "0. выход" << endl;
        int choice;
        cin >> choice;
        switch(choice)
        {
        case 1:
            for(int i = 0; i < n; i++)
            {
                cin >> a[i];
            }
            break;
        case 2:
            system("cls");
    
            for(int i = 0; i < n; i++)
            {
                if(a[i] < 0)
                    sum += a[i];
            }
            cout << "Summ = " << sum << endl;
            system("pause");
            break;
        case 3:
            system("cls");
            int temp;
            for(int i = 0; i < n; i++)
            {
                for(int j = 0; j < n-1; j++)
                {
                    if(a[j] > a[j+1])
                    {
                        temp = a[j];
                        a[j] = a[j+1];
                        a[j+1] = temp;
                    }
                }
            }
            cout << "Отсортированный массив:\n ";
            for(int i = 0; i < n; i++)
            {
                cout << a[i] << " ";
            }
            system("pause");
            break;
        case 4:
            system("cls");
            max = a[0];
            min = a[0];
 
            for(int i = 0; i < n; i++)
            {
                if(a[i] > max)
                {
                    max = a[i];
                    im = i;
                }
                if(a[i] < min)
                {
                    min = a[i];
                    jm = i;
                }
            }
            proz = 1;
            if(im > jm)
            {
                for(int i = jm; i <= im ; i++)
                {
                    proz *= a[i];
                }
            }
            else if(jm > im)
            {
                for(int i = jm; i <= im ; i++)
                {
                    proz *= a[i];
                }
            } 
            cout << "Произведение между максимальным и минимальным элементами = " << proz << endl;
            system("pause");
            break;
        case 5:
            system("cls");
            for(int i = 0; i < n; i++)
            {
                cout << a[i] << " ";
            }
            system("pause");
            break;
        case 0:
            return 0;
            break;
        }
    }
    delete a;
}
Yandex
Объявления
08.05.2012, 00:08     Произведение элементов массива, расположенных между максимальным и минимальным элементами
Ответ Создать тему
Опции темы

Текущее время: 01:49. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru