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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
nake
0 / 0 / 0
Регистрация: 30.11.2011
Сообщений: 33
#1

Cумма элементов между членами массива - C++

20.12.2011, 19:26. Просмотров 316. Ответов 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
#include <cstdlib>
#include <iostream>
 
using namespace std;
 
int main(int argc, char *argv[])
{int k1,k2,j,s;
double a[]={1,5,8,3,-2,5,6,89,-4,7,1};
int n=11;
for(j=1;j<n;j++){
if (a[j]<0){
k1=j;
}
}
for(j=k1+1;j<n;j++){
if (a[j]<0){
k2=j;            
}
}
for(j=k1+1;j<k2;j++){
s=0;
s=s+a[j];
}     
printf("Summa elementov megdy 1 i 2 otricatelnym chlenom=%d\n",s);                            
    system("PAUSE");
    return EXIT_SUCCESS;
}
Вот такая получается программа, но рез-т почему не считает. Само задание:в одномерном массиве, состоящем из n вещественных элементов, вычислить: сумму элементов массива, расположенных между первым и вторым отрицательными элементами
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
20.12.2011, 19:26     Cумма элементов между членами массива
Посмотрите здесь:

Cумма отрицательных элементов массива - C++
/*Дан массив из N элементов (вещественные числа). Вы- числить: 1) сумму отрицательных элементов массива; 2) произ- ведение элементов...

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

Cумма чётных и нечётных элементов массива - C++
В программе нужно посчитать сумму чётных элементов(S2) и нечётных(S1) при их выводе они получаются равны, чего не должно быть. Не могли бы...

Нахождение суммы элементов между крайними четными членами ряда - C++
Задача ,найти сумму элементов между крайними четными членами ряда.#include &lt;iostream&gt; #include &lt;stdio.h&gt; using namespace std; int...

Исправить код: заполнение массива из N элементов членами арифметической прогрессии - C++
Напишите программу, которая заполняет массив из N элементов членами арифметической прогрессии с начальным значением X и разностью D . ...

Заполнить массив, членами натурального ряда, кратным трем. Найти сумму элементов массива и их число. - C++
Заполнить массив А(N) членами натурального ряда, кратным трем (3, 6, 9...) до тех пор пока их произведение не станет больше произвольного...

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Петррр
5946 / 3383 / 336
Регистрация: 28.10.2010
Сообщений: 5,927
20.12.2011, 19:47     Cумма элементов между членами массива #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
#include <iostream>
#include <iterator>
#include <algorithm>
#include <vector>
#include <numeric>
 
using namespace std;
 
template <typename T>
bool lessThan0 (const T& item) {
    return item < 0;
}
 
int main()
{
    int n;
    cout << "Size: ";
    cin >> n;
    vector<double> vec(n);
    for(int i = 0; i < n; i++)
    {
        cout << "vec[" << i << "]: ";
        cin >> vec[i];
    }
    vector<double>::iterator firstNegative = find_if(vec.begin(), vec.end(), lessThan0<double>);
    vector<double>::iterator secondNegative = find_if(firstNegative + 1, vec.end(), lessThan0<double>);
    if (firstNegative == vec.end())
    {
        cout << "in the array are no negative numbers" << endl;
        return EXIT_SUCCESS;
    }
    if ((firstNegative == secondNegative) || (secondNegative == vec.end()))
    {
        cout << "In array one negative number" << endl;
        return EXIT_SUCCESS;
    }
    double sum = accumulate(firstNegative + 1, secondNegative, 0.0);
    copy(vec.begin(), vec.end(), ostream_iterator<int>(cout, " "));
    cout << endl;
    cout << "Sum: " << sum << endl;
    return EXIT_SUCCESS;
}
nake
0 / 0 / 0
Регистрация: 30.11.2011
Сообщений: 33
20.12.2011, 20:01  [ТС]     Cумма элементов между членами массива #3
Не могли бы вы лучше подправить моё, а то у вас очень сложно для меня написано)) я такое ещё не проходил и не смогу защитить.
Петррр
5946 / 3383 / 336
Регистрация: 28.10.2010
Сообщений: 5,927
20.12.2011, 20:11     Cумма элементов между членами массива #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
#include <cstdlib>
#include <iostream>
 
using namespace std;
 
int main(int argc, char *argv[]){
    int k1 = -1, k2 = -1, j;
    double s;
    double a[]={ 1, 5, 8, 3, -2, 5, 6, 89, -4, 7, 1 };
    int n = 11;
    for(j = 0; j < n; j++)
        if (a[j] < 0.0)
        {
            k1 = j;
            break;
        }
 
    for(j = k1 + 1; j < n; j++)
        if (a[j] < 0)
        {
            k2 = j;
            break;
        }
    s = 0.0;
    if (k1 == -1 || k2 == -1)
    {
        cout << "Not found" << endl;
        return EXIT_SUCCESS;
    }
    for(j = k1 + 1; j < k2; j++)
        s = s + a[j];
    cout << "Summa: " << s << endl;
    system("PAUSE");
    return EXIT_SUCCESS;
}
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
20.12.2011, 21:22     Cумма элементов между членами массива
Еще ссылки по теме:

В одномерном массиве, состоящем из n целых элементов, 1) номер максимального элемента массива; 2) произведение элементов массива, расположенных между - C++
Помогите исправить программу Задание: В одномерном массиве, состоящем из n целых элементов, 1) номер максимального элемента...

Функция должна вычислять разницы между суммой положительных элементов массива и суммой модулей отрицательных элементов массива - C++
Разработать функцию ,обрабатывающую массив и вычисляющую две величины.Кроме того,разработать две функции,которые вычисляют те же самые...

Произведение элементов массива, расположенных между максимальным и минимальным элементами массива - C++
Здравствуйте,нужна помощь,в общем на лаб. по программированию сейчас идут задачи с массивом,в связи с нехваткой знаний обращаюсь к вам за...

Заполнение массива членами арифметической прогрессии - C++
Напишите программу, которая заполняет массив из N элементов членами арифметической прогрессии с начальным значением X и разностью D в...

Заполнение массива членами арифметической прогрессии - C++
Напишите программу, которая заполняет массив из N элементов членами арифметической прогрессии с начальным значением X и разностью D . ...

Произведение элементов массива с четными индексами, сумма элементов между первым и последним нулями - C++
Всем доброго времени суток! Помогите составить программу. Заранее благодарен! Вот условие: ...


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

Или воспользуйтесь поиском по форуму:
nake
0 / 0 / 0
Регистрация: 30.11.2011
Сообщений: 33
20.12.2011, 21:22  [ТС]     Cумма элементов между членами массива #5
спасибо большое, всё работает
Yandex
Объявления
20.12.2011, 21:22     Cумма элементов между членами массива
Ответ Создать тему
Опции темы

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