이전 질문 게시판은 새 글 쓰기를 막았습니다. [질문 게시판]을 이용바랍니다.
Date |
2011/03/27 22:28:54 |
Name |
빛의강림 |
Subject |
간단한 코딩문제인데.. 해결이안되는 부분이있네요..ㅜㅜ |
#include<iostream>
using namespace std;
int main()
{
int i, j, k, temp, count;
int arr[50], arr1[50];
//입력할 숫자의 개수/
cout<<"How many entries will be input? ";
cin>>i;
//입력할 숫자의 개수만큼 arr배열에 숫자를 입력
cout<<"Input "<<i<<" entries : \n";
for(j=0; j<i; j++)
{
cin>>arr[j];
}
//입력된 숫자들을 내림차순으로 정렬
for(k=0; k<(i-1); k++)
{
for(j=0; j<(i-1); j++)
{
if(arr[j]<arr[j+1])
{
temp=arr[j+1];
arr[j+1]=arr[j];
arr[j]=temp;
}
}
}
//중복된 숫자들의 개수를 세기위해 카운트를 올려서 arr1배열로 넣어주는 부분
for(j=0; j<i; j++)
{
count=0;
for(int l=0; l<i; l++)
{
if(arr[j]==arr[l])
{
count++;
}
}
arr1[j]=count;
}
//최종출력부분
for(j=0; j<i; j++)
{
cout<<arr[j]<<" "<<arr1[j]<<"\n";
}
return 0;
}
c++코드인데요
1.입력할 숫자의 개수를 정하고, 2. 그후엔 갯수만큼 숫자를 입력합니다.
3. 입력된 숫자들을 내림차순으로 정렬하고 4. 입력된 숫자중 중복된 숫자들을 카운트하여서 출력하는 코드입니다.
예를들면 How many entries will be input? 에서 6을 입력하고
1 2 2 1 4 5 <-이런식으로 입력하면 결과값이
number count
5 1
4 1
2 2
1 2
이런식으로 나와야합니다.
전 지금 내림차순 정렬도 하였고, 카운트 올리는것 까진 짰는데요,
출력을할때 중복된 숫자들을 한번씩만 나오게 하는걸 아무리 코딩을 해봐도 잘되지않네요.. ㅠㅠ 뭔가 발상의 문제인거같은데, 간단한거같은데 자꾸 헤매서 너무 답답하네요..ㅜㅜ 혹시 위의 코드를 돌려보시는 분은 아시겠지만 저는
number count
5 1
4 1
2 2
2 2
1 1
1 1
이런식으로 뜨거든요.. 조그마한 힌트라도 고맙겠습니다. 도와주세요..ㅜㅜ
|
통합규정 1.3 이용안내 인용
"Pgr은 '명문화된 삭제규정'이 반드시 필요하지 않은 분을 환영합니다.
법 없이도 사는 사람, 남에게 상처를 주지 않으면서 같이 이야기 나눌 수 있는 분이면 좋겠습니다."
|