Problem:
ヒストグラム
テンアイスクリームという名前のアイスクリーム屋さんがあります。このお店では常に 10 種類のアイスクリームが店頭に並ぶようにしています。お店の店長は商品開発の参考にするために、アイスクリームの売れ具合を表すグラフを毎日作成しています。
そんな店長のために、あなたは各アイスクリームの販売数をグラフで表示するプログラムを作成することになりました。
一日に販売されるアイスクリームの総数と売れたアイスクリームの番号を入力とし、アイスクリームの種類ごとに販売した数だけ * (半角アスタリスク) を出力するプログラムを作成してください。ただし、アイスクリームの種類を 0 から 9 までの整数で表わします。また、販売個数がゼロのアイスクリームは、- (半角ハイフン) をひとつ出力します。
Input
複数のデータセットの並びが入力として与えられます。入力の終わりはゼロひとつの行で示されます。
各データセットは以下の形式で与えられます。
n
c
1
c
2
:
c
n
1 行目に一日に販売されるアイスクリームの総数
n
(1 ≤
n
≤ 10000) が与えられます。続く
n
行に第
i
のアイスクリームの種類
c
i
(0 ≤
c
i
≤ 9) が与えられます。
データセットの数は 20 を超えません。
Output
入力データセットごとに、各アイスクリームの種類の番号順に販売数を出力します。
Sample Input
15
2
6
7
0
1
9
8
7
3
8
9
4
8
2
2
3
9
1
5
0
Output for the Sample Input
*
*
***
*
*
-
*
**
***
**
-
*
-
-
-
*
-
-
-
*

Submitted solutions:

code_snippet: #include<stdio.h>
#include<iostream>
using namespace std;

int main(){
	while(1){
		int n,a,u[10]={0,1,2,3,4,5,6,7,8,9},p[10]={};
		cin >> n;
		if(n==0)return 0;
		for(int i=0;i<n;i++){
			cin >> a;
			for(int i=0;i<10;i++){
				if(a==u[i])p[i]=p[i]+1;
				/*cout << "p["<< i << "]=" << p[i];*/ 
			}
			/*cout << endl;*/
		}
		/*for(int i=0;i<10;i++){
			cout << "p["<< i << "]=" << p[i]; 
		}*/
		for(int r=0;r<10;r++){
			if(p[r]==0){cout << "-";}
			else if(p[r]!=0){
				for(int i=0;i<p[r];i++){
					cout << "*";
				}
			}
			cout << endl;
		}

	}
	return 0;
}
accuracy: 1
time_ms: 10
memory_kb: 1152
final_rank: 3

code_snippet: #include<stdio.h>
int main(void)
{
    int n, i, masatoy[10000];
    int str[10] = { 0,0,0,0,0,0,0,0,0,0 }, k;
    scanf("%d", &n);
    while (n > 0) {
        for (i = 0; i < n; i++) {
            scanf("%d", &masatoy[i]);
            for (k = 0; k <= 9; k++) {
                if (masatoy[i] == k) {
                    str[k]++;
                }
            }

        }
        for (i = 0; i <= 9; i++) {
            if (str[i] == 0) {
                printf("-\n");
            }
            else {
                for (k = 0; k < str[i]; k++) {
                    printf("*");
                }
                printf("\n");
            }

        }
        scanf("%d", &n);
        for (i = 0; i <=9; i++) {
            str[i] = 0; 
     
        }
    }
    return 0;
}
accuracy: 1
time_ms: 10
memory_kb: 1036
final_rank: 1

code_snippet: /*
 * src.cpp
 *
 *  Created on: 2016/08/04
 *      Author: joi
 */

#include <bits/stdc++.h>

using namespace std;

#define FOR(i,a,b) for(int i=(a);i<(b);i++)
#define REP(i,a) FOR(i,0,a)

int N;

int cnt[10];

int main(){
	do{
		cin>>N;
		if (N){
			fill(cnt,cnt+10,0);
			REP(i,N){
				int a;
				cin>>a;
				cnt[a]++;
			}
			REP(i,10){
				if (cnt[i]==0){
					cout<<'-'<<endl;
				}else{
					REP(j,cnt[i]){
						cout<<'*';
					}
					cout<<endl;
				}
			}
		}
	}while (N);
	return 0;
}
accuracy: 1
time_ms: 10
memory_kb: 1152
final_rank: 3

