質問: NULL){ /* ファイルオープンに失敗した場合は終了 */ printf("%s: ファイルをオープンできません!\n",file_name); return -1; } /* ファイルからデータを読み込む */ printf("データファイル名: %s\n",file_name); fscanf(fp,"%d",&ncity); /* 都市数の読み込み */ if (ncity > MAX_CITY){ printf("都市の数は%3d以下にしてください!\n",MAX_CITY); return -1; } for (i=0;i ncity || dept < 0){ printf("都市番号が無効です。\n"); return(-1); } /* 配列 visit および visit_list の初期化 */ for (i=0;i
回答: ``` #!/usr/bin/env bash set -o errexit set -o nounset R="${1}" >route.txt for i in $(seq 1 $(head -n 1 data.txt)); do echo $R sed 1d data.txt \ | sed -n ${R}p \ | xargs -n 1 echo \ | nl -n ln \ | grep -v '\t0\.0$' \ | sort -k2,2n \ | sed -n 's/\s.*//p' \ >tmp.txt while read C; do grep $C route.txt >/dev/null && continue echo $R >>route.txt R=$C break done