C言語なら、俺に聞け! <27>
■ このスレッドは過去ログ倉庫に格納されています
0653デフォルトの名無しさん
NGNGデータが0と1しか含まないと仮定して、以下の方法でプログラムを作成してください。
getcharコマンドで、入力データの1行目を読み取り、配列aに代入(1行に38文字あるが、最後の1文字は改行文字と仮定)してカウンターの値を1に初期化する。
<最初に読んだ文字(a[0]の値)が続いている間は、カウンターの値輪1ずつ増やして読んだ文字が今までと違った(文字の連続が終わっ
た)時点でカウンターの値をプリントして1の場合にはそのまま数字をプリ
ントして0の場合には、符号をマイナスにしてプリントする。カウンター
の値を1に再初期化>して<>の間を繰り返す。2行目以降を同時に処理し
てください。
条 件:・配列aを引数として、0または1の数をプリントする関数を作成してください。
・サンプルデータは
0000000000000000111100000000000000000
0000000000011111111111111000000000000
0000000000001100000000110000000000000
0000000000000111000011100000000000000
0000000000000011100111000000000000000
0000000000000011100111000000000000000
0000000000000001111110000000000000000
0000000000000001111110000000000000000
0000000000000111111111100000000000000
0000000000011111000011111000000000000
0000000001111000000000011110000000000
0000000011100000000000000111000000000
0000001110000000000000000001110000000
0000111100000000000000000000111100000
0001111000000000000000000000011110000
0001111000000000000000000000011110000
0000111100000000000000000000111100000
0000001110000000000000000001110000000
0000000001111111111111111111000000000
0000000000000111111111100000000000000
0000000000000000000000000000000000000
#include<stdio.h>
int main(void)
{
int i, j ,counter;
int a[20][38];
char ch;
for(i=0; i<21; i++){
for(j=0; j<38; j++){
a[i][j]=getchar();
}}
for(i=0; i<21; i++){
for(j=0; j<38; j++){
printf("%c",a[i][j]);
}}}
このプログラムの後に1行目は0が16個、1が4個、0が17個であるので16,4,17というように表示したいのですがで
きません。
16,4,17
11,14,12
:
:
:
:
と表示したいのです。どうぞお願いします。
■ このスレッドは過去ログ倉庫に格納されています