2014-04-27 1 views
-2
#include <iostream> 
#include <string> 

using namespace std; 


void Calc(const string, const string , string&); 

void Dbf(const string,const string, string&); 


int main() 
{ 

    string OUT; 

    string A[]={"10","12"}; 

    string j = A[0]; 
    string k = A[1]; 

    Calc(j,k,OUT); 

     cout<< "ODD :"<<j<<endl; 
     cout<< "EVEN :"<<k<<endl; 
     cout<< "OUT :"<<OUT<<endl; 
     cout<< "OUT :"<<OUT<<endl; 

// this result only showing Last OUT value why pls help 

    return 0; 
} 

void Calc(const string J ,const string K, string& Out){ 

     int OD_L = J.length(); 
     int EV_L = K.length(); 
     int D = (OD_L - 1); 
     int E = (EV_L - 1); 

      for(int io = D ; io >= 0; io--){ 

      string OD(1, J[io]); 
      string EV(1, K[io]); 

      Dbf(OD , EV, Out); 

      } 
} 

void Dbf(const string S_odd, const string S_even, string& p_Out){ 
    if(S_odd == S_even){ 

     p_Out = " yes "; 

    }else{ 

     p_Out = " no " ; 
    } 
} 
+0

그것은 그 문자열이 서로 다른 길이 인 경우 터져 죽자 갈 것'Calc' 기능처럼 보이는, J는 더 이상 K. – PaulMcKenzie

+0

보다 특히 내가 이미 그 문제에 대한 코드가 있습니다 만 마지막 루프의 결과를 보여주는 캘크 기능입니다 – user3577928

답변

0

"예"와 "아니오"라는 긴 결과를 생성하기 위해 두 개의 문자열을 비교하려고합니다. Dbf에서 문자열을 p_Out에 추가해야하며 덮어 쓰지 않아야합니다. 시도 :

void Dbf(const string S_odd, const string S_even, string& p_Out){ 
    if(S_odd == S_even){ 
     p_Out += " yes "; 
    } 
    else{ 
     p_Out += " no " ; 
    } 
} 
+0

동일한 결과. 문제는 Calc 함수입니다. 마지막 루프 결과 만 표시합니다. – user3577928

+0

이 Dbf 함수를 사용하면 "OUT : 아니요"라는 메시지가 나타납니다. 너는 같은 것을 얻는다? – user3577993

+0

예. 그 일하는 ... – user3577928

관련 문제