Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.80/5: Рейтинг темы: голосов - 5, средняя оценка - 4.80
0 / 0 / 0
Регистрация: 29.11.2011
Сообщений: 34
1

Не могу найти ошибку с подсчетом суммы элементов в интервале[a,b] в динамическом одномерном массиве массиве.

19.12.2011, 20:49. Просмотров 952. Ответов 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
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
#include <iostream>
#include <conio.h>
#include <stdlib.h>
#include <time.h>
#include <iomanip>
#include <stdio.h>
#include <malloc.h>
using namespace std; 
 
//const int razmer=20;
int summa_mas(int m[],int a, int b)
{
    int sum= *m,  j;
    for (j=a;j<=b;j++){sum+= *(m+j);};
    return sum;
 
}
int main() 
{   
    setlocale(0,"rus");
 
    int *massiv;//[razmer];
    int n; int a, b, m, sum;
 
    do {    cout << "Введите кол-во элементов массива (n<=" << 20 << ") : ";         cin >> n;}    
    while (n<=0 || n>20);
    massiv = new int [n];
 
    cout << "Введите минимальное значение диапазона :"; cin >> a;
    cout << "Введите максимальное значение диапазона :"; cin >> b;
    if (a > b) {    int p; p=b; b=a; a=p;}
 
 srand((unsigned) time(NULL));
 for(int j=0; j<n; j++) massiv[j]=rand()%15+1; //(1*RAND_MAX)*(10-2)+2;
 
 cout << endl << "Сформирован массив: ";
 for(int j=0; j<n; j++)  cout << *(massiv+j) << " ;  ";    cout<<endl;
 
 cout<<"Сумма элементов в выбранном диапазоне = "<<summa_mas(massiv,a,b);
 
_getch();
return 0;
}
никак не пойму почему сумма неверная, помогите исправить, запарился уже .
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
19.12.2011, 20:49
Ответы с готовыми решениями:

В одномерном динамическом массиве, состоящем из n вещественных элементов, найти максимальный элемент
По коду выводятся целые числа, как заменить их на вещественные? #include &lt;stdio.h&gt; #include...

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

Алгоритм расчёта суммы и произведения элементов в одномерном массиве и двумерном массиве и его модификация
алгоритм расчёта суммы и произведения элементов в одномерном массиве и двумерном массиве и его...

Определить, сколько различных элементов в одномерном динамическом массиве
Создать одномерный динамический массив размера n, где n вводит пользователь. Заполнить его...

4
236 / 209 / 29
Регистрация: 08.06.2011
Сообщений: 467
19.12.2011, 21:09 2
Цитата Сообщение от SEV7 Посмотреть сообщение
int sum= *m
сумму надо начинать с нуля, а вы её инициализируете значением первого элемента
поэтому, какой бы вы диапазон не задали, в сумме всегда будет присутствовать первый элемент массива
1
0 / 0 / 0
Регистрация: 29.11.2011
Сообщений: 34
19.12.2011, 21:14  [ТС] 3
так значит надо написать так :
C++
1
int sum= *m[0]
0
236 / 209 / 29
Регистрация: 08.06.2011
Сообщений: 467
19.12.2011, 21:15 4
Цитата Сообщение от SEV7 Посмотреть сообщение
так значит надо написать так :
и что изменится?

C++
1
int sum = 0;
1
0 / 0 / 0
Регистрация: 29.11.2011
Сообщений: 34
19.12.2011, 21:16  [ТС] 5
Все, сделал, спасибо огромное, за эту мысль!!!
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
19.12.2011, 21:16

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

В одномерном числовом массиве найти суммы элементов по заданным условиям
В одномерном числовом массиве найти: а) сумму всех элементов, стоящих на четных местах; б) сумму...

Найти номер последнего отрицательного элемента в одномерном динамическом массиве
Найти номер последнего отрицательного элемента в одномерном динамическом массиве.

В одномерном динамическом массиве, состоящем из n целых элементов вычислить номер минимального элемента массива
Помогите дописать программу. #include &lt;iostream&gt; typedef int in; using namespace std; int...

Поиск суммы элементов в диапазоне [1;15] в одномерном массиве
поиск суммы элементов в диапазоне в одномерном массиве.


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

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

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