pta7-7求矩阵元素最大最小值
时间: 2024-02-17 15:03:45 浏览: 89
这道题可以使用两个变量 `maxn` 和 `minn` 分别记录矩阵中的最大值和最小值,然后遍历整个矩阵,更新 `maxn` 和 `minn` 的值即可。
以下是 C++ 的代码实现:
```c++
#include <iostream>
#include <algorithm>
using namespace std;
const int N = 110;
int a[N][N];
int main()
{
int n, m;
cin >> n >> m;
int maxn = -1e9, minn = 1e9;
for (int i = 0; i < n; i++)
for (int j = 0; j < m; j++)
{
cin >> a[i][j];
maxn = max(maxn, a[i][j]);
minn = min(minn, a[i][j]);
}
cout << maxn << " " << minn << endl;
return 0;
}
```
这里假设输入的矩阵大小为 $n \times m$,矩阵中的元素为整数类型。
相关问题
pta7-15 矩阵转置
题目描述
矩阵的转置是指将矩阵的行列互换得到一个新矩阵。
现在给定一个 $N × M$ 的矩阵,请你编写程序,将它转置后的矩阵输出。
输入格式
第一行包含两个整数 $N$ 和 $M$,表示矩阵的行数和列数。
接下来 $N$ 行,每行包含 $M$ 个整数,表示矩阵中的元素。
输出格式
输出转置后的矩阵,行数等于矩阵的列数,列数等于矩阵的行数。
每行 $M$ 个整数,表示转置后矩阵中的一行元素。
数据范围
$1≤N,M≤1000$,矩阵中元素的绝对值不超过 $10000$。
输入样例
3 4
1 2 8 9
9 3 0 7
4 5 6 7
输出样例
1 9 4
2 3 5
8 0 6
9 7 7
C++ 代码
```cpp
#include<iostream>
using namespace std;
const int N = 1010;
int a[N][N], b[N][N];
int main()
{
int n, m;
cin >> n >> m;
for(int i = 0; i < n; i ++ )
for(int j = 0; j < m; j ++ )
cin >> a[i][j];
for(int i = 0; i < m; i ++ )
for(int j = 0; j < n; j ++ )
b[i][j] = a[j][i];
for(int i = 0; i < m; i ++ )
{
for(int j = 0; j < n; j ++ )
cout << b[i][j] << ' ';
cout << endl;
}
return 0;
}
```
pta7-53删除重复元素
这道题目可以使用 STL 中的 set 容器来实现。具体步骤如下:
1. 定义一个 set 容器用于存储不重复的元素;
2. 依次读入每个元素,如果该元素不在 set 容器中,则将其插入 set 容器中,并输出该元素;
3. 如果该元素已经在 set 容器中,则直接跳过,不进行操作。
下面是示例代码:
```c++
#include <iostream>
#include <set>
using namespace std;
int main() {
set<int> s; // 定义 set 容器
int n, x;
cin >> n;
for (int i = 0; i < n; i++) {
cin >> x; // 读入元素
if (s.find(x) == s.end()) { // 如果该元素不在 set 容器中
s.insert(x); // 将该元素插入 set 容器中
cout << x << " "; // 输出该元素
}
}
return 0;
}
```
当然,你也可以使用其他的数据结构来实现,比如数组、链表等。
阅读全文