code_snippet: #include<cstdio>
#include<cstring>
#include<algorithm>
#include<functional>
#include<vector>
#include<stack>
#include<queue>
#include<iostream>
using namespace std;
int main(void)
{
	int n,i,j;
	int ice[9],p;
	while(1) {
		cin >> n;
		if(n==0)break;
		for(i=0;i<=9;i++) ice[i]=0;
		for(i=0;i<n;i++) {
			cin >>p;
			ice[p]++;
		}
		for(i=0;i<=9;i++) {
			if(ice[i]>0) {
				for(j=0;j<ice[i];j++) {
					cout << "*";
				}
				cout << endl;
			}
			else cout << "-" << endl;
		}
	}
	exit(0);
}
accuracy: 1
time_ms: 10
memory_kb: 1152
final_rank: 3

code_snippet: #include <iostream>
using namespace std;

// http://judge.u-aizu.ac.jp/onlinejudge/description.jsp?id=0219

int main() {
	int n;
	while (cin >> n) {
		if (n == 0) break;
		int arr[10] = {0};
		for (int i = 0; i < n; i++) {
			int a;
			cin >> a;
			arr[a]++;
		}
		for (int i = 0; i < 10; i++) {
			if (arr[i] == 0) cout << "-";
			for (int j = 0; j < arr[i]; j++) cout << "*";
			cout << endl;
		}
	}
	return 0;
}
accuracy: 1
time_ms: 10
memory_kb: 1152
final_rank: 3

code_snippet: #include <iostream>
using namespace std;

int main(){
	int n;
	int ice[10000];
	int k[16];

	while(cin >>n,n){

		for(int i=0;i<16;i++){
			k[i]=0;
		}

		for(int i=0;i<n;i++){
			cin >>ice[i];
		}


		for(int i=0;i<n;i++){
			switch(ice[i]){
				case 0: k[0]++; break;
				case 1: k[1]++; break;
				case 2: k[2]++; break;
				case 3: k[3]++; break;
				case 4: k[4]++; break;
				case 5: k[5]++; break;
				case 6: k[6]++; break;
				case 7: k[7]++; break;
				case 8: k[8]++; break;
				case 9: k[9]++; break;
			}
		}
/*
		cout <<endl;
		for(int i=0;i<10;i++)
			cout << k[i] <<endl;
*/		

		for(int i=0;i<10;i++){
			if(k[i] > 0){
				for(int j=0;j<k[i];j++){
					cout <<"*";
				}
				cout << endl;
			}else {
				cout <<"-" <<endl;
			}
		}

	}


	return 0;
}
accuracy: 1
time_ms: 10
memory_kb: 1192
final_rank: 20

code_snippet: #include <iostream>
using namespace std;
int main(){
	int n,t,i,j;
	while(cin>>n,n){
		int c[10]={0};
		for(i=0;i<n;i++)cin>>t,c[t]++;
		for(i=0;i<10;i++){if(!c[i])cout<<'-';else for(j=0;j<c[i];j++)cout<<'*';cout<<endl;}
	}
}
accuracy: 1
time_ms: 10
memory_kb: 1152
final_rank: 3

code_snippet: #include <iostream>
using namespace std;
int main(){
	int n,t;
	while(cin>>n,n){
		int c[10]={0};
		for(int i=0;i<n;i++)cin>>t,c[t]++;
		for(int i=0;i<10;i++){if(!c[i])cout<<'-';else for(int j=0;j<c[i];j++)cout<<'*';cout<<endl;}
	}
}
accuracy: 1
time_ms: 10
memory_kb: 1152
final_rank: 3

code_snippet: #include <bits/stdc++.h>
using namespace std;
int main(){
	int n,t;
	while(cin>>n,n){
		int c[10];fill(c,c+10,0);
		for(int i=0;i<n;i++)cin>>t,c[t]++;
		for(int i=0;i<10;i++){if(!c[i])cout<<'-';else for(int j=0;j<c[i];j++)cout<<'*';cout<<endl;}
	}
}
accuracy: 1
time_ms: 10
memory_kb: 1152
final_rank: 3

