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

Функция: подсчет числа отрицательных элементов массива, и суммы положительных элементов матрицы - C++

Восстановить пароль Регистрация
 
Alexandr3110
2 / 2 / 0
Регистрация: 06.05.2010
Сообщений: 37
14.05.2010, 23:56     Функция: подсчет числа отрицательных элементов массива, и суммы положительных элементов матрицы #1
написать функцию подсчета отрицательных элементов одномерного массива А(6) и сумму положит-х эл-ов матрицы В(6x6)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
14.05.2010, 23:56     Функция: подсчет числа отрицательных элементов массива, и суммы положительных элементов матрицы
Посмотрите здесь:

Функция должна вычислять разницы между суммой положительных элементов массива и суммой модулей отрицательных элементов массива C++
C++ Функция должна вычислять число положительных элементов массива и число элементов больших вычисленного числа
C++ Подсчет суммы отрицательных элементов массива А(10)
Вычислить и вывести отдельно суммы положительных и суммы отрицательных элементов в каждой строк C++
Определить суммы положительных и отрицательных элементов в каждой строке матрицы C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
diana92
4 / 4 / 1
Регистрация: 25.10.2009
Сообщений: 36
15.05.2010, 00:09     Функция: подсчет числа отрицательных элементов массива, и суммы положительных элементов матрицы #2
это все в одной программе или в разных?
Alexandr3110
2 / 2 / 0
Регистрация: 06.05.2010
Сообщений: 37
15.05.2010, 00:40  [ТС]     Функция: подсчет числа отрицательных элементов массива, и суммы положительных элементов матрицы #3
в одной
alex_x_x
бжни
 Аватар для alex_x_x
2441 / 1646 / 84
Регистрация: 14.05.2009
Сообщений: 7,163
15.05.2010, 00:45     Функция: подсчет числа отрицательных элементов массива, и суммы положительных элементов матрицы #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
//[quote=Alexandr3110;727430]написать функцию подсчета отрицательных элементов одномерного массива А(6) и сумму положит-х эл-ов матрицы В(6x6)[/quote]
#include "stdafx.h"
#include <vector>
#include <iostream>
#include <stdlib.h>
#include <time.h>
#include <algorithm>
 
using namespace std;
 
class Funct{
public:
  Funct() : dSumNeg(0), dSumPos(0) {}
  void operator()( double dVal ){
    if( dVal > 0 ){
       dSumPos += dVal;
    }else{
       dSumNeg += dVal;
    }
  }
  double getPos(){return(dSumPos);}
  double getNeg(){return(dSumNeg);}
  static double Rand( ){
      return( rand() * 100.0 / RAND_MAX - 50.0 );
  }
private:
  double dSumNeg;
  double dSumPos;
};
 
int main(){
  srand( time(NULL) );
  double v[6];
  double vv[6][6];
  generate( &v[0], &v[5], Funct::Rand );
  generate( &vv[0][0], &vv[5][5], Funct::Rand );
  Funct f, ff;
  for_each( &v[0], &v[5], f);
  for_each( &vv[0][0], &vv[5][5], ff);
  cout << "negative sum - " << f.getNeg() << endl;
  cout << "positive sum - " << ff.getPos() << endl;
  return 0;
}
чет я туплю, не пойму почему ноль получаеется
Alexandr3110
2 / 2 / 0
Регистрация: 06.05.2010
Сообщений: 37
15.05.2010, 00:47  [ТС]     Функция: подсчет числа отрицательных элементов массива, и суммы положительных элементов матрицы #5
...в си надо..
alex_x_x
бжни
 Аватар для alex_x_x
2441 / 1646 / 84
Регистрация: 14.05.2009
Сообщений: 7,163
15.05.2010, 01:06     Функция: подсчет числа отрицательных элементов массива, и суммы положительных элементов матрицы #6
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
#include "stdafx.h"
#include <vector>
#include <iostream>
#include <stdlib.h>
#include <time.h>
#include <algorithm>
 
using namespace std;
 
class Funct{
public:
  Funct( double& _dSumNeg, double& _dSumPos ) : dSumNeg(_dSumNeg), dSumPos(_dSumPos) {}
  void operator()( double dVal ){
    if( dVal > 0 ){
       dSumPos += dVal;
    }else{
       dSumNeg += dVal;
    }
  }
  static double Rand( ){
      return( rand() * 100.0 / RAND_MAX - 50.0 );
  }
private:
  double& dSumNeg;
  double& dSumPos;
};
 
int main(){
  srand( time(NULL) );
  double v[6];
  double vv[6][6];
  double dSumPos = 0, dSumNeg = 0;
  generate( &v[0], &v[5], Funct::Rand );
  generate( &vv[0][0], &vv[5][5], Funct::Rand );
  for_each( &v[0], &v[5], Funct(dSumNeg,dSumPos));
  for_each( &vv[0][0], &vv[5][5], Funct(dSumNeg,dSumPos));
  cout << v[0] << v[1] << endl;
  cout << "negative sum - " << dSumNeg << endl;
  cout << "positive sum - " << dSumPos << endl;
  return 0;
}
если вдруг
оказывается функтор копируется в алгоритм, вот так работает
Yandex
Объявления
15.05.2010, 01:06     Функция: подсчет числа отрицательных элементов массива, и суммы положительных элементов матрицы
Ответ Создать тему
Опции темы

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