#include<stdio.h>
#include<stdlib.h>
#include<math.h>
#define MAX_LEN_ARR 1000
#define true 1
#define false 0
int max,n;
//nhập lần lượt từng giá trị cho đến khi gặp số 0, với mỗi giá trị nhập vào tăng biến n lên 1 đơn vị
void nhapMang(int a[])
{
n=0;
for(int i=0;1;i++)
{
scanf("%u",&a[i]);
n+=1;
if(a[i]==0)
break;
return n;
}
}
//tìm số chữ số của từng số ở mảng array và lưu vào vị trí tương ứng của mảng dem[]
void demsochuso(int a[],int dem[], double log(int a[]))
{
for(int i=0;i<n;i++)
{
dem[i]=(int)(log(a[i])/log(2));
if(a[i]==1)
dem[i]=1;
}
}
//tìm ra số chữ số lớn nhất ở mảng đếm
int timDemMax(int dem[], int a[])
{
max=dem[0];
for(int i=0;i<n;i++)
{
{
if(dem[i]>=max)
max=dem[i];
}
return max;
}
}
//đối chiếu max ở mảng đếm sẽ tìm ra đc số ở mảng array tương ứng
void inDemMax(int dem[],int a[])
{
for(int i=0;i<n;i++)
{
if(dem[i]==max)
printf("%d ",a[i]);
}
}
int main()
{
int t;
int arr[MAX_LEN_ARR],dem[MAX_LEN_ARR];
scanf("%d",&t);
while( t>0 )
{
nhapMang(arr);
demsochuso(arr, dem,log);
timDemMax(dem, arr);
inDemMax(dem, arr);
printf("\n");
t--;
}
}
cho em hỏi bài này em sai ở đâu ạ