code_snippet: #include <iostream>
using namespace std;

int main()
{
	int n;
	
	while (cin >> n, n){
		int ice[10] = {0};
		int num;
		
		for (int i = 0; i < n; i++){
			cin >> num;
			ice[num]++;
		}
		
		for (int i = 0; i < 10; i++){
			if (ice[i]){
				for (int j = 0; j < ice[i]; j++){
					cout << "*";
				}
			}
			else {
				cout << "-";
			}
			cout << endl;
		}
	}
	
	return (0);
}
accuracy: 1
time_ms: 10
memory_kb: 1152
final_rank: 3

code_snippet: #include<iostream>
using namespace std;
int main(){
	int kai, aicec;
	int aice[11] = { 100, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 }; //??????
	int count[11] = { 0 };
	cin >> kai;
	while (kai != 0){//???????????¶
		for (int i = 0; i < kai; i++){
			cin >> aicec;
			for (int l = 1; l <= 10; l++){//??????
				if (aice[l] == aicec) count[l]++;//????????????
			}
		}
		for (int i = 1; i <= 10; i++){
			if (count[i] == 0)cout << "-" << endl;
			else {
				for (int l = 0; l < count[i]; l++){
					cout << "*";
				}cout << endl;
			}
		}
		for (int i = 1; i <= 10; i++) count[i] = 0;
		cin >> kai;
	}
	return 0;
}
accuracy: 1
time_ms: 10
memory_kb: 1152
final_rank: 3

code_snippet: #include<iostream>
using namespace std;

int main(){

	int n;

	while (cin >> n && n != 0){

		int kind[10] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 };

		for (int i = 0; i < n; i++){

			int k;
			cin >> k;
			kind[k]++;
		}

		for (int i = 0; i < 10; i++){

			if (kind[i] != 0){

				for (int j = 0; j < kind[i]; j++){
					cout << '*';
				}
			}

			else cout << '-';

			cout << endl;
		}
	}
}
accuracy: 1
time_ms: 10
memory_kb: 1152
final_rank: 3

code_snippet: #include <iostream>
#include <string>
#include <vector>
#include <algorithm>
#include <cmath>
#include <cstdio>
#include <functional>
#include <numeric>
#include <stack>
#include <queue>
#include <map>
#include <set>
#include <utility>
#include <sstream>
#include <complex>

using namespace std;

#define FOR(i,a,b) for(long long i=(a);i<(b);i++)
#define REP(i,N) for(long long i=0;i<(N);i++)
#define ALL(s) (s).begin(),(s).end()
#define fi first
#define se second

#define PI acos(-1.0)
#define INF 1000000007
#define EPS 1e-10

typedef long long ll;
typedef pair<ll, ll> P;
typedef pair<double, double> PD;
typedef pair<string, ll> PS;
typedef vector<ll> V;

int co[100];
int n, a;

int main(){
	while (cin >> n&&n){
		REP(i, 10)co[i] = 0;
		REP(i, n){
			cin >> a;
			co[a]++;
		}
		REP(i, 10){
			if (co[i] == 0){
				cout << "-" << endl;
			}
			else {
				REP(j, co[i])cout << "*";
				cout << endl;
			}
		}
	}
}
accuracy: 1
time_ms: 10
memory_kb: 1152
final_rank: 3

code_snippet: #include <iostream>
using namespace std;

int main()
{
  int n;

  while (cin >> n && n != 0){
    int a[10];
    for (int i = 0; i < 10; i++) a[i] = 0;
    for (int i = 0; i < n; i++){
      int s;
      cin >> s;
      a[s]++;
    }
    for (int i = 0; i < 10; i++){
      if (a[i] == 0){
        cout << '-';
      }
      while (a[i]--){
        cout << '*';
      }
      cout << endl;
    }
  }
}
accuracy: 1
time_ms: 10
memory_kb: 1152
final_rank: 3

code_snippet: #include <iostream>
using namespace std;

