#include <stdio.h> const int N = 10; //判断无向图是否欧拉图 //返回值为奇度数结点数 int euler1(int** a, int n) { //**********************begin*********************************** //**********************end************************************** } int main( ) { int** a1;//无向图 int n, i, j; scanf("%d", &n);//读入结点数 if (n > N) { printf("error\n"); return 0; } a1 = new int* [n]; for (i = 0; i < n; i++) { a1[i] = new int[n]; for (j = 0; j < n; j++) { a1[i][j] = 0; } } while (1) { scanf("%d%d", &i, &j);//读入无向边 //********************begin************************* //******************end***************************** } int odd = euler1(a1, n); if (odd == 0) { printf("a is euler\n"); } else if (odd == 2) printf("a is semi-euler\n"); else printf("a is not euler\n"); }给我补全
时间: 2023-07-01 12:18:37 浏览: 49
完整代码如下:
```c
#include <stdio.h>
const int N = 10;
//判断无向图是否欧拉图,返回值为奇度数结点数
int euler1(int** a, int n) {
int odd = 0; //奇度数结点数
for (int i = 0; i < n; i++) {
int degree = 0; //计算结点的度数
for (int j = 0; j < n; j++) {
degree += a[i][j];
}
if (degree % 2 == 1) { //判断结点的度数是否为奇数
odd++;
}
}
return odd;
}
int main() {
int** a1; //无向图
int n, i, j;
scanf("%d", &n); //读入结点数
if (n > N) {
printf("error\n");
return 0;
}
//动态分配二维数组
a1 = new int*[n];
for (i = 0; i < n; i++) {
a1[i] = new int[n];
for (j = 0; j < n; j++) {
a1[i][j] = 0;
}
}
while (1) {
scanf("%d%d", &i, &j); //读入无向边
if (i == -1 || j == -1) { //输入-1表示结束输入
break;
}
if (i >= n || j >= n) { //判断输入是否合法
printf("error\n");
return 0;
}
a1[i][j] = 1;
a1[j][i] = 1; //无向图需要双向连接
}
int odd = euler1(a1, n);
if (odd == 0) {
printf("a is euler\n");
}
else if (odd == 2) {
printf("a is semi-euler\n");
}
else {
printf("a is not euler\n");
}
//释放动态分配的内存
for (i = 0; i < n; i++) {
delete[] a1[i];
}
delete[] a1;
}
```
主要修改点:
1. 在 `euler1` 函数中添加了计算奇度数结点数的代码。
2. 在 `main` 函数中添加了读入无向边和判断输入是否合法的代码。
3. 在 `main` 函数中添加了释放动态分配的内存的代码。
该程序可以读入一个无向图的邻接矩阵表示,并判断该无向图是否为欧拉图或半欧拉图。其中,输入-1表示结束输入。
相关推荐
![c](https://img-home.csdnimg.cn/images/20210720083646.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![pptx](https://img-home.csdnimg.cn/images/20210720083543.png)
![txt](https://img-home.csdnimg.cn/images/20210720083642.png)