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

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

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

программа - C++

08.12.2009, 16:07. Просмотров 311. Ответов 2
Метки нет (Все метки)

одномерный массив надо найти положительные элементы и потом сумму между положительными элементами
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
niXman
Эксперт C++
3134 / 1446 / 49
Регистрация: 09.08.2009
Сообщений: 3,441
Записей в блоге: 2
08.12.2009, 16:13     программа #2
C
1
2
3
4
5
6
7
8
9
10
11
int main() {
   int arr[] = {1,3,-3,1,-6,-4,78,54,6,7,3-8,-8};
   int size = sizeof(arr)/sizeof(arr[0]);
   int sum = 0;
 
   for ( int i = 0; i < size; i++ ) {
      if ( arr[i] > 0 ) sum += arr[i];
   }
 
   return 0;
}
-=ЮрА=-
Заблокирован
Автор FAQ
08.12.2009, 16:38     программа #3
Думаю правильней так
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
#include <iostream.h>
#include <conio.h>
 
//Вывод на экран одномерного массива
void out_mass(int n, int * mass);
//Подсчёт суммы отрицательных элементов
//которые находятся между положительными
int negative_sum(int n, int * mass);
 
void main()
{
    //Для данного массива сумма отр элементов должна составить -6
    //т.к. первый и последние 2 элемента не стоят между положительными
    int mass[] = {-1,5,6,-1,-1,4,-1,28,-1,-1,-1,56,-1,-1};
    cout<<"\tInput massiv\r\n";
    int n = sizeof(mass)/sizeof(mass[0]);
    out_mass(n, mass);
    int sum = negative_sum(n, mass);
    cout<<"Sum negative elements betwen positeve ones :"<<sum<<"\r\n";
}
 
void out_mass(int n, int * mass)
{
    for(int i = 0; i < n; i++)
        cout<<mass[i]<<"\r\n";
}
 
int negative_sum(int n, int * mass)
{
    int sum = 0;
    for(int i = 0,j; i < n - 1; i++)
    {
        if(-1 < mass[i])
        {
            j = i + 1;
            if(mass[j] < 0)
            {
                while(mass[i + 1] < 0)
                    i++;
                if(i < n - 1)
                {
                    for(j; j <= i; j++)
                        sum += mass[j];
                }
            }
        }
    }
    return sum;
}
Миниатюры
программа  
Yandex
Объявления
08.12.2009, 16:38     программа
Ответ Создать тему
Опции темы

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