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

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

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 40, средняя оценка - 4.63
lamer_kleon
 Аватар для lamer_kleon
0 / 0 / 0
Регистрация: 20.10.2009
Сообщений: 5
19.03.2010, 07:04     Вычислить сумму элементов массива, расположенных между первым и вторым положительными элементами #1
В одномерном массиве, состоящем из n вещественных чисел, вычислить сумму элементов массива, расположенных между первым и вторым положительными элементами.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
19.03.2010, 07:04     Вычислить сумму элементов массива, расположенных между первым и вторым положительными элементами
Посмотрите здесь:

C++ Вычислить сумму элементов массива, расположенных между первым и последним положительными элементами
Вычислить сумму элементов массива между первым и вторым положительными элементами C++
Вычислить сумму элементов массива, расположенных между первым и последним положительными элементами C++
Вычислить сумму элементов массива, расположенных между первым и вторым отрицательными элементами C++
C++ Найти сумму элементов массива, расположенных между первым и вторым положительными элементами
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
NNN777
299 / 157 / 19
Регистрация: 27.02.2010
Сообщений: 317
19.03.2010, 11:30     Вычислить сумму элементов массива, расположенных между первым и вторым положительными элементами #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
#include <iostream>
#include <locale.h>
using namespace std;
 
void main()
{   
    setlocale(LC_ALL,"Russian");
    float a[100]={0};
    float sum=0;
    int i=0, z=0,k=0, d=0;
    int n;
    cout<<"Введитите количество элементов: ";
    cin>>n;
    cout<<"Введитите "<<n<<" элементов: ";
    for (int j=0; j<n; j++)
    cin>>a[j];
    
    while ((i<n)&&(a[i]<0)){
        k++;
        i++;} 
    
    z=k+1;
    while ((z<n)&&(a[z]<0)){
        d++; z++;}
    
    for (int b=k+1; b<z; b++)
        sum=sum+a[b];
        
    cout<<" Результат: "<<sum;
}
CyBOSSeR
Эксперт C++
 Аватар для CyBOSSeR
2293 / 1663 / 86
Регистрация: 06.03.2009
Сообщений: 3,675
19.03.2010, 12:07     Вычислить сумму элементов массива, расположенных между первым и вторым положительными элементами #3
Сообщение было отмечено автором темы, экспертом или модератором как ответ
lamer_kleon, если подразумевается, что по-любому в массиве есть 2 положительных элемента то вот:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#include <iostream>
 
int main()
{
  const int arr[] = {-1, -3, 4, -3, -5, 5, 6};
        int i     = 0;
        int sum   = 0;
 
  while (arr[i] <= 0)
    ++i;
 
  ++i;
 
  while (arr[i] <= 0) {
    sum += arr[i];
    ++i;
  }
 
  std::cout << "Sum: " << sum << std::endl;
 
  return 0;
}
lamer_kleon
 Аватар для lamer_kleon
0 / 0 / 0
Регистрация: 20.10.2009
Сообщений: 5
19.03.2010, 12:09  [ТС]     Вычислить сумму элементов массива, расположенных между первым и вторым положительными элементами #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
#include <iostream.h>
#include <conio.h>
 #include <stdlib.h>
main()
{
    randomize();
int i,x=0,y=0,s=0;
 int const n=6;
int array[n];
   cout <<"Vvedite elementi massiva:"<< endl;
    for (i=0; i<n;i++)
 cin>> array[i];
    cout<<endl;
for (i=0; i<n;i++)
 {if (array[i]==0) x=i;}
for (i=n;i>=0;i--)
 if (array[i]==0) y=i;
if ((y==x) || (x==y+1)) cout<<"net promezgutka";
 else {
  for (i=y;i<x;i++)
   s=s+array[i];
cout<< s <<endl;
   }
getch() ;
}
подобная программа но находит сумму между 1 и последним нулём
Хотел поправить под свою но нихрена ни выходит мож кто поможет???
Зарание спасибо!!
Genius Ignat
1233 / 771 / 44
Регистрация: 16.09.2009
Сообщений: 2,014
19.03.2010, 12:33     Вычислить сумму элементов массива, расположенных между первым и вторым положительными элементами #5
CyBOSSeR:
Может добавить второе условие выхода, из цикла соединить союзом && а то вдруг массив за буфер поедет:
Кто му же а если будут все отрицательные:
Мое предложение:
C++
1
2
3
4
while(arr[i] <= 0&&i<size){
 
//...
}
Я следую теории о том что из цикла должно быть как минимум два способа выхода из цикла,
это в целях безопасности, я один раз такой ляп допустил сильно пожалел об этом.
С тех пор в своих задачах использую такое свойство а то мало ли.

Для данного случае конечно всё правильно, но мало ли.
Надеюсь ты не в обиде на эту заметку: которую я сделал.
Yandex
Объявления
19.03.2010, 12:33     Вычислить сумму элементов массива, расположенных между первым и вторым положительными элементами
Ответ Создать тему
Опции темы

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