01/10/2018, 14:53
Mọi người giúp em với ạ! Em làm mà in ra mảng p chỉ hiện p[0], xin mọi ngời xem giúp hộ e mã code sai đâu ạ!
#include<stdio.h>
#include<conio.h>
#include<stdlib.h>
void nhapcanh(int a[100000],int b[100000],int n){
for(int i=0;i<n;i++){
printf(" ");
scanf("%d %d",&a[i],&b[i]);
}
}
void prufercode(int a[100000],int b[100000],int p[100000], int n,int y,int k,int x,int j){
while(n!=0){
for(int i=0;i<n;i++){
if(a[i]==k||b[i]==k) x++;
}
if(x==1){
for(int i=0;i<n;i++){
if(a[i]==k){
p[j]=b[i];
y=i;
}
else if(b[i]==k){
p[j]=a[i];
y=i;
}
}
for(int i=0;i<n;i++){
if(a[i]==k||b[i]==k){
for(int i=y;i<n;i++){
a[i]=a[i+1];
b[i]=b[i+1];
}
}
}
j+=1;
}
k+=1;
n-=1;
}
}
void xuatma(int a[100000],int n){
for(int i=0;i<n;i++){
printf("%5d",a[i]);
}
printf("
");
}
main(){
int n,y,k=1,x=0,j=0;
int a[100000],b[100000],p[100000];
do{
printf("So canh n=");
scanf("%d",&n);
}while(n<=0||n>=100000);
int m=n;
nhapcanh(a,b,n);
prufercode(a,b,p,n,y,k,x,j);
xuatma(p,m-1);
xuatma(a,m);
xuatma(b,m);
getch();
return 0;
}
Bài liên quan