2012-03-08 4 views
1

저는 학생이며 C++로이 배열에 대해 알고 싶습니다.영숫자와 영숫자가 아닌 문자 배열로 배열

어떻게 배열 n 및 배열 t의 모든 영숫자 이외로 배열 k에 입력 된 모든 영숫자 문자를 표시 할 수 있습니까?

내가 만든이 무엇인지, 나는

int main(int argc, char *argv[]) 
{ 
    char k[8], n[8], t[8]; 

    int ctr, nctr, tctr; 

    for(ctr=0; ctr<8; ctr++){ 
    cout << "Input 1st Element "; 

    cin >> k[ctr]; 
    if (isalnum(k[ctr])) 
+0

혼란 스럽네요. 학생이 잘못 되었기 때문에 실제 과제물에 링크를 붙여 게시 할 수있게되어 더 좋은 답변을 줄 수 있습니까? – Gabe

+0

'if-then-else' 구조체 나 배열에 무엇인가 넣는 데 도움이 필요한 부분은 무엇입니까? – Beta

+0

입출력 예제를 줄 수 있습니까? – balki

답변

0
#include <string.h> 
#include <iostream> 

using namespace std; 

int main(void) { 

     char k[8], n[8], t[8]; 

     strcpy(k,"--------"); 
     strcpy(n,"--------"); 
     strcpy(t,"--------"); 

    for (int pos = 0, tcntr = 0, ncntr =0; pos < 8; pos++) { 
      cout<<"Input your char < : "; 
      cin>>k[pos]; 

       if (isalnum(k[pos])) { 
         n[ncntr] = k[pos]; 
         ncntr++; 
       } else { 

         t[tcntr] = k[pos]; 
         tcntr++; 
       } 
     } 

     cout<<"Alpha numernic chars ::"<<n<<endl; 
     cout<<"Non Aplha numberic chars ::"<<t<<endl; 
} 


Input your char < : 3 
Input your char < :^
Input your char < : d 
Input your char < : & 
Input your char < : f 
Input your char < : 1 
Input your char < : 7 
Input your char < : 1 
Alpha numernic chars ::3df171-- 
Non Aplha numberic chars ::^&------ 
+0

친절하게 울부 짖는 정확한 출력 TNX이 무엇인지 확인하기 위해 링크를 참조 .. 당신이 나에게 도움이 될 수 있습니다 희망 http://i893.photobucket.com/albums/ac135/melwinjay/ass.jpg – noob

+0

선생님은 당신의 대답은 정확 하지만 난 거기에 문제가 있다고 생각 내가 배열 k에 1 - 9를 입력하면 영숫자 문자와 비 영숫자 문자가 같이 인쇄됩니다 ................... ................ 영숫자 문자 :: 1234567812345678x " 비 알파 숫자 문자 : D 아무 키나 눌러 – noob

+0

검사가 지금은 적응... 계속 수정하는 내 이 답변을 찾으면 친절하게 투표하십시오. – alkber

0

가 어떻게 배열 n 및 배열 t의 모든 영숫자 이외로 배열 K에 입력 된 모든 영숫자 문자를 표시 할 수 있습니다 향후 계획에 대해 몰라?

"표시"란 "복사"를 의미합니까? 조건부 만 사용하십시오.

int ctr, nctr = 0, tctr = 0; // note how I explicitly set the counters to 0 

for (ctr = 0; ctr < 8; ctr++) 
{ 
    cout << "Input Element " << ctr << ": "; 

    cin >> k[ctr]; 
    if (isalnum(k[ctr])) 
    { 
     n[nctr++] = k[ctr]; 
    } 
    else 
    { 
     t[tctr++] = k[ctr]; 
    } 
} 

원하지 않는 경우 더 자세한 정보를 제공하십시오. 이 STL을 사용할 수있는 경우 partition_copy이 최선의 해결책 때

+0

@noob ??? 입력 Element의 # : 5 Element의 입력 Element의 입력 % : 3 이 요소를 입력 : 이 요소를 입력 @ : 1 이 요소를 입력 : 무엇 – sehe

+0

이 요소를 입력하는 것이의 (7) - - 비 Alphanu - 1 3 5 7 8 : 8 영숫자 문자 : 는 요소를 입력 meric : # @ % - - - - - 출력은 것과 같아야 .. 누구나 그 배열 K에 모든 영숫자 문자가 복사되어야 어레이 (K)에 영숫자 문자를 입력하면 배열 n 및 나머지는 영숫자가 아님 배열 – noob

+0

친절하게도 정확한 출력 tnx는 무엇인지 보려면 아래 링크를 참조하십시오 .. i893.photobucket.com/albums/ac135/melwinjay /나귀.JPG – noob

0

이입니다. 주어진 조건 자 (char가 영숫자인지 여부)를 검사하여 배열 knt의 두 배열로 나눌 수 있습니다. 이와 같이 :

#include <string> 
#include <iostream> 
#include <algorithm> 

using namespace std; 

int main(int argc, char *argv[]) 
{ 
    const size_t len = 8; 
    char k[len], n[len], t[len]; 

    // Input your data... 

    // Copy all alphanumeric chars in n and non-alphanumeric to t 
    partition_copy(k, k + len, n, t, isalnum); 
} 
+0

그것은 나에게이 오류 'partition_copy'을 알려주지 않았다. (먼저이 함수를 사용한다.) – noob

+0

어떤 컴파일러를 사용 하나? Visual Studio의 경우 MSVC2010 이전에'partition' 함수 만 존재합니다. 그것은 똑같은 일을합니다. MSDN을 확인하십시오. – Mikhail

+0

메신저를 사용하여 Dev C++ – noob

관련 문제