/*=====================================================*\
第6题(数组)
腾讯面试题:
给你10分钟时间,根据上排给出十个数,在其下排填出对应的十个数
要求下排每个数都是先前上排那十个数在下排出现的次数。
上排的十个数如下:
【0,1,2,3,4,5,6,7,8,9】
举一个例子,
数值: 0,1,2,3,4,5,6,7,8,9
分配: 6,2,1,0,0,0,1,0,0,0
0在下排出现了6次,1在下排出现了2次,
2在下排出现了1次,3在下排出现了0次....
以此类推..
\*=====================================================*/
#include <iostream>
using namespace std;
int scan(int *a,int *b,int length){
int key = 0;
for (int index = 0 ; index < length ; ++index)
{
int sum = 0;
for (int i = 0;i < length;++i)
{
if(b[i]==a[index])
++sum;
}
if (b[index]==sum)
{
++key;
}else{
b[index] = sum;
}
}
return key;
}
void print(int *a,int length){
for(int i = 0;i < length;++i){
cout << a[i] << " ";
}
cout << endl;
}
int main(){
int a[10] = {0,1,2,3,4,5,6,7,8,9};
int b[10] = {0,0,0,0,0,0,0,0,0,0};
int length = 10;
while(scan(a,b,10)!=10);
print(a,length);
print(b,length);
return 0;
}