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

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

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 35, средняя оценка - 4.71
123456кам
1 / 1 / 0
Регистрация: 11.11.2011
Сообщений: 49
22.03.2012, 21:29     Сумма элементов массива, расположенных между первым и последним положительным элементом #1
Вычислить сумму элементов массива, расположенных между первым и последним положительными элементами.

Вот что получилось...

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
#include "stdafx.h"
#include <iostream.h> 
 
void main(void)
{
    const n = 6;
    float m[6];
    cout << "Vvedite massiv:"<< endl;
    for(int k = 0; k < 6; k++)
    {
        cout << "Vvedite element:";
        cin >> m[k];
    }
    
    int i = 0;
    while (m[i] >= 0)
        i++;
 
    int j = n-1;
    while (m[j] >= 0)
        j--;
 
    int c = j-i-1;
 
    float sum = 0;
    for(int s = i; s <= j; s++)
    {
        sum += m[s];
    }
 
    cout << "kol elementov = " << c << endl;
    cout << "sum elementov = " << sum << endl;
}
в чем ошибка не пойму...
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
22.03.2012, 21:29     Сумма элементов массива, расположенных между первым и последним положительным элементом
Посмотрите здесь:

C++ Сумма элементов массива, расположенных между первым и последним положительными элементами
C++ Сумма элементов массива, расположенных между первым и последним отрицательными элементами
разница элементов массива, расположенных между первым отрицательным и вторым положительным элементами C++
Сумма элементов массива, расположенных между первым и последним элементом C++
C++ че не так считает сумму между первым и последним положительным элементом
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Bagatokak
7 / 7 / 0
Регистрация: 22.03.2012
Сообщений: 17
22.03.2012, 21:38     Сумма элементов массива, расположенных между первым и последним положительным элементом #2
Цитата Сообщение от 123456кам Посмотреть сообщение
for(int s = i; s <= j; s++)
почему у тебя i и j входят в интервал? ты получается складываешь не только числа между ними, но и сами числа.
stawerfar
 Аватар для stawerfar
141 / 55 / 4
Регистрация: 14.12.2010
Сообщений: 347
Записей в блоге: 1
22.03.2012, 21:45     Сумма элементов массива, расположенных между первым и последним положительным элементом #3
Я конечно извиняюсь, но как я понял Вам требуется осуществить следующее. Дан массив из 6, в него пользователь вводит отрицательные или положительные числа и вам нужно посчитать сумму положительных и вывести на экран или сумму всего массива?!
Russian_Dragon
 Аватар для Russian_Dragon
10 / 11 / 0
Регистрация: 18.02.2012
Сообщений: 140
22.03.2012, 21:48     Сумма элементов массива, расположенных между первым и последним положительным элементом #4
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
const n = 6;
float m[6], sum;
cout << "Vvedite massiv:"<< endl;
for(int k = 0; k < n; k++)
{
    cout << "Vvedite element:";
    cin >> m[k];
}
for(int s = 0; s < n; s++)
{
    if(m[s] < 0)
       break;                
    sum += m[s];
}
cout << sum
Bagatokak
7 / 7 / 0
Регистрация: 22.03.2012
Сообщений: 17
22.03.2012, 21:56     Сумма элементов массива, расположенных между первым и последним положительным элементом #5
вы не поняли.

сумму элементов МЕЖДУ первым и последним положительным элементом. пример:

-4 -3 10 -3 5 6 2 -7 -1 4 -1

так вот, красные - первый и последний положительные элементы соответственно.
синие - сумма нужных нам элементов.
Russian_Dragon
 Аватар для Russian_Dragon
10 / 11 / 0
Регистрация: 18.02.2012
Сообщений: 140
22.03.2012, 22:00     Сумма элементов массива, расположенных между первым и последним положительным элементом #6
Тогда так:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
...
bool startPositive = false;
for(int s = 0; s < n; s++)
{
    if(m[s] < 0){
      if(startPositive)
         break;
}
    else
       startPositive = true;
    if(startPositive)        
       sum += m[s];
}
...
stawerfar
 Аватар для stawerfar
141 / 55 / 4
Регистрация: 14.12.2010
Сообщений: 347
Записей в блоге: 1
22.03.2012, 22:25     Сумма элементов массива, расположенных между первым и последним положительным элементом #7
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> 
 
int main(void)
{
        const int n = 11;
        float mas[n];
       std:: cout << "Vvedite massiv:"<<std::endl;
        for(int k = 0; k < n; k++)
        {
               std:: cout << "Vvedite element:";
               std:: cin >> mas[k];
        }
        
        int i = 0;
     
        for(int f=0;f<n;f++)//поиск первого положительного
        {   
            if(mas[f]>=0)
            { i=f;break;}
        }
        
        int j = i;
        for(int f=0;f<n;f++)//поиск последнего положительного
        {
            if(mas[f]>=0)
            {j=f;}
        }
 
        int c =0;
 
        float sum = 0;
        for(int s = i; s <= j; s++)
        {
                sum += mas[s];
                c++;
        }
 
       std:: cout << "kol elementov = " << c <<std:: endl;
       std:: cout << "sum elementov = " << sum <<std:: endl;
       system("Pause");
       return 0;
}
вот результат работы
Миниатюры
Сумма элементов массива, расположенных между первым и последним положительным элементом  
SinDall
0 / 0 / 0
Регистрация: 19.05.2016
Сообщений: 1
19.05.2016, 18:53     Сумма элементов массива, расположенных между первым и последним положительным элементом #8
Ребят, в сообщении выше программа с неточностями... Вот какие были вопросы у преподователя помогите решить данную проблему
1) "0" - не положительно и не отрицательно 2) Что будет, если "0" нет ни одного, "0" - только ОДИН, или только ДВА "0" и они стоят РЯДОМ???
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
20.05.2016, 15:00     Сумма элементов массива, расположенных между первым и последним положительным элементом
Еще ссылки по теме:

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

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

Или воспользуйтесь поиском по форуму:
stawerfar
 Аватар для stawerfar
141 / 55 / 4
Регистрация: 14.12.2010
Сообщений: 347
Записей в блоге: 1
20.05.2016, 15:00     Сумма элементов массива, расположенных между первым и последним положительным элементом #9
Глупый вопрос если честно, ну очевидно же что просто следует заменить все нестрогие неравенства на строгие. То есть >= на > и все вопросы уйдут сами собой.
if(mas[f]>=0) // Старая реализация
if(mas[f]>0) // Новая
Yandex
Объявления
20.05.2016, 15:00     Сумма элементов массива, расположенных между первым и последним положительным элементом
Ответ Создать тему
Опции темы

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