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

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

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

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

19.06.2012, 20:29. Просмотров 232. Ответов 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";
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
19.06.2012, 20:29
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Найти ошибку(сумма элементов массива) (C++):

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

Перемешивание элементов массива - найти ошибку в коде - C++
Добрый день! Помогите с заданием: необходимо перемешать элементы массива сам массив: const int size_2=20; int arro; ...

Нахождение суммы элементов массива, найти ошибку в коде - C++
#include &lt;iostream&gt; #include &lt;time.h&gt; using namespace std; void fm(int a, int count){ for (int i=0; i&lt;count; i++) ...

Найти пары элементов массива сумма которых является степенью двойки - C++
Вам задано n чисел a1, a2, ..., an. Найдите количество пар индексов i, j (i &lt; j) таких, что ai + aj является степенью двойки (то есть...

Дан массив из 9 целых чисел. Найти сумму элементов массива и, если она четная, вывести сообщение "Сумма четная", в противном случае напечатать "Сумма - C++
Дан массив из 9 целых чисел. Найти сумму элементов массива и, если она четная, вывести сообщение &quot;Сумма четная&quot;, в противном случае...

Рекурсия: найти непрерывную часть массива, чтобы сумма элементов была максимальной - C++
массив из случайных целых чисел от -1000 до 1000. задача найти непрерывную часть этого массива чтобы сумма элементов была максимальной

2
Alex1OPS
101 / 100 / 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];
}
Конечно,стоит еще выяснить,есть ли такой элемент в последовательности вообще. Но это зависит от задания.
1
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;
}
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
19.06.2012, 20:44
Привет! Вот еще темы с ответами:

Найти порядковые номера двух соседних элементов массива, сумма которых максимальна - C++
Найти порядковые номера двух соседних элементов массива, сумма которых максимальна. Если таких пар элементов несколько, то найти номера...

Вычислить среднее геометрическое элементов массива, удовлетворяющих условию (не могу найти ошибку) - C++
Помогите найти ошибку в программе: #include &lt;iostream&gt; #include &lt;ctime&gt; #include &lt;cmath&gt; using namespace std; int main() ...

Составить программу, в которой вычислить z=(s1+s2)/(k1*k2), где s1 и k1 - сумма и количество положительных элементов массива Х[N]; s1 u k2 - сумма - C++
Составить программу, в которой вычислить z=(s1+s2)/(k1*k2), где s1 и k1 - сумма и количество положительных элементов массива Х; s1 u k2 ...

Сумма ряда, найти ошибку - C++
#include &lt;cstdlib&gt; #include &lt;iostream&gt; using namespace std; int main(int argc, char *argv) { int i, n, t = 3; ...


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

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

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