admin Tâm vào duyệt dùm bài này
2 posters
k4info :: Khu vực học tập :: Học Tập
Trang 1 trong tổng số 1 trang
admin Tâm vào duyệt dùm bài này
- Code:
#include<stdio.h>
#include<conio.h>
#include<malloc.h>
typedef int songuyen;
typedef struct Node{
songuyen A;
struct Node *Next;
};
typedef struct Node* vitri;
typedef vitri List;
void MakeNull_List(List &Header){
Header=(Node*)malloc (sizeof(Node));
Header->Next=NULL;
}
int Empty_List(List L){
return (L->Next==NULL);}
void Insert_List(songuyen X, vitri P, List &L){
vitri T;
T=(Node*)malloc(sizeof(Node));
T->A=X;
T->Next=P->Next;
P->Next=T;
}
void Delete_List(vitri P, List &L){
vitri T;
if(P->Next!=NULL){
T=P->Next;
P->Next=T->Next;
free (T);}
}
vitri Locate(songuyen X, List L){
vitri P;
int Found=0;
P=L;
while ((P->Next!=NULL)&(Found=0))
if(P->Next->A==X)Found=1;
else P=P->Next;
return P;
}
songuyen Retrieve(vitri P, List L){
if(P->Next!=NULL)
return P->Next->A;
}
vitri First(List L){
return L;}
vitri EndList(List L){
vitri P;
P=First(L);
while(P->Next!=NULL)P=P->Next;
return P;}
vitri vitri_n(int n, List L){
int i=1;
vitri P;
P=L;
while(P->Next !=NULL && i<n){
P=P->Next;
i=i+1;
}return P;
}
void Sort(List &L){
vitri P,Q;
songuyen temp;
P=L->Next;
while(P!=NULL){
Q=P->Next;
while(Q!=NULL){
if(P->A>Q->A){
temp=P->A;
P->A=Q->A;
Q->A=temp;}
Q=Q->Next;}
P=P->Next;}
}
void Read_List(List L){
songuyen X;
printf("\nnhap vao danh sach cac so nguyen, -1 de dung\n");
MakeNull_List(L);
do{printf("X=");scanf("%d");
Insert_List(X,EndList(L),L);
}while(X!=-1);
}
void Print_List(List L){
vitri P;
P=L->Next;
while(P!=NULL){
printf("%5d",P->A);
P=P->Next;}
}
main (){
songuyen X;
int n;
List L;
vitri P;
Read_List(L);
Print_List(L);
printf("\nEnter a list o f interger numbers. -1 to stop.\n");
scanf("%d",&X);
printf("vi tri can them ,n=");
scanf("%d",&n);
P=vitri_n(n,L);
Insert_List(X,P,L);
printf("danh sach sau khi them %d la:\n",X);
Print_List(L);
printf("Nhap vao 1 phan tu de xoa,x=");
scanf("%d",&X);
P=Locate(X,L);
if(P->Next!=NULL)Delete_List(P,L);
printf("\n danh sach sau khi xoa %d la:\n",X);
Print_List(L);
Sort(L);
printf("\n danh sach sau khi duoc sap xep la\n",X);
Print_List(L);
getch();
}
matsususu- Posts : 146
Thanked : 11
24/02/2011
Tài Sản
Thú nuôi:
Re: admin Tâm vào duyệt dùm bài này
sao khi tham khảo đã tìm ra lỗi
matsususu- Posts : 146
Thanked : 11
24/02/2011
Tài Sản
Thú nuôi:
Re: admin Tâm vào duyệt dùm bài này
Nguyễn ơi làm bài gì mà sai tùm lum thế sửa tùm lum hết trơn mấy cái hàm cơ bản cũng sai nữa hàm Retrieve ,Locate,First(list)... còn những cái dòng nhỏ trong mấy lệnh if cũng sai nữa, nhớ là điều kiện so sánh là (!= "khác", so sánh bằng thì "==",
Còn nửa các hàm FirstList(L); Retrieve (P,L), EndList(L) phải khai báo trước hàm Locate vì trong hàm Locate có sử dụng các hàm First, Retrieve, EndList...không khai báo trước thì có đâu mà lôi ra xài được. Đề nghị làm lại sai nhỏ thì sửa được, cái này sai trầm trọng rồi, Sai quá trời luôn nữa nè khai báo hàm thì phài dùng (" void ten ham hoặc int tenham nếu hàm mình trả về 1 giá trị nào đó chứ không như cách của Nguyễn đang xài là "vitri temham"
hic... sửa bài này xong chắc tắt thở luôn quá! Đề nghị làm lại
Còn nửa các hàm FirstList(L); Retrieve (P,L), EndList(L) phải khai báo trước hàm Locate vì trong hàm Locate có sử dụng các hàm First, Retrieve, EndList...không khai báo trước thì có đâu mà lôi ra xài được. Đề nghị làm lại sai nhỏ thì sửa được, cái này sai trầm trọng rồi, Sai quá trời luôn nữa nè khai báo hàm thì phài dùng (" void ten ham hoặc int tenham nếu hàm mình trả về 1 giá trị nào đó chứ không như cách của Nguyễn đang xài là "vitri temham"
hic... sửa bài này xong chắc tắt thở luôn quá! Đề nghị làm lại
Re: admin Tâm vào duyệt dùm bài này
Sở dĩ bài của Nguyễn không được là trong chương trình chính gọi hàm Read_List và Print_List, mà máy hàm này nó gọi lại mấy cái hàm cơ bản để làm vd như firstlist, endlist, hay retrieve... mà mấy cái hàm này sai rồi (vd vitri FirstList...vậy sao được), trog hàm Read_list đã nhập X=-1 để thoát thì đã thoát khỏi vòng lập while rồi mà trong chương trình chính kêu nó nhập lại làm gì nữa, hic coi tới đây là sai chịu hết nổi rồi. Nguyễn lảm lại đi!
Re: admin Tâm vào duyệt dùm bài này
kekeke chạy được roài mừng quá
matsususu- Posts : 146
Thanked : 11
24/02/2011
Tài Sản
Thú nuôi:
k4info :: Khu vực học tập :: Học Tập
Trang 1 trong tổng số 1 trang
Permissions in this forum:
Bạn không có quyền trả lời bài viết
|
|