- 締切済み
数列を2桁数にしたい
0と1からなる5000桁の数があります。 011101110000101010・・・ このようなものです。 これを2つの数字ごとに改行で分けたいんですがどうすればできますか? 01 11 01 11 00 ・ ・ ・ こんな感じにしたいんですが。
- みんなの回答 (5)
- 専門家の回答
みんなの回答
- yama5140
- ベストアンサー率54% (136/250)
(2日経過したけど・・、具体的な糸口が判らないのですね?) http://www.kumei.ne.jp/c_lang/index_c.html ------------------------------------------ 《仮定》 ・011101110000101010・・・は「テキストファイル」として記録されている。 ・2桁(2文字)毎に改行し、画面表示または「テキストファイル」に記録する。 ☆これに対応するプログラム例を下に示します(BorlandC++5.6.4)。 ・fgets() を用いて2文字ずつ、ファイル終端まで読み込みます。 http://www.bohyoh.com/CandCPP/C/Library/fgets.html ・出力の切り替えは、実行時のコマンドラインで指定します。 画面表示:Hoge.exe ichiretsu.txt ファイル:Hoge.exe ichiretsu.txt > Futaketa.txt 「リダイレクト」といいます。 ↑ ------------------------------------------ #include <stdio.h> #include <stdlib.h> void main( int argc, char *argv[] ) { FILE *fp; char cBuf[8]; if( argc < 2 ) exit( 0 ); fp = fopen( argv[1], "r" ); if( NULL == fp ) exit( 0 ); while( NULL != fgets( cBuf, 3, fp ) ){ // 2文字ずつ( 3 - 1 ) printf( "%s\n", cBuf ); // リダイレクト対象ステップ } fclose( fp ); } 注:インデントに全角空白を用いています。タブに一括変換して下さい。
- JaritenCat
- ベストアンサー率37% (122/322)
・1文字読んでそれを表示 ・1文字読んでそれを表示 ・改行を表示 これを5000桁分繰り返すだけだと思います。
- arain
- ベストアンサー率27% (292/1049)
(5000桁の保持方法がわからないので) 元がテキストファイルで「1」と「0」の文字として記録されているのであれば、2文字ずつ読み込んで表示していくだけ。
- asuncion
- ベストアンサー率33% (2127/6289)
> 0と1からなる5000桁の数があります。 どこにあるのでしょうか?ファイルですか? 5000桁で固定ですか?
- fifaile
- ベストアンサー率25% (622/2403)
文字列型で読んできて、2文字ずつ切り出せばいいでしょうけど、 何が分からないんですか? ソースを丸ごと書き出すことはできませんけど。