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

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

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

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

19.12.2011, 20:49. Просмотров 639. Ответов 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;
}
никак не пойму почему сумма неверная, помогите исправить, запарился уже .
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
19.12.2011, 20:49     Не могу найти ошибку с подсчетом суммы элементов в интервале[a,b] в динамическом одномерном массиве массиве.
Посмотрите здесь:

C++ Функция суммы элементов по модулю в одномерном массиве
C++ определение неотрицательных элементов и их индексов в одномерном массиве(не найду ошибку)
Поиск максимального и минимального элемента в одномерном динамическом массиве C++
Подсчет количества элементов ,больше суммы предшествующих в одномерном массиве C++
Подсчет елементов в одномерном динамическом массиве (есть решение на C#.NET) C++
В двумерном динамическом массиве найти произведение отрицательных элементов массива C++
C++ В одномерном динамическом массиве, состоящем из n вещественных элементов найти минимальный элемент массива
C++ Вычисление максимального элемента в одномерном динамическом массиве
C++ Написать функцию для нахождения в одномерном массиве суммы элементов, кратных 7
Разработать приложение поиска суммы четных элементов в одномерном массиве C++
C++ Поиск суммы элементов в диапазоне [1;15] в одномерном массиве
Определить, сколько различных элементов в одномерном динамическом массиве C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Net_Wanderer
235 / 208 / 19
Регистрация: 08.06.2011
Сообщений: 467
19.12.2011, 21:09     Не могу найти ошибку с подсчетом суммы элементов в интервале[a,b] в динамическом одномерном массиве массиве. #2
Цитата Сообщение от SEV7 Посмотреть сообщение
int sum= *m
сумму надо начинать с нуля, а вы её инициализируете значением первого элемента
поэтому, какой бы вы диапазон не задали, в сумме всегда будет присутствовать первый элемент массива
SEV7
0 / 0 / 0
Регистрация: 29.11.2011
Сообщений: 34
19.12.2011, 21:14  [ТС]     Не могу найти ошибку с подсчетом суммы элементов в интервале[a,b] в динамическом одномерном массиве массиве. #3
так значит надо написать так :
C++
1
int sum= *m[0]
Net_Wanderer
235 / 208 / 19
Регистрация: 08.06.2011
Сообщений: 467
19.12.2011, 21:15     Не могу найти ошибку с подсчетом суммы элементов в интервале[a,b] в динамическом одномерном массиве массиве. #4
Цитата Сообщение от SEV7 Посмотреть сообщение
так значит надо написать так :
и что изменится?

C++
1
int sum = 0;
SEV7
0 / 0 / 0
Регистрация: 29.11.2011
Сообщений: 34
19.12.2011, 21:16  [ТС]     Не могу найти ошибку с подсчетом суммы элементов в интервале[a,b] в динамическом одномерном массиве массиве. #5
Все, сделал, спасибо огромное, за эту мысль!!!
Yandex
Объявления
19.12.2011, 21:16     Не могу найти ошибку с подсчетом суммы элементов в интервале[a,b] в динамическом одномерном массиве массиве.
Ответ Создать тему
Опции темы

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