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

Неправильно считает сумму между первым и последним положительными элементами - C++

Восстановить пароль Регистрация
 
flatra
0 / 0 / 0
Регистрация: 03.11.2012
Сообщений: 343
17.11.2012, 14:24     Неправильно считает сумму между первым и последним положительными элементами #1
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
int min, i, n, sum=0, arr[100],i1,i2; // arr - массив целых чисел, максимальный размер 100 элементов
     cin >> n;
    
         
 
    for (i = 0; i < n; i++) // ввод массива
      {
          cout<<"Введите элемент # "<<i+1<<endl;
 
      cin >> arr[i];
    }
 
//эхо-контроль
//вывод массива в строчке, элементы через пробелы
 
    min = arr[0];
 
    for (i = 0; i < n; i++)
        if (arr[i] < min)
            min = arr[i];
 
     for (i1=0; i1<n; i1++)
     if (arr[i1]>0) break; 
 for (i2=n; i2>0; i2--)
     if (arr[i2]>0) break;
 
    for (int i = i1+1; i < i2-1; i++)
        sum += arr[i];
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
17.11.2012, 14:24     Неправильно считает сумму между первым и последним положительными элементами
Посмотрите здесь:

C++ вычислить сумму элементов массива расположенных между первым и последним положительными элементами
C++ Сумма элементов массива, расположенных между первым и последним положительными элементами
Вычислить сумму элементов массива между первым и вторым положительными элементами C++
Вычислить сумму элементов массива, расположенных между первым и последним положительными элементами C++
Вычислить Минимальный элемент массива, сумму элементов между первым и последним положительными элементами C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Somebody
2770 / 1583 / 141
Регистрация: 03.12.2007
Сообщений: 4,139
Завершенные тесты: 1
17.11.2012, 14:59     Неправильно считает сумму между первым и последним положительными элементами #2
C++
1
2
3
4
5
6
7
8
for (i1=0; i1<n; i1++)
  if (arr[i1]>0)
    break;
for (i2=n-1; i2>=0; i2--)
  if (arr[i2]>0)
    break;
 
for (int i = i1; i <= i2; i++)
И ещё неплохо бы проверку, есть ли вообще положительные числа.
flatra
0 / 0 / 0
Регистрация: 03.11.2012
Сообщений: 343
17.11.2012, 15:04  [ТС]     Неправильно считает сумму между первым и последним положительными элементами #3
ну эхо контроль я написал
flatra
0 / 0 / 0
Регистрация: 03.11.2012
Сообщений: 343
17.11.2012, 15:08  [ТС]     Неправильно считает сумму между первым и последним положительными элементами #4
все равно не так считает или мне кажется
Миниатюры
Неправильно считает сумму между первым и последним положительными элементами  
flatra
0 / 0 / 0
Регистрация: 03.11.2012
Сообщений: 343
17.11.2012, 15:09  [ТС]     Неправильно считает сумму между первым и последним положительными элементами #5
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
50
51
52
53
54
55
56
57
58
59
60
61
#include "stdafx.h"
#include <iostream>
#include "conio.h"
#include <stdio.h>
#include "locale.h"
using namespace std;
 
 
 
int main(void)
{
    setlocale(LC_ALL, "Russian");
cout<<"                огибалов дмитрий инбс-11 ";
cout<<"\n В одномерном массиве, состоящем из n вещественных элементов, вычислить:\n";
cout<<"\n1.)минимальный элемент массива\n";
cout<<"\n2.)сумму элементов массива, расположенных между первым и последним положительными элементами.\n";
cout<<"\nПреобразовать массив таким образом, чтобы сначала располагались все элементы, равные нулю, а потом – все остальные.\n ";
 
cout<<"\nВведите размер массива ->\n ";
    
    int min, i, n, sum=0, arr[100],i1,i2; // arr - массив целых чисел, максимальный размер 100 элементов
     cin >> n;
    
         
 
    for (i = 0; i < n; i++) // ввод массива
      {
          cout<<"Введите элемент # "<<i+1<<endl;
 
      cin >> arr[i];
    }
 
//эхо-контроль
//вывод массива в строчке, элементы через пробелы
 
    min = arr[0];
 
    for (i = 0; i < n; i++)
        if (arr[i] < min)
            min = arr[i];
 
     for (i1=0; i1<n; i1++)
  if (arr[i1]>0)
    break;
for (i2=n-1; i2>=0; i2--)
  if (arr[i2]>0)
    break;
 
    for (int i = i1; i <= i2; i++)
        sum += arr[i];
  
    cout << "минимальный элемент массива:" << min << endl; // вывод минимального значения
    cout << "Сумма элементов массива, расположенных между первым и последним элементом(не включая их)" << sum << endl;
    cout << "\nсначала нулевые элементы:\n";
    for (i = 0; i < n; i++)
        if (arr[i]==0) cout <<" "<<arr[i];
    for (i = 0; i < n; i++)
        if (arr[i]!=0) cout <<" "<<arr[i];
    _getch();
    return 0;
}
maxiv608
3 / 3 / 0
Регистрация: 10.08.2012
Сообщений: 9
17.11.2012, 15:14     Неправильно считает сумму между первым и последним положительными элементами #6
C++
1
2
for (int i = i1+1; i <= i2-1; i++)
sum += arr[i];
Somebody
2770 / 1583 / 141
Регистрация: 03.12.2007
Сообщений: 4,139
Завершенные тесты: 1
17.11.2012, 15:16     Неправильно считает сумму между первым и последним положительными элементами #7
Раз "не включая их", значит, сумма всё-таки от i1 + 1 до i2 - 1.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
17.11.2012, 15:24     Неправильно считает сумму между первым и последним положительными элементами
Еще ссылки по теме:

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

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

Или воспользуйтесь поиском по форуму:
flatra
0 / 0 / 0
Регистрация: 03.11.2012
Сообщений: 343
17.11.2012, 15:24  [ТС]     Неправильно считает сумму между первым и последним положительными элементами #8
а если включая

Добавлено через 6 минут
получается он должен чтоли ссчтиать сумму всех элементом или как

Добавлено через 32 секунды
если напсано между первым и последним положительным
Yandex
Объявления
17.11.2012, 15:24     Неправильно считает сумму между первым и последним положительными элементами
Ответ Создать тему
Опции темы

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