Создайте массив, в котором каждый элемент заполнен структурой (в C) - PullRequest
0 голосов
/ 15 июня 2019

Я должен создать игру в крестики-нолики.Я создал двумерный массив для игрового поля, в котором элементы изменялись от 1 до 9, и во время игры их можно было изменить на «Х» или «О». Однако в моих инструкциях сказано, что я должен сделать массив, заполненныйструктура в каждом элементе. Я хотел знать, как я могу достичь этого. РЕДАКТИРОВАТЬ: как добиться размещения каждой структуры внутри массива, что является частью, которую я не совсем понимаю.

Это инструкцииМой профессор: «Чтобы создать эту игру, вы должны использовать массив, в котором каждый элемент является элементом игрового поля, а в каждом элементе должна быть структура, имеющая атрибуты« mark »и« symbol », чтобы проверить, является ли элементпусто и, если это не так, какая часть была помещена или будет помещена "

Я ранее делал одну структуру с девятью атрибутами, как это:

   struct Sitio {
      char a1, a2, a3, b1, b2, b3, c1, c2, c3;
   };

   struct Sitio valor = {0};

   void Valores() {
       valor.a1 = '1';
       valor.a2 = '2';
       valor.a3 = '3';
       valor.b1 = '4';
       valor.b2 = '5';
       valor.b3 = '6';
       valor.c1 = '7';
       valor.c2 = '8';
       valor.c3 = '9';
   }

   char *num[3][3] = {
      {&valor.a1, &valor.a2, &valor.a3},
      {&valor.b1, &valor.b2, &valor.b3},
     {&valor.c1, &valor.c2, &valor.c3}
   };

, которая работала без ошибок, но мои инструкции говорят мне, что я должен создать структуру для каждого и для каждой структуры с двумя атрибутами, как я упоминал ранее.

1 Ответ

1 голос
/ 15 июня 2019

Насколько я понял, ваша структура должна иметь атрибут "mark", который будет сообщать, является ли этот элемент пустым, или другой атрибут "symbol", который будет содержать символ, если он есть.

Вот как это должно быть:

struct element {
    int mark;
    char symbol;
};

где mark может быть 0 (если элемент пуст) и 1 (если он содержит символ). Вы можете объявить массив структур следующим образом:

struct element arr[9];

Я не могу помочь вам написать проект, потому что это ваше задание, и оно будет очень специфичным для вашего случая и не будет предлагать другую помощь для кого-либо еще. Я требую, чтобы вы прочитали больше о структурах в C.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...