Итак, я совершенно не знаком с указателями, я прошу прощения за это, я должен передать массив указателей и получить режим этого массива. После того, как массив проходит как набор указателей, я не могу манипулировать массивом, чтобы найти этот режим, все, что я пытаюсь получить в результате синтаксической ошибки.Как найти режим массива, передав указатель этого массива функции? C++
EDIT: я изменил список на массив указателей, и я получаю ошибку времени выполнения.
int main()
{
int size=0;
int *list[size];
cout<<"Please enter the size of your array: ";
cin>>size;
cout<<"\nPlease enter the numbers in your list seperated by spaces: ";
for(int i=0;i<size;i++)
{
cin>>*list[i];
}
cout<<endl;
int mode=getMode(list,size);
cout<<"\n"<<mode<<endl;
return 0;
}
int getMode (int* list[], int arraySize)
{
cout<<"The array you entered is listed below\n "<<list[0];
for(int i=0;i<arraySize;i++)
{cout<<setw(3)<<list[i];}
int *number=list[0];
int count1=0;
int count2=0;
int mode=0;
for(int j=1;j<arraySize;j++)
{
for(int i=1;i<arraySize;i++)
{
if(list[i]==number)
{
count1++; //counts the number of instances that the number occurs
}
}
if(count1>count2)
{
mode= *list[j];
count2=count1;
}
count1=0;
}
return mode;
}
'list' представляет собой массив целых чисел, а не массив указателей. – Barmar
Когда вы передаете массив функции, он автоматически распадается на указатель. Вам не нужно использовать '& list'. – Barmar
Когда я пытаюсь сделать список в обычный массив int, а затем передаю его без ссылочного тега, консоль сообщает мне, что он не может преобразовать тип int * в int ** в вызове функции. –