自定义矩阵行数列数左上右上右下坐标,要求用C++语言求出矩阵所有坐标
时间: 2023-05-26 13:03:27 浏览: 45
解题思路:
根据题目所给的参数,我们可以确定矩阵的行数和列数,以及左上、右上、右下坐标。然后,我们可以通过双重循环,得到矩阵所有的坐标,并输出。
代码实现:
```c
#include <stdio.h>
int main() {
int m, n, x1, y1, x2, y2;
// 输入矩阵的参数
printf("请输入矩阵的行数、列数,以及左上、右上、右下坐标:\n");
scanf("%d%d%d%d%d%d", &m, &n, &x1, &y1, &x2, &y2);
// 获取矩阵所有坐标
for (int i = 1; i <= m; i++) {
for (int j = 1; j <= n; j++) {
// 判断当前坐标是否在矩形内部
if (i >= x1 && i <= x2 && j >= y1 && j <= y2) {
// 输出当前坐标
printf("(%d, %d) ", i, j);
}
}
}
return 0;
}
```
测试结果:
1. 输入:
```plaintext
请输入矩阵的行数、列数,以及左上、右上、右下坐标:
4 5 2 2 3 4
```
输出:
```plaintext
(2, 2) (2, 3) (2, 4) (3, 2) (3, 3) (3, 4)
```
2. 输入:
```plaintext
请输入矩阵的行数、列数,以及左上、右上、右下坐标:
3 4 1 2 2 4
```
输出:
```plaintext
(1, 2) (1, 3) (1, 4) (2, 2) (2, 3) (2, 4)
```
3. 输入:
```plaintext
请输入矩阵的行数、列数,以及左上、右上、右下坐标:
5 6 1 1 5 6
```
输出:
```plaintext
(1, 1) (1, 2) (1, 3) (1, 4) (1, 5) (1, 6) (2, 1) (2, 2) (2, 3) (2, 4) (2, 5) (2, 6) (3, 1) (3, 2) (3, 3) (3, 4) (3, 5) (3, 6) (4, 1) (4, 2) (4, 3) (4, 4) (4, 5) (4, 6) (5, 1) (5, 2) (5, 3) (5, 4) (5, 5) (5, 6)
```