Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 5.00/3: Рейтинг темы: голосов - 3, средняя оценка - 5.00
0 / 0 / 0
Регистрация: 06.09.2019
Сообщений: 3
1

Вычислить сумму отрицательных элементов массива

06.09.2019, 12:51. Показов 567. Ответов 2
Метки нет (Все метки)

В одномерном массиве, состоящем из N вещественных чисел вычислить:

• Сумму отрицательных элементов.

Произведение элементов, находящихся между min и max элементами.

• Произведение элементов с четными номерами.


 Комментарий модератора 
П.5.16.Правил
Запрещено создавать темы с множеством вопросов во всех разделах, кроме разделов платных услуг. Один вопрос - одна тема.

Прошу посмотреть код и подсказать где ошибка...
При компиляции выдает кривой результат

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
#include <iostream>
using namespace std;
 
int main()
{
    setlocale(LC_ALL, "russian");
    int i, j, n = 10, k, l;
    float a[10], sum = 0, proiz = 1 ;
        cout << "Введите элементы массива" << "\n";
    for (i = 0; i < n; i++) cin >> a[i];
 
    float max = a[0], min = a[0];
    for (i = 0; i <= n; i++) {
        if (a[i] < 0) sum += a[i];
        if (max > a[i]) k = i;
        if (min < a[i]) l = i;
    };
    cout << "сумма отрицательных элементов массива:" << sum << "\n";
    while (i <= n) {
        if (l < k) for (i = l; i <= k; i++) proiz *= a[i]; else for (i = k; i <= l; i++) proiz *= a[i];
    };
    cout << "•    Произведение элементов, находящихся между min и max элементами:" << proiz;
    for (i = 0; i <= n - 1; i++)
        for (j = i + 1; j <= n - 1; j++)
            if (a[i] > a[j])
            {
                sum = a[i];
                a[i] = a[j];
                a[j] = sum;
            }
    for (i = 0; i <= n; i++) { cout << "\na[i]=" << a[i] << "\n"; };
    system("pause");
 
 
    int P = 1;
    for (int i = 1; i < n; i += 2)
        P *= a[i];
 
    cout << "Произведение элементов с четными номерами.:" << P;
 
    return 0;
}
0

Помощь в написании контрольных, курсовых и дипломных работ здесь.

Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
06.09.2019, 12:51
Ответы с готовыми решениями:

Вычислить сумму отрицательных элементов массива
Вот задание: В массиве, состоящем из n вещественных элементов, вычислить: 1)сумму отрицательных...

Вычислить сумму отрицательных элементов массива
Пожалуйста помогите! В одномерном массиве, состоящий из n действительных элементов, вычислить: ...

Вычислить сумму отрицательных элементов массива
Ввести массив K из 7 элементов. Вычислить сумму отрицательных элементов.

Вычислить сумму отрицательных элементов массива
в одномерном массиве, состоящем из n вещественных элементов вычислить: 1) сумму отрицательных...

2
бах-бах и в продакшен!
3037 / 1641 / 573
Регистрация: 23.09.2014
Сообщений: 5,112
Записей в блоге: 4
06.09.2019, 13:59 2
lucki19, чуток исправил.
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
#include <iostream>
#include <float.h>
 
using namespace std;
 
#define LOG(v) std::cout << #v << " = " << v << "\n"
 
int main()
{   setlocale(LC_ALL, "russian");
    int k, l;
    // Чтоб не мучаться каждый раз с вводом:
    float a[] = {-2.1f, 2.3f, -1.4f, 1.5f, -2.2f};
    const int N = sizeof(a)/sizeof(a[0]);
    
    float sum = 0;
    cout << "Введите элементы массива" << "\n";
    //for (int i = 0; i < N; i++) cin >> a[i];
 
    float max = FLT_MIN, min = FLT_MAX;
    for (int i = 0; i < N; i++)
    {   cout << "a[" << i << "] = "<< a[i] << "\n";
        if (a[i] < 0) sum += a[i];
        if (max < a[i]) {    k = i; max = a[i];}
        if (min > a[i]) {    l = i; min = a[i];}
    };
    cout << "\n";
    LOG(l);
    LOG(k);
    LOG(min);
    LOG(max);
    cout << "\nсумма отрицательных элементов массива:" << sum << "\n";
    
    float proiz = 1.f;
    if(l > k) std::swap(l, k);
    for(int i = l; i < k; i++)
    {   proiz *= a[i];
    }
    cout << "\nПроизведение элементов, находящихся между min и max элементами:"
        << proiz << "\n";;
 
    float P = 1.f;
    for (int i = 0; i < N; i += 2)
        P *= a[i];
    cout << "\nПроизведение элементов с четными номерами.:" << P << "\n";;
    
    std::cin.get();
    return 0;
}
раскомментите 17 строчку, если желаете вводить ручками

еще я тут уменьшил размер массива N до 5, чтоб глазу легче было
0
1 / 1 / 0
Регистрация: 19.07.2019
Сообщений: 13
06.09.2019, 14:02 3
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#include <iostream>
#include <vector>
#include <Windows.h>
int main()
{
    SetConsoleCP(1251); //для корректного отображения русских символов
    SetConsoleOutputCP(1251); //для корректного отображения русских символов
    std::vector<float> mainarray = {1.8, 1.9, -2.0};
    if (mainarray.size() >= 3) {
        float sumotrit = 0.0;
        float mulchet = 1.0;
        float mulbfb = 1.0;
        int maxc = mainarray.size() - 1;
        for (int i = 0; maxc >= i; i++) {
            float nowval = mainarray[i];
            if (nowval < 0.0) sumotrit += nowval;
            if (((i + 1) % 2) == 0.0) mulchet *= nowval;
            if (i > 0 && i < maxc) mulbfb *= nowval;
        }
        std::cout << "Сумма отрицательных элементов: " << sumotrit << std::endl << "Произведение элементов, находящихся между min и max элементами: " << mulbfb << std::endl << "Произведение элементов с четными номерами: " << mulchet;
    } else std::cout << "Количество элементов в массиве должно быть больше, чем 2";
}
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
06.09.2019, 14:02

Вычислить сумму отрицательных элементов массива
В одномерном массиве, состоящем из n вещественных элементов, вычислить: 1) сумму отрицательных...

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

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

Вычислить сумму отрицательных элементов массива
В одномерном динамическом массиве, состоящем из n вещественных элементов вычислить сумму...


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

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

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