int main()
{
  int n;

  while (cin >> n, n){
    int num[10], m;
    for (int i = 0; i < 10; i++)  num[i] = 0;
    for (int i = 0; i < n; i++){
      cin >> m;
      num[m]++;
    }
    for (int i = 0; i < 10; i++){
      if (num[i] == 0)  cout << '-' << endl;
      else {
        for (int j = 0; j < num[i]; j++){
          cout << '*';
        }
        cout << endl;
      }
    }
  }
  return (0);
}
accuracy: 1
time_ms: 10
memory_kb: 1152
final_rank: 3

code_snippet: #include<iostream>
#include<string>
using namespace std;
int main(){
	int n,a,b[10];
	while(true){
	cin>>n;
	if(n==0)
		break;
	for(int i=0;i<10;i++)
		b[i]=0;
	for(int i=0;i<n;i++){
		cin>>a;
		b[a]++;
	}
	for(int i=0;i<10;i++){
		if(b[i]==0)
			cout<<"-"<<endl;
		else{
		for(int j=0;j<b[i];j++)
			cout<<"*";
		cout<<endl;
		}
	}
	}
    return 0;
}
accuracy: 1
time_ms: 10
memory_kb: 1152
final_rank: 3

code_snippet: #include<iostream>
#include<cstring>
using namespace std;
int n, a[10], x;
int main() {
	while (true) {
		cin >> n;
		if (n == 0) { break; }
		memset(a, 0, sizeof(a));
		for (int i = 0; i < n; i++) {
			cin >> x;
			a[x]++;
		}
		for (int i = 0; i < 10; i++) {
			if (a[i] == 0) { cout << '-' << endl; }
			else {
				for (int j = 0; j < a[i]; j++) { cout << '*'; }
				cout << endl;
			}
		}
	}
}
accuracy: 1
time_ms: 10
memory_kb: 1148
final_rank: 2

code_snippet: #include<iostream>
#define loop(i,a,b) for(int i=a;i<b;i++)
#define rep(i,a) loop(i,0,a)
using namespace std;

int main(){
	int n,cnt;
	int dt[10];
	while(cin>>n,n){
		rep(i,10)dt[i]=0;
		rep(i,n){
			cin>>cnt;
			dt[cnt]++;
		}
		rep(i,10){
			if(dt[i]==0)cout<<"-";
			else rep(j,dt[i])cout<<"*";
			cout<<endl;
		}
	}
	return 0;
}
accuracy: 1
time_ms: 10
memory_kb: 1152
final_rank: 3

code_snippet: #include<iostream>
#include<string.h>
#include<vector>
#include<list>
#include<stdio.h>
#include<math.h>
#include<iomanip>
#include<map>
#include<stack>
#include<queue>
#define range(i,a,b) for(int i = (a); i < (b); i++)
#define rep(i,b) range(i,0,b)
#define debug(x) cout << "debug " << x << endl;
using namespace std;

int main(){
    int n, inp;
    while(cin >> n,n){
    int ice[15] = {0};
    rep(i,n){
        cin >> inp;
        ice[inp]++;
    }
    rep(i,10){
        if(ice[i] == 0){
            cout << '-';
        }else{
            rep(j, ice[i]){
                cout << '*';
            }
        }
        cout << endl;
    }
    }
}
accuracy: 1
time_ms: 10
memory_kb: 1152
final_rank: 3

code_snippet: #include<iostream>
#include<string>
#include<algorithm>
#include<map>
#include<set>
#include<utility>
#include<vector>
#include<cmath>
#include<cstdio>
#define loop(i,a,b) for(int i=a;i<b;i++) 
#define rep(i,a) loop(i,0,a)
#define pb push_back
#define mp make_pair
#define it ::iterator
#define all(in) in.begin(),in.end()
const double PI=acos(-1);
const double ESP=1e-10;
using namespace std;
int main(){
  int n;
  while(cin>>n,n){
    int out[10]={0};
    rep(i,n){
      int a;cin>>a;
      out[a]++;
    }
    rep(i,10){if(out[i])rep(j,out[i])cout<<'*';else cout<<'-';cout<<endl;}
  }
}
accuracy: 1
time_ms: 10
memory_kb: 1152
final_rank: 3