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

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

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Русские буквы http://www.cyberforum.ru/cpp-beginners/thread351314.html
Ребят всем привет!!! Подскажите мне пожалуйста такую вещь,хочу в С++ чтобы на русском выводилось,компилирую в Dev C++,у меня каляки маляки выходят,то есть в компиляторе например пишу "Привет" в...
C++ Реализация класса Так как только начал изучать с++, возникает вопрос: есть задание : Реализовать класс IntArray. Разработать тестовую программу для проверки работоспособности класса (т.е. необходимо убедиться в... http://www.cyberforum.ru/cpp-beginners/thread351306.html
Linker error при компиляции C++
У меня вылезает ошибка при компиляции: undefined reference to `gluPerspective@32' По сути он ругается на то что не может найти функцию gluPerspective, но в include я подключил #include...
Разрушение объектов при наследовании C++
Привожу код, вопрос после описания #include <iostream> using namespace std; class A { public: A()
C++ Как менять переменные в main через функцию http://www.cyberforum.ru/cpp-beginners/thread351234.html
допустим, есть некая функция "function" void function(int a){ a=12345; } и "мейн" int main() {
C++ Создание 3-х мерного динамического массива Что-то туплю.. не могу сделать 3-х мерный динамический массив int *a;int q,n,r,v;int ***b;int m=0; void vvod() { cout<<"vvedite chislo elementov"; подробнее

Показать сообщение отдельно
DanilAREFY
19 / 19 / 2
Регистрация: 12.04.2011
Сообщений: 35
14.09.2011, 10:34
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
//В одномерном массиве, сотоящем из n вещественных элементов, вычислить:
//1) сумму положительных элементов массива;
//2) произведение элементов массива, расположенных между максимальным по модулю
//и минимальным по модулю элементами.
// Упорядочить элементы массива по убыванию.
#include <iostream>
#include <conio.h>
#include <cstdlib>
#include <ctime>
#include <algorithm>
 
using namespace std;
 
int main()
{
    setlocale (LC_ALL,"");
    int N, nomax=0, nomin=0;
    float sum=0, max=0, min=0, pro=1, b=0;
    cout << "Введите количество элементов массива:";
    cin >> N;
    float * A = new float [N];
    for (int i = 0; i < N; i++) //ввод массива
    {
        cin >> A[i];
    }
    for (int i = 0; i < N; i++) //ищем сумму положительных элементов
    {
        if (A[i] > 0)
        {
            sum += A[i];
        }
    }
    max=abs(A[0]); //берем за максимум 0-й элемент массива 
    min=abs(A[0]); //берем за минимум 0-й элемент массива
    for (int i = 1; i < N; i++) 
    {
        if (abs (A[i]) > max) //ищем номер максимального элемента массива
        {
            max = abs (A[i]);
            nomax = i;
        }
        if (abs (A[i]) < min) //ищем номер минимального элемента массива
        {
            min = abs (A[i]);
            nomin = i;
        }
    }
    if (nomin < nomax && nomin != nomax && nomax != nomin-1 && nomax != nomin+1) //произведение элементов массива при условии, что min левее max, исключая рядомстоящие
    {
        for (int i = nomin+1; i < nomax; i++) 
        {
            pro*=A[i];
        }
        cout << endl;
        cout << "Произведение равно:" << pro << endl;
    }
    if (nomin > nomax && nomin != nomax && nomax != nomin-1 && nomax != nomin+1) //произведение элементов массива при условии, что min правее max, исключая рядомстоящие
    {
        for (int i = nomax+1; i < nomin; i++)
        {
            pro*=A[i];
        }
        cout << "Произведение равно:" << pro << endl;
    }
    if (nomin == nomax || nomax == nomin-1 || nomax == nomin+1) //произведение элементов массива при условии, что min = max
    {
        cout << "Произведение равно:" << 0 << endl;
    }
    cout << "Сумма положительных элементов:" << sum << endl << endl;
    for (int i = 0; i < N; i++) //сортировка массива по убыванию пузырьком
    {
        for (int j = 0; j < N-i-1; j++)
        {
            if (A[j] < A [j+1])
            {
                float buf = A[j];
                A[j] = A[j+1];
                A[j+1] = buf;
            }
        }
    }
    cout << "Отсортированный по убыванию массив:" << endl;
    for (int i = 0; i < N; i++) //вывод отсортированного массива по убыванию
    {
        cout << A[i] << endl;
    }
    cout << endl;
    system ("pause");
    return 0;
    delete [] A; //очищаем выделенную память
}
Впринципе принцип один и тотже, только нужно поменять произведение на сумму, ну и убрать ненужное
1
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru