2013-04-15 4 views
-1

소년과 소녀가 1과 0으로 구분 된 파일을 읽었습니다. 나는 소년들이 하나의 배열에 있고, 소녀들이 다른 배열에 있기를 바란다. 이 작업을 시도했을 때 소년은 색인 0부터 특정 숫자까지 소녀 아이콘이 배열의 끝까지 남긴 색인에서 시작한 원래 배열의 2 부로 끝났습니다. 이 둘을 어떻게 적절하게 분할 할 수 있습니까?두 개의 개별 배열로 배열을 분할

코드 :

double boys[100]; 
double girls[100]; 
boys[0] = 0; 
girls[0] = 0; 

for (int x = 0; x < fun; x++){ 
if (gender[x] == 1) 
    boys[x] = array[x]; 
else 
    girls[x] = array[x]; 
} 

나는 두 개의 새로운 배열 소년 나는 "재미"만든 함수에서 오는 배열에서 분할 여자를 원한다.

+0

코드를 표시하십시오. – Gary

+0

아무도 답변을 드릴 수 없습니다. 당신은 당신이 시도한 것과 솔루션의 문제점이 무엇인지를 코드와 세부 사항으로 알려줄 필요가 있습니다. –

+0

코드를 제공하고, 맨손으로 편집하고 가능한 경우 I/O를 수행하는 대신 더미 데이터를 사용하십시오. – millimoose

답변

2

"내가이 작업을 시도했을 때 소년은 색인 0부터 시작하여 특정 번호 까지 소녀 배열의 원본 사본을 2 부로 만들었고 소녀들은 마지막까지 남은 색인에서 시작했습니다. 어떻게 두 개를 올바르게 분할 할 수 있습니까? "

굵게 표시된 부분은 소년 배열을 채우고 girls 배열을 채우기 시작한 후 색인을 0으로 재설정해야한다는 것을 나타냅니다.

편집 : 귀하가 게시 한 코드는 귀하의 문제가 귀하가 말한 내용이 아님을 나타냅니다. (최소한 혼합 된 남학생 및 여아의 일반적인 경우는 제외). 이 같은 것을 원한다면

int boysidx = 0; 
int girlsidx = 0; 
for (int x = 0; x < fun; x++){ 
    if (gender[x] == 1) 
     boys[boysidx++] = array[x]; 
    else 
     girls[girlsidx++] = array[x]; 
} 
+0

예! 어떻게해야합니까? – user12074577

+0

@ user12074577 소년 배열과 소녀 배열 이전에'= 0;'을 그냥 사용 하시겠습니까? 또는 별도의 인덱스 변수를 사용하여 시작 하시겠습니까? – Patashu

+0

위에서 제공 한 코드로 그 예를 보여줄 수 있습니까? – user12074577

관련 문제