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

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

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

Ошибка в сумме модулей элементов массива - C++

18.03.2014, 19:56. Просмотров 214. Ответов 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
//---------------------------------------------------------------------------
 
#include <vcl.h>
#pragma hdrstop
#include <iostream>
#include <locale.h>
 
using namespace std;
//---------------------------------------------------------------------------
 
#pragma argsused
int main(int argc, char* argv[])
{
        setlocale(LC_ALL, "rus");
    int n, *arr, i, indmin = 0, sum = 0;
    cout << "Razmer: "; cin >> n;
    arr = new int[n];
    cout << "Elementy: " << endl;
    for(i = 0; i < n; i++) cin >> arr[i];
    int min=arr[0];
    for(i = 0; i < n; i++)
    {
        if(arr[i] < min)
        {
            min = arr[i];
            indmin = i;
        }
    }
    for(i = 0; i < indmin; i++) sum += arr[i];
    cout << "Summa = " << sum << endl;
    system("pause");
    delete[]arr;
    return 0;
}
//---------------------------------------------------------------------------
0
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
18.03.2014, 19:56
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Ошибка в сумме модулей элементов массива (C++):

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

удаление элементов массива, которые равны сумме предыдущего и следующего элементов - C++
Нужно написать подпрограмму которая удаляет элементы массива, которые равны сумме предыдущего и следующего элементов

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

Ввод и вывод массива целых чисел Вычислить сумму модулей элементов массива,располроженных после первого отрицательного - C++
Очень срочно,помогите пожалуйста,чем быстрее - тем лучше=) Ввод и вывод массива целых чисел.задания оформить в виде функции,глобальные...

Ввод и вывод массива целых чисел Вычислить сумму модулей элементов массива,располроженных после первого отрицательного - C++
Очень срочно,помогите пожалуйста,чем быстрее - тем лучше=) Ввод и вывод массива целых чисел.задания оформить в виде функции,глобальные...

Задание по сумме элементов строк массива - C++
#include &quot;stdafx.h&quot; #include &lt;iostream&gt; #include &lt;iomanip&gt; using namespace std; int _tmain(int argc, _TCHAR* argv) { int...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
aex
89 / 78 / 29
Регистрация: 06.03.2014
Сообщений: 230
18.03.2014, 20:10 #2
Цитата Сообщение от t1gn Посмотреть сообщение
C++
1
for(i = 0; i < indmin; i++) sum += arr[i];
ведь же надо
Цитата Сообщение от t1gn Посмотреть сообщение
расположенных после минимального по модулю элемента
а у вас с 0-вого до минимального
и надо же сумму модулей
т.е. вместе
Цитата Сообщение от t1gn Посмотреть сообщение
C++
1
for(i = 0; i < indmin; i++) sum += arr[i];
надо
C++
1
for(i = indmin; i < n; i++) sum += abs(arr[i]);
и ещё надо
Цитата Сообщение от t1gn Посмотреть сообщение
после минимального по модулю элемента
а у вас просто после минимального
Цитата Сообщение от t1gn Посмотреть сообщение
C++
1
2
3
4
5
6
7
8
for(i = 0; i < n; i++)
   {
     if(arr[i] < min)
     {
       min = arr[i];
       indmin = i;
     }
   }
замените на
C++
1
2
3
4
5
6
7
8
for(i = 0; i < n; i++)
    {
        if(abs(arr[i]) < min)
        {
            min = abs(arr[i]);
            indmin = i;
        }
    }
Добавлено через 6 минут
виноват
Цитата Сообщение от aex Посмотреть сообщение
for(i = indmin; i < n; i++) sum += abs(arr[i]);
здесь надо начиная со следующего, т.е.
C++
1
for(i = indmin+1; i < n; i++) sum += abs(arr[i]);
0
fishec
119 / 119 / 30
Регистрация: 07.09.2013
Сообщений: 338
18.03.2014, 20:10 #3
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
#include<iostream>
 
 
using namespace std;
//---------------------------------------------------------------------------
 
int main(int argc, char* argv[])
{
    setlocale(LC_ALL, "rus");
    int n, *arr, i, indmin = 0, sum = 0;
    cout << "Razmer: "; cin >> n;
    arr = new int[n];
    cout << "Elementy: " << endl;
    for (i = 0; i < n; i++) cin >> arr[i];
    int min = abs(arr[0]);
    for (i = 0; i < n; i++)
    {
        if (abs(arr[i]) < min)
        {
            min = abs(arr[i]);
            indmin = i;
        }
    }
    for (i = indmin+1; i < n; i++) sum += abs(arr[i]);
    cout << "Summa = " << sum << endl;
    system("pause");
    delete[]arr;
    return 0;
}
0
aex
89 / 78 / 29
Регистрация: 06.03.2014
Сообщений: 230
18.03.2014, 20:11 #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
#pragma hdrstop
#include <iostream>
#include <locale.h>
 
using namespace std;
//---------------------------------------------------------------------------
 
#pragma argsused
int main(int argc, char* argv[])
{
        setlocale(LC_ALL, "rus");
    int n, *arr, i, indmin = 0, sum = 0;
    cout << "Razmer: "; cin >> n;
    arr = new int[n];
    cout << "Elementy: " << endl;
    for(i = 0; i < n; i++) cin >> arr[i];
    int min=arr[0];
    for(i = 0; i < n; i++)
    {
        if(abs(arr[i]) < min)
        {
            min = abs(arr[i]);
            indmin = i;
        }
    }
    for(i = indmin+1; i < n; i++) sum += abs(arr[i]);
    cout << "Summa = " << sum << endl;
    system("pause");
    delete[]arr;
    return 0;
}
//---------------------------------------------------------------------------
1
t1gn
0 / 0 / 0
Регистрация: 11.02.2014
Сообщений: 19
18.03.2014, 20:30  [ТС] #5
Спасибо
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
18.03.2014, 20:30
Привет! Вот еще темы с ответами:

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

Вычислить сумму модулей элементов массива - C++
В одномерном массиве, состоящем из п вещественных элементов, вычислить: • номер минимального по модулю элемента массива; • сумму ...

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

Рассчитать сумму модулей элементов массива - C++
Помогите, пожалуйста, с таким заданием, хотя бы наводки дайте. Ввести одномерный статический массив из k чисел.Найти сумму модулей...


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
18.03.2014, 20:30
Ответ Создать тему
Опции темы

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