텍스트 파일에 1000 개의 통계 데이터가 있다고 가정합니다. 첫 번째 열은 색인의 수를 나타내고 두 번째 열은 그 값을 나타냅니다. 색인은 반복 될 수 있으며 해당 값은 다를 수 있습니다. 인덱스의 발생과 각각의 값의 합계를 계산하고 싶습니다.유사한 인덱스 값의 합
색인 생성에 대한 결과를 제공하는 코드를 작성하지만 해당 값 합계를 제공하지 못합니다.
예
내 텍스트 파일을 가정이 너무 this-
#index value
4 0.51
5 0.13
5 0.53
5 0.25
6 0.16
6 0.16
7 0.38
4 0.11
3 0.101
4 0.32
4 0.2 ... and more
같은 데이터 세트
지수 4 이 4 번과 해당 발생 문자를 구분있다 값의 합계가 = (0.51 + 0.11 + 0.32 + 0.2) = 1.14
01 23,516,마찬가지로
지수 5 는 2 배 값 합 발생 = (0.13 + 0.53) = 0.66 등
내 코드 여기
내 코드 -
인#include <iostream>
#include <map>
#include <fstream>
using namespace std;
int main()
{
map<double,double> index;
double number,value;
double total;
ifstream theFile ("a1.txt");
while(theFile >> number >> value)
{
++index[number];
total +=value;
}
cout<<"index\t occurs\t total"<<endl;
for(auto loop = index.begin(); loop != index.end();++loop)
{
cout << loop->first << "\t " << loop->second << "\t \t "<< total<<endl;
}
return 0;
}
이 코드는 결과 -
을 생성합니다. 7백45경1천5백15조5백36억9천1백36만3천2백10index occurs total
3 1 2.851
4 4 2.851
5 3 2.851
6 2 2.851
7 1 2.851
발생 수가 정확하지만 비록
합계 + = 값;
내가 찾고있는 출력을 생성하지 않습니다. 각 색인의 합계를 얻으려면 어떻게합니까? 각 인덱스 total
별도 필요한 반면
귀하의 합계는 각 개별 색인 대신 전체 파일의 각 항목의 합계로 계산됩니다. '발생'열을 누적하는 것과 비슷한 방식으로 '합계'열을 누적하려고합니다. –
@ChrisCooper : 어떻게 총 열을 축적 할 수 있습니까? 의사 코드를 도와 주시겠습니까? – aries0152
나는 지금 대답을 쓰고있다. –