/*== Ex13 配列によるデータ構造 =======*/ /*===================================== * 次の形のデータ構造を定義します。 * 配列 nEmployees[i]     (グループi の従業員employee数) * 配列 empName[i][j][] * (グループ i の j 番目の従業員名) * 配列 empAge[i][j] * (グループ i の j 番目の従業員の年齢) *====================================*/ #include "pseudo.h" /*------------------------------------*/ #define NAMES (20+1) #define EMPS (50+1) #define GROUPS (10+1) /*------------------------------------*/ TYPE VOID FUNC InpGroup( INT nGroups, INT nEmployees[], CHAR empName[][EMPS][NAMES], INT empAge[][EMPS] ) VAR INT i, j; BEGIN FOR ( i, 1, nGroups) WriteS("グループ "); WriteI( i); WriteS(" の従業員数? "); ReadInt( nEmployees[i]); FOR( j, 1, nEmployees[i]) WriteS("氏名,年齢? "); ReadString( empName[i][j]); ReadInt( empAge[i][j]); ENDFOR ENDFOR END /*===================================*/ FUNCTION Main() VARIABLE INT nGroups; StaticINT nEmployees[ GROUPS]; StaticCHAR empName[GROUPS][EMPS][NAMES]; StaticINT empAge[ GROUPS][ EMPS]; INT i, j; BEGIN WriteS("グループ数? "); ReadInt( nGroups); InpGroup( nGroups, nEmployees, empName, empAge); FOR (i, 1, nGroups) FOR( j, 1, nEmployees[i]) DebugString( empName[i][j]); DebugInt( empAge[i][j]); ENDFOR ENDFOR END /*===================================*/