есть игра, в которой эта программа должна играть в X-boom, она должна вынимать х-игрока каждый ход и помещать его в конец массива, а затем укорачивать массив, чтобы он больше не был частью этогофункция.например
игрок 1 2 3 4, а x для игры - 3
осталось игроков: 1 2 4
осталось игроков: 1 4
осталось игроков: 1
Я сделал этот код, который, я думаю, должен это сделать, но я не уверен, почему он не работает должным образом
У меня есть фотография того, как должен выглядеть вывод, но яНе знаю, как поделиться этим здесь, если кто-нибудь знает, пожалуйста, скажите мне в комментариях, моя проблема в основном связана с уведомлением о функции воспроизведения, что выбрано число 3 в массиве, вы должны продолжать играть с номера 3 только, что будеттам появился новый указатель
Я попытался решить эту проблему, просто перейдя к тому, который нужно отбросить, и сделав перестановку, чтобы он вернулся, переместив всех остальных вперед, а затем сократив массив на 1
в конце главная функция напечатает массив, и это должно быть так, чтобы первый игрок, которого пнули, был последним в массиве
void get_boom_number(int * i){
printf("enter the boom number\n");
scanf("%d",i);
return ;
}
#define LENGTH 31
void play(char * players[],int length,int boomnum){
int count=-1;
count = (count+boomnum-1)%(length);
char * temp;
for (int i = 0; i<30; i++) {
printf("%d\n",count);
for (int start=count; start<length-1; start++) {
temp=*(players+start);
*(players+start)=*(players+start+1);
*(players+start+1)=temp;
}
count=(count+boomnum-1)%(length);
length=length-1;
}
return ;
}
int main()
{
char * players[LENGTH]={"Tyrion Lannister","Daenerys Targaryen","Jon Snow","Arya Stark","Theon Greyjoy", "Joffrey Baratheon","Khal Drogo","Ted Mosby","Marshall Eriksen","Robin Scherbatsky","Barney Stinson", "Lily Aldrin", "Tracy McConnell", "Ted Mosby", "Leonard Hofstadter","Sheldon Cooper", "Penny", "Howard Wolowitz", "Raj Koothrappali", "Bernadette Rostenkowski-Wolowitz","Amy Farrah Fowler", "Gregory House", "Lisa Cuddy", "James Wilson","Eric Foreman", "Allison Cameron", "Robert Chase" ,"Lawrence Kutner", "Chris Taub","Remy 13 Hadley", "Amber Volakis"};
int boom_number, i;
get_boom_number(&boom_number);
play(players,LENGTH,boom_number);
, а затем просто печаталмассив также не разрешается использовать "[]" для дырки.