---
# System prepended metadata

title: 作業の全体像

---

# 作業の全体像
1．ファイルの読み込み(あくまでファイルの指定にかかる部分)
引数がない時は標準入力からファイル名を読み取る
↑標準入力の時、複数ファイルの読み込みは必要？？
argcの値で場合分けが可能

2．マップの読み込み(ファイルが存在した前提)
0行目の必要事項をチェック（なかったらエラー・余計なものがあればエラー）
(余計なものは別にはじく必要ない？？かな。。)
1行目（マップ本体）を読み取り（指定行数でループ）
（指定回数読み取れなかったらエラー）
（あと、指定行数分読み取ったのにまだ続きがあったらエラー）
（中身に指定文字以外があればエラー）
★エラーは標準エラー出力に出して、次のマップの処理に移る

3．最大正方形の探索
これはネットに載っているやつで行ける？

(追記)
http://algorithms.blog55.fc2.com/blog-entry-131.html
(↑これおすすめです)

4．正方形の描画
これは簡単！！

＃必要な関数リスト
例）（データ型）関数名（引数）；関数の具体的な挙動：対応中（ユーザー名）or完了（ユーザー名）※提案者と製作者別アリ
1 （int）max_y(char **str);二次元配列を引数で受け取って、最も高い数値があるｙ座標を返す：対応中(yshinjo)
2(void)printMaxSubSquare(int M[R][C]);二次元配列を受け取って、最大の正方形を描く：完了(tachiba)
3（int）maxvalue_line(char *str);一次元配列を引数で受け取って、その中の最も高い数値を返す：完了(yshinjo)
4（int）max_x(char *str);一次元配列を引数で受け取って、最も高い数値があるx座標を返す:完了(yshinjo)
5(int)check_flame_xysame(char **str);二次元配列を受け取って、str[i][j]のときにi!=jなら1を返す。途中でstrlen(str[0])!=strlen(str[i++])のときも１を返す：対応中(yshinjo)
6