문제)
1.1~10의 자연수 N개가 띄어쓰기로 구분되어 입력된다
2. 입력된 수들 중에서 1,2,...,10 의 개수를 각각 세어서 출력한다
Enter the number : 1 5 4 6 8 1 3 9 4 10 6 9 8 1 3 7 9 8 1 6 2 1 6 4 8 9 5 10 5 4 3 3 1 1 10 8 9 4 1 8 3 7 1 2 9
이렇게 입력하면
1의 개수 : 9
2의 개수 : 2
3의 개수 : 5
4의 개수 : 5
5의 개수 : 3
6의 개수 : 4
7의 개수 : 2
8의 개수 : 6
9의 개수 : 6
10의 개수 : 3
이렇게 나타내게 코딩할라면 어떻게 해야될까?
해당 댓글은 삭제되었습니다.
문제가 1 2 3 4 5 이렇게 입력이 안됨
아까 가르쳐준 대로 코딩해 보고 안 된다고 지금 얘기하는 거냐?
너 참 큰일이다..
울랄라// %[^\n]s 로하면 문자열로 되는데 문자열로 되서 숫자 카운팅이 안되는데 어떻게 해야되나요
그거를 a[0] 부터 a[1000]까지 for loop으로 돌려서 하나씩 체크하면 되지 뭐가 문제니. 체크해서 1은 b[0]++; 해 주고, 2 발견하면 b[1]++; 해 주고 등등.. 2자리 수는 if( a[i+1]== between 0~9 ) 해서 추가 처리해 주면 되고.
진짜 미안한데 내가 개빡대가리라 그러는데 혹시 코딩한거 올려줄수있어? 귀찮다면 그냥 내가 생각해볼게..
미안하다. 난 프로그래머들을 기본적으로 노가다꾼으로 보기 때문에, 내가 직접 노가다는 안 할란다. 좀 있다. bash shell script로 하나 만들어는 보마.
감사합니다
a="$(read a; echo $a)"; RS=' '; echo $a | awk 'BEGIN{RS=" "; max=0;}{a[$1]++; if(max<$1) max=$1; print $1}END{print "max="max; for(i=1;i<max+1;i++){if(a[i]=="") a[i]=0; print i" occurs "a[i]" times."}}' 만들긴 했는데 니 수준에서 이해할 단계가 아닌 것 같다. 중요한 조언 한 마디만 해 주자면, C언어는 그냥 교재에서 만들어 놓고 설명까지 친절하게 다 되어 있는 예제 보면서 이해만 하고 넘어가고, 실제 코드는 파이썬이나 쉘스크립트로 짜는 연습 해라. 속도나 시스템 하위단계의 작업을 다루는 일 아니면 효율성이 없다.
위 코드 실행해 보려면 리눅스 터미널이나 윈도용 cygwin 깔고 실행해 봐야 할거다.
온라인 리눅스 터미널 비슷한 게 있는데
https://rextester.com/l/bash_online_compiler
여기서는
read 명령이 안 먹히니까, 입력값을 자동으로 랜덤으로 생성해 주는 아래 코드 넣고 실험해 봐라.
a="$( for((i=0;i<20;i++)); do echo -n "$(( 0x$(openssl rand -hex 7)%20+1 )) "; done )"; RS=' '; echo $a | awk 'BEGIN{RS=" "; max=0;}{a[$1]++; if(max<$1) max=$1; print $1}END{print "max="max; for(i=1;i<max+1;i++){if(a[i]==
숙제니
숙제는 아니고 독학중임