標準入力からテキストを入力し、それを元に三つのファイルredとgreenとblueを作るプログラムを書け。
どんなに長い行にも対応できるプログラムが望ましい。難しければ、行の長さ(改行文字を除く文字数)が1024未満であると仮定しても良い。
行番号を で割って 余る行をファイルredに、 余る行をファイルgreenに、割り切れるファイルをblueに書き込む。なお、行番号は から始まるものとする。
行番号が の形で書ける行をファイルredに、 の形で書ける行をファイルgreenに、その他の行をファイルをblueに書き込む。ただし、 は非負整数、 は 以外の素数とする。なお、行番号は から始まるものとする。
#で始まる行をファイルredに、%で始まる行をファイルgreenに、その他の行をファイルblueに書き込む。
アルファベットで始まる行をファイルredに、数字で始まる行をファイルgreenに、その他の行をファイルblueに書き込む。
[やや難]
#で始まりその次の文字がアルファベットである行をファイルredに、%で始まりその次の文字が数字である行をファイルgreenに、その他の行をファイルblueに書き込む。
二つのテキストファイルgoldとsilverがあるとする。以下を行うプログラムをそれぞれ書け。
まず、ファイルgoldの中身を標準出力に出力し、その後、ファイルsilverの中身を標準出力に出力する。
ファイルgoldの中身とファイルsilverの中身を行ごとに交互に標準出力に出力する。すなわち、ファイルgoldの1行目、ファイルsilverの1行目、ファイルgoldの2行目、ファイルsilverの2行目、ファイルgoldの3行目、ファイルsilverの3行目、……のように標準出力に出力する。どちらかのファイルが先に尽きたら、残りはそのまま出力するものとする。
標準入力からテキストを入力し、各行ごとに以下の処理を行って標準出力に出力するプログラムを書け。ただし、各行は以下の書式であると仮定して良い。
最初の文字が A のときはその行に最初に出現する整数を、a のときは最後に出現する整数を、M のときはその行の整数の最大値を、m のときは最小値を出力する。それ以外のときは * だけからなる行を出力する。