1 / 1 / 0
Регистрация: 11.11.2011
Сообщений: 49
1

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

22.03.2012, 21:29. Показов 14917. Ответов 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
#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;
}
в чем ошибка не пойму...
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
22.03.2012, 21:29
Ответы с готовыми решениями:

Сумма элементов между первым положительным элементом массива и последним отрицательным
В одномерном целочисленном массиве( элементы массива генерируются случайным образом диапазоне от...

Сумма элементов массива, расположенных между первым и последним элементом
#include &quot;stdafx.h&quot; #include &lt;iostream&gt; #include &quot;conio.h&quot; #include &lt;stdio.h&gt; #include...

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

Вычислить сумму элементов массива, расположенных между первым и последним положительным элементами
В одномерном массиве, который состоит из N действительных элементов, вычислить: 1) минимальной...

8
7 / 7 / 0
Регистрация: 22.03.2012
Сообщений: 17
22.03.2012, 21:38 2
Цитата Сообщение от 123456кам Посмотреть сообщение
for(int s = i; s <= j; s++)
почему у тебя i и j входят в интервал? ты получается складываешь не только числа между ними, но и сами числа.
0
148 / 62 / 8
Регистрация: 14.12.2010
Сообщений: 347
Записей в блоге: 1
22.03.2012, 21:45 3
Я конечно извиняюсь, но как я понял Вам требуется осуществить следующее. Дан массив из 6, в него пользователь вводит отрицательные или положительные числа и вам нужно посчитать сумму положительных и вывести на экран или сумму всего массива?!
0
10 / 11 / 2
Регистрация: 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
0
7 / 7 / 0
Регистрация: 22.03.2012
Сообщений: 17
22.03.2012, 21:56 5
вы не поняли.

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

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

так вот, красные - первый и последний положительные элементы соответственно.
синие - сумма нужных нам элементов.
0
10 / 11 / 2
Регистрация: 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];
}
...
1
148 / 62 / 8
Регистрация: 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;
}
вот результат работы
Миниатюры
Сумма элементов массива, расположенных между первым и последним положительным элементом  
0
0 / 0 / 0
Регистрация: 19.05.2016
Сообщений: 1
19.05.2016, 18:53 8
Ребят, в сообщении выше программа с неточностями... Вот какие были вопросы у преподователя помогите решить данную проблему
1) "0" - не положительно и не отрицательно 2) Что будет, если "0" нет ни одного, "0" - только ОДИН, или только ДВА "0" и они стоят РЯДОМ???
0
148 / 62 / 8
Регистрация: 14.12.2010
Сообщений: 347
Записей в блоге: 1
20.05.2016, 15:00 9
Глупый вопрос если честно, ну очевидно же что просто следует заменить все нестрогие неравенства на строгие. То есть >= на > и все вопросы уйдут сами собой.
if(mas[f]>=0) // Старая реализация
if(mas[f]>0) // Новая
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
20.05.2016, 15:00
Помогаю со студенческими работами здесь

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

Сумма элементов массива через один между первым отрицательным и последним положительным
помогите написать программу расчета сумму элементов массива через один между первым отрицательным и...

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

Сумма элементов массива, расположенных между первым и последним отрицательными элементами
Помогите найти ошибку #include &lt;iostream&gt; #include &lt;ctime&gt; using namespace std; int main()...

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

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


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2023, CyberForum.ru