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

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

Восстановить пароль Регистрация
 
joemcjoe
0 / 0 / 0
Регистрация: 09.11.2013
Сообщений: 26
21.05.2014, 19:23     Разница элементов массива между первым отлрицательным и вторым положительным элементам #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
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
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
#include <ctime>
#include <iostream>
using namespace std;
 
 
 
  template<class Type>
  class Array
  {
  private:
      Type *arr;
      int _size;
  public:
      void Random()
      {
          Type randomNumber;
        for(int i=0;i<_size;i++)
        {
                
                        randomNumber=-5+(rand()% ((100-1) *1 + 1))/Type(10);
                        arr[i]=randomNumber;
                
        }
      }
      Array ( int size)
      {
          _size = size;
         arr = new Type[_size];
         for(int i=0;i<_size;i++)
             arr[i]=0;
      }
      void print()
      {
         for(int i=0;i<_size;i++)
              cout << arr[i] << " ";
         cout << endl;
      }
      ~Array() { 
          
          delete[]arr;
      }
    Type diff();
  };
      
 
 
  template<class Type>
  Type Array<Type>::diff()
  {
      Type _diff = 0;
      int count1 = 0 ,  count2 = 0;
 
      for(int i=0;i<_size;i++)
      {
          if(arr[i]<0) count1=i;
          break;
      }
 
      for(int j=count1 + 1;j<_size;j++)
      {
          if(arr[j]>0) count2 = j;
          break;
      }
 
      for(int z = count2 + 1; z< _size; z++)
      {
          if(arr[z]>0) count2 = z;
          break;
      }
 
      for(int w = count1 + 1; w < count2 - 1; w ++)
          _diff-=arr[w];
 
      return _diff;
 
  }
 
 
 int main()
 {
     srand(time(NULL));
     Array<double> arr(20);
     arr.Random();
     arr.print();
        cout << endl << arr.diff() << endl;
        return 0;
 }


Добавлено через 1 час 27 минут
Ну может кто-то помочь?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
21.05.2014, 19:23     Разница элементов массива между первым отлрицательным и вторым положительным элементам
Посмотрите здесь:

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

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
zss
Модератор
Эксперт С++
 Аватар для zss
5955 / 5560 / 1788
Регистрация: 18.12.2011
Сообщений: 14,209
Завершенные тесты: 1
21.05.2014, 20:54     Разница элементов массива между первым отлрицательным и вторым положительным элементам #2
break внести внутрь верного условия
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
for(int i=0;i<_size;i++)
      {
          if(arr[i]<0)
          {
              count1=i;
                break;
          }
      }
 
      for(int j=count1 + 1;j<_size;j++)
      {
          if(arr[j]>0)
          {
                count2 = j;
                break;
          }
      }
 
      for(int z = count2 + 1; z< _size; z++)
      {
          if(arr[z]>0)
          {
                count2 = z;
                break;
          }
      }
Yandex
Объявления
21.05.2014, 20:54     Разница элементов массива между первым отлрицательным и вторым положительным элементам
Ответ Создать тему
Опции темы

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