Предположим, что у меня есть массив struct, и каждый элемент имеет имя. Как:Поиск строки внутри массива char с использованием Divide и Conquer
struct something{
char name[200];
}a[NMAX];
Учитывая новую строку (массив символов), мне нужно найти правильный индекс для его использования разделяй и властвуй. Как:
char choice[200];
cin>>chioce;
int k=myFunction(choice); // will return the index, 0 otherwise
// of course, could be more parameters
if(k)
cout<<k;
Я не знаю, как создать эту функцию испытующе (я пробовал, я знаю, как C работает D &, но я все еще учусь!).
И нет, я не хочу использовать строки!
Это то, что я пробовал:
int myFunction(char *choice, int l,int r) // starting with l==0 && r==n-1
{
int m;
if(strcmp(a[m].name,choice)==0)
return m;
else{
m=(l+r)/2;
return myFunction(choice,l,m-1);
return myFunction(choice,m+1,r);
}
}
И вы не используете 'std :: string', потому что ...? – user657267
Помогите мне использовать символы, я еще не знаю строк. –
Вы должны включить то, что вы пробовали, это поможет вам больше, если люди будут предлагать улучшения, найти ошибки, чем предоставить рабочий пример. –