Мне нужно смоделировать периодическую таблицу в C для образовательного программного проекта (это в основном викторина).Выбор случайной структуры ее членами
Я уже создал структуру и объявил все элементы. Теперь я должен написать функцию, которая выбирает один элемент случайным образом.
Это моя структура:
typedef struct{
char name[15];
char shortname[3];
int group;
int period;
}element;
element hydrogen={"hydrogen", "H", 1, 1}, helium={"Helium", "He", ...
Я уже пытался объединить их в массив, чтобы генерировать случайный индекс:
element elements[118];
elements[1] = {"hydrogen", "H", 1, 1};
но только дал мне ошибки :(
Любые идеи?
Вы можете определить массив, например. например: '' таблица элементов [118] = {{"hydrogen", "H", 1, 1}, ...}; '' – BitTickler
Примечание: 'char shortname [3];' слишком мал для [_temporary систематический символ IUPAC_] (https://en.wikipedia.org/wiki/Systematic_element_name), такой как [«Uue»] (https://en.wikipedia.org/wiki/Ununennium). Лучше использовать '#define SHORTNAME_N 4 ... char shortname [SHORTNAME_N];' 'имя символа [15];' тоже выглядит слишком маленьким. – chux
OTOH [«Rutherfordium»] (https://en.wikipedia.org/wiki/Rutherfordium), похоже, является самым длинным именем символа [NAME_N]; 'needing # #define NAME_N (14/* или больше * /) '. – chux