ページ 11

入力した数字の並び替えについて

Posted: 2018年11月23日(金) 10:26
by tend-11001
キーボードから、4×9の二次元配列に格納する整数を入力します。 入力後に、配列の行と列を逆順に並び替えて表示するプログラムを作成しましょう。そのあと入力した整数を逆に並び替える というコードを書きたいのですが

#include<stdio.h>
int main(void) {
int s[3][8];
int i, j;
int a,b,c,d,e,f,g,h,x;
for (i = 0; i < 4; i++) {
printf("%d行目>", i + 1);
scanf("%d,%d,%d,%d,%d,%d%d,%d,%d", &a,&b,&c,&d,&e,&f,&g,&h,&x);
}

}
エンターを押すと1行目、2行目とできるのですが、数字を複数入力すると1行目で終了してしまいます。
複数入力するコードはあっていると思うのですが・・・・・
入力する整数の数は1行につき9個です。
あと、入力したものを逆に並び替えるにはどのようにしたら良いのでしょうか。
以下になるようにしたいです。

1 行目 > 1 2 3 4 5 6 7 8 9⏎
2 行目 > 11 12 13 14 15 16 17 18 19⏎
3 行目 > 21 22 23 24 25 26 27 28 29⏎
4 行目 > 31 32 33 34 35 36 37 38 39⏎
並び替え後⏎
39 38 37 36 35 34 33 32 31⏎
29 28 27 26 25 24 23 22 21⏎
19 18 17 16 15 14 13 12 11⏎
9 8 7 6 5 4 3 2 1⏎

Re: 入力した数字の並び替えについて

Posted: 2018年11月23日(金) 11:18
by かずま
scanf の書式が "%d,%d,%d,%d,%d,%d%d,%d,%d" なので、
1,2,3,4,5,6 7,8,9 のように 7個の「,」をつければ入力できます。

書式を "%d%d%d%d%d%d%d%d%d" とすれば、
1 2 3 4 5 6 7 8 9 で入力できます。

Re: 入力した数字の並び替えについて

Posted: 2018年11月23日(金) 11:19
by かずま
scanf の書式が "%d,%d,%d,%d,%d,%d%d,%d,%d" なので、
1,2,3,4,5,6 7,8,9 のように 7個の「,」をつければ入力できます。

書式を "%d%d%d%d%d%d%d%d%d" とすれば、
1 2 3 4 5 6 7 8 9 で入力できます。