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

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

Войти
Регистрация
Восстановить пароль
 
Yalovick
2 / 2 / 0
Регистрация: 07.12.2010
Сообщений: 61
#1

Найти ошибку(сумма элементов массива) - C++

19.06.2012, 20:29. Просмотров 218. Ответов 2
Метки нет (Все метки)

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

1 2 3 4 5 6 7 8 9

Ввожу 6 и считает
1+2+3+4+5+6

Код:

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 <cstdlib>
#include <cmath>
#include <iostream>
#include <time.h>
using namespace std;
 
int main() 
{
    
        int e[10];                                       //массив
        int i;
        int p_otr;
        int p_pol;
        int sum;
        int znach;
        int a;
        int b;
srand(time(0));     
   for (i=0; i<10; i++)
  {
     e[i] = 5 - rand() % 10;
      cout << e[i] << " ";//вывели на экран все значения
  }
        p_otr = 1; 
   for (i=0; i<10; i++) 
      if (e[i]<0) 
         
          p_otr = p_otr * e[i];  // произведение отрицательных чэлементов
         
          cout <<"\n"<<"Proizvedenie otricatelnyh:"<< p_otr<<"\n" ;    
        p_pol = 1; 
   for (i=0; i<10; i++) 
      if (e[i]>0) 
         
          p_pol = p_pol * e[i]; //произведение положительных элементов
          
      cout <<"Proizvedenie polojitelnyh:"<< p_pol<<"\n" ;  
 
cout << "Vvedite znachenie elementa:";
cin >> znach;
 
sum = 0;
for (i=0; i<10; i++)
{
while (e[i]!=znach)  
 sum = sum + e[i];
}
 
cout<< "Summa znacheniy:"<<sum<<"\n";
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
19.06.2012, 20:29     Найти ошибку(сумма элементов массива)
Посмотрите здесь:

Сумма элементов массива C++
C++ Сумма элементов массива
Сумма положительных элементов, произведение элементов массива C++
Найти количество отрицательных элементов столбца, у которого сумма четных элементов не больше 30. C++
C++ Рекурсия: найти непрерывную часть массива, чтобы сумма элементов была максимальной
C++ Сумма ряда, найти ошибку
Нахождение суммы элементов массива, найти ошибку в коде C++
C++ Перемешивание элементов массива - найти ошибку в коде
Найти порядковые номера двух соседних элементов массива, сумма которых максимальна C++
Вычислить среднее геометрическое элементов массива, удовлетворяющих условию (не могу найти ошибку) C++
C++ Сумма элементов массива
C++ Найти пары элементов массива сумма которых является степенью двойки

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Alex1OPS
100 / 99 / 20
Регистрация: 14.09.2010
Сообщений: 223
19.06.2012, 20:34     Найти ошибку(сумма элементов массива) #2
Попробуй заменить с 42 по 47 строки на это:
C++
1
2
3
4
5
sum = 0;
for (i=0; i<10; i++) {
     if (e[i]==znach) break;
     sum+=e[i];
}
Конечно,стоит еще выяснить,есть ли такой элемент в последовательности вообще. Но это зависит от задания.
Yalovick
2 / 2 / 0
Регистрация: 07.12.2010
Сообщений: 61
19.06.2012, 20:44  [ТС]     Найти ошибку(сумма элементов массива) #3
Спасибо, все работает.

Кстати, такая еще ошибка. Необходимо удалить из массива элементы, входящие в интервал [a,b]. а и b вводятся с клавиатуры
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 <cstdlib>
#include <cmath>
#include <iostream>
#include <time.h>
using namespace std;
 
int main() 
{
    
        int e[10];                                      
        int i;
        int a;
        int b;
srand(time(0));     
   for (i=0; i<10; i++)
  {
     e[i] = 5 - rand() % 10;
      cout << e[i] << " ";
  }
 
cout << "Vvedite a:";
cin >>a;
cout <<"Vvedite b:";    
cin >>b;  
for (i=0;i<10;i++)
            if(e[i]>=a && e[i]<=b)
              вот тут что написать? 
cout<<e[i]<<" ";
return 0;
}
Yandex
Объявления
19.06.2012, 20:44     Найти ошибку(сумма элементов массива)
Ответ Создать тему
Опции темы

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