10個の整数を入力し、その入力整数の並びを、「整数」とその整数が「連続する個数」の組に変形して出力するプログラムを作成しなさい。
以下のような実行結果になるようにプログラムせよと出たんですが
ST-PC273L % ./rlen.exe
99 99 99 99 99 99 99 99 99 99
99 10
ST-PC273L % ./rlen.exe
128
128
128
128
128
72
128 5
72
72
235
72 3
235
235 2
ST-PC273L % ./rlen.exe
10 20 30 40 50 60 70 80 90 100
10 1
20 1
30 1
40 1
50 1
60 1
70 1
80 1
90 1
100 1
ST-PC273L % ./rlen.exe
255
255
255
255
255
255
255
255
100
255 8
255
100 1
255 1
どうしても僕の考えたプログラムでは以下のようになるんです
ST-PC273L % ./rlen.exe
99 99 99 99 99 99 99 99 99 99
99 10
ST-PC273L % ./rlen.exe
128
128
128
128
128
72
128 5
72
72
235
72 3
235
235 2
ST-PC273L % ./rlen.exe
10 20 30 40 50 60 70 80 90 100
10 1
20 1
30 1
40 1
50 1
60 1
70 1
80 1
90 1
90 1
ST-PC273L % ./rlen.exe
255
255
255
255
255
255
255
255
100
255 8
255
100 1
100 1
下から2つの実行結果の一番下の数字が答え通りにならないんです。
どうしたらできますか?
僕の考えたプログラムは、以下に書いている奴なんですがどうしたらいいんでしょうか?
教えてくれませんか。お願いします。
#include
int main(void){
int a, i, last;
int count = 0;
int flag = 0;
scanf("%d", &a);
for(i = 1; i < 10; i++){
last = a;
count++;
scanf("%d", &a);
if(a == last){
flag = 1;
}
else{
printf("%d %d\n", last, count);
count = 0;
}
}
count = count + 1;
printf("%d %d\n", last, count);
return 0;
}
答えの実行結果と同じようになりません。どうしたらいいか教えてください
答えの実行結果と同じようになりません。どうしたらいいか教えてください
最後に編集したユーザー ひろゆき on 2010年10月20日(水) 20:17 [ 編集 1 回目 ]
Re: 答えの実行結果と同じようになりません。どうしたらいいか教えてください
お初です。日記を見させて頂きました。
おそらくこれで動くと思われます。
一行削除して、二行追加しただけなので見比べて貰えればどこが変わったのかわかると思います。
一応、どうしてこうなるのかは考えて見てくださるとご自身のためになると思われます。
おそらくこれで動くと思われます。
#include
int main(void){
int a, i, last;
int count = 0;
int flag = 0;
scanf("%d", &a);
last = a;
for(i = 1; i < 10; i++){
count++;
scanf("%d", &a);
if(a == last){
flag = 1;
}else{
printf("%d %d\n", last, count);
count = 0;
}
last = a;
}
count = count + 1;
printf("%d %d\n", last, count);
return 0;
}
一応、どうしてこうなるのかは考えて見てくださるとご自身のためになると思われます。