xy平面上の10個の点を入力すると、x座標の値の昇順にソートし表示させたいです。
#include <stdio.h> #define N 10 int main(void) { double x[N], y[N], temp; int i, j; for (i = 0; i < N; i++){ printf("x[%d] = ?", i); scanf("%d", &x[i]); } for (j = 0; j < N; j++) { printf("y[%d] = ?", j); scanf("%d", &y[j]); } for (i = 0; i < N-1; i++) { for (j = i + 1; j < N; j++) { if (x[i] > x[j]) { temp = x[i]; x[i] = x[j]; x[j] = temp; } if (y[i] > y[j]) { temp = y[i]; y[i] = y[j]; y[j] = temp; } } for (i = 0; i < N; i++) { printf("(%8.4f, %8.4f)\n", x[i], y[i]); } } return 0; }
実際に与える 10個の座標の値の例を追記してください。
また、実行結果が得られるなら、期待する結果との違いが分かるようにしてください。
回答3件
あなたの回答
tips
プレビュー