2014-04-19 6 views
-2

안녕하세요 배열의 일부 요소를 인쇄 할 필요가 있지만 실제로 그 값을 할당했습니다. 지금까지 나는이 있습니다배열의 지정된 요소 만 C++로 인쇄하는 방법은 무엇입니까?

for(int h = 0; h < max; h++) 
{ 
    ofile << v[h].getDay() << '/' << v[h].getMonth() << '/' << v[h].getYear() << ", " 
      << v2[h].getHour() << ':' << v2[h].getMinute() << ':' << v2[h].getSecond() << v2[h].getAMPM() << ", " 
      << v3[h].getPrice() << ", " << v3[h].getVolume() << ", " << v3[h].getValue() << endl; ///outputs the data to an output file 

} 

경우 최대 =

(40)는하지만, 내 출력은 다음과 같습니다

10/10/2013, 4:57:27 PM, 5.81, 5000, 29050 
10/10/2013, 4:48:5 PM, 5.81, 62728, 364450 
10/10/2013, 4:10:33 PM, 0, 0, 0 
10/10/2013, 4:10:33 PM, 0, 0, 0 
10/10/2013, 4:10:33 PM, 0, 0, 0 
10/10/2013, 4:10:33 PM, 5.55, 451, 2620.31 
10/10/2013, 4:10:33 PM, 5.81, 5000, 29050 
10/10/2013, 4:10:33 PM, 5.81, 145, 842.45 
10/10/2013, 4:10:33 PM, 5.81, 9241, 53690.2 
10/10/2013, 4:10:33 PM, 5.81, 8759, 50889.8 
10/10/2013, 4:10:33 PM, 5.81, 1875, 10893.8 
10/10/2013, 4:10:33 PM, 5.81, 58, 336.98 
10/10/2013, 4:10:33 PM, 5.81, 1370, 7959.7 
10/10/2013, 4:10:33 PM, 5.81, 90000, 522900 
10/10/2013, 4:10:33 PM, 5.81, 638, 3706.78 
10/10/2013, 4:10:33 PM, 5.81, 4231, 24582.1 
10/10/2013, 4:10:33 PM, 5.81, 71191, 413620 
10/10/2013, 4:10:33 PM, 5.81, 21878, 127111 
10/10/2013, 4:10:33 PM, 5.81, 6760, 39275.6 
10/10/2013, 4:10:33 PM, 5.81, 21340, 123985 
10/10/2013, 4:10:33 PM, 5.81, 4000, 23240 
10/10/2013, 4:10:33 PM, 5.81, 4750, 27597.5 
0/0/0, 0:0:0, 0, 0, 0 
0/0/0, 0:0:0, 0, 0, 0 
0/0/0, 0:0:0, 0, 0, 0 
0/0/0, 0:0:0, 0, 0, 0 
0/0/0, 0:0:0, 0, 0, 0 
0/0/0, 0:0:0, 0, 0, 0 
0/0/0, 0:0:0, 0, 0, 0 
0/0/0, 0:0:0, 0, 0, 0 
0/0/0, 0:0:0, 0, 0, 0 
0/0/0, 0:0:0, 0, 0, 0 
0/0/0, 0:0:0, 0, 0, 0 
0/0/0, 0:0:0, 0, 0, 0 
0/0/0, 0:0:0, 0, 0, 0 
0/0/0, 0:0:0, 0, 0, 0 
0/0/0, 0:0:0, 0, 0, 0 
0/0/0, 0:0:0, 0, 0, 0 
0/0/0, 0:0:0, 0, 0, 0 
0/0/0, 0:0:0, 0, 0, 0 

이 0 년대가 지정되지 않은 값이지만 난 단지 할당 된 사람를 인쇄 할 어떻게해야합니까?

감사

답변

1

루프가 즉시 최초의 제로 발생으로 중단됩니다 그래서 그냥 루프 조건을 수정 : 일부 값이 0 인 경우

for(int h = 0; (h < max) && (v[h].getDay() > 0); h++) 
+0

대단히 감사합니다. – user2924752

1

당신은 들어, if-else 절 및 테스트를 추가 할 수 있습니다 당신이 0 값 여부와 할당 된 일을하려는 경우에 따라 예를 v3[h].getPrice() 아니면 v[h].getDay() ...

뭔가 같은 :

for(int h = 0; h < max; h++) 
{ 
    if(v3[h].getPrice()==0){ 
     continue; 
    } else { 
    ofile << v[h].getDay() << '/' << v[h].getMonth() << '/' << v[h].getYear() << ", " 
      << v2[h].getHour() << ':' << v2[h].getMinute() << ':' << v2[h].getSecond() << v2[h].getAMPM() << ", " 
      << v3[h].getPrice() << ", " << v3[h].getVolume() << ", " << v3[h].getValue() << endl; ///outputs the data to an output file 
    } 
} 
+0

도움 주셔서 감사합니다. – user2924752

관련 문제