PDA

View Full Version : Help về lập trình



songlunglinh_nhok
29-10-2012, 10:46 PM
các bác xem giúp em bài này với nó bị lỗi gì rồi


#include<stdio.h>
#include<conio.h>
#include<malloc.h>
typedef int ElementType;
typedef struct Node
{
ElementType Element;
Node* Next;
};
typedef Node* Position;
typedef Position List;
void MakeNull_List(List *Header)
{
(*Header) = (Node*)malloc(sizeof(Node));
(*Header)->Next = NULL;
}
int Empty(List L)
{
return (L->Next==NULL);
}
void Insert_List(ElementType X, Position P, List *L)
{
Position T =(Node*)malloc(sizeof(Node));
T->Element = X;
T->Next = P->Next;
P->Next = T;
}
void Delete_List(Position P,List *L)
{
Position T;
if(P->Next !=NULL)
{
T = P->Next;
P->Next = T->Next->Next;
free(T);
}
else printf("\nLoi! Danh sach rong khong the xoa ");
}
Position Locate(ElementType X, List L)
{
Position P;
int found = 0;
while((P->Next!=NULL)&&(found==0))
{
if(P->Next->Element == X)
{
found=1;
}
else P=P->Next;
}
return P;
}
ElementType Retrieve(Position P,List L)
{
if(P->Next!=NULL)
return P->Next->Element;
}
Position First(List L)
{
return L;
}
Position End(List L)
{
Position P;
P=First(L);
while(P->Next!=NULL)
{
P=P->Next;
}
return P;
}
void Read(List *L)
{
int i,N,T;
ElementType X;
Position P;
P=First(*L);
printf("So phan tu trong danh sach la: ");scanf("%d",&N);
for(i=1;i<=N;i++)
{
printf("Phan tu thu %d: ",i);scanf("%d",&X);
Insert_List(X,End(*L),L);
}
}
void Print_List(List L)
{
Position P;
P=First(L);
while(P!=End(L))
{
printf("%5d",Retrieve(P,L));
P=P->Next;
}
}
/*main()
{
system("cls");
List L;
MakeNull_List(&L);
printf("\n\nDanh sach sau khi khoi tao rong la ");
if(Empty(L))
printf("\n\nDanh sach rong ");
else printf("\n\nDanh sach khog rong ");
for(int i=1;i<=5;i++)
{
Insert_List(i+10,End(L),&L);
}
printf("\n\nDanh sach sau khi dua cac so tu 11-15 vao theo thu tu la :\n\n");
Print_List(L);
getch();
}
/*
int main()
{
system("cls");
List L;
MakeNull_List(&L);
printf("\n\n Nhap danh sach tu ban phim ");
Read(&L);
printf("Danh sach vua nhap la: \n");
Print_List(L);
getch();
}
*/
/*
int main()
{
system("cls");
List L;
ElementType X;
Position P;
MakeNull_List(&L);
printf("\n\nNhap danh sach tu ban phim\n\n");
Read(&L);
printf("\n\nDanh sach vua nhap la:\n\n");
Print_List(L);
printf("\n\nNhap noi dung phan tu can tim: ");
scanf("%d",&X);
P=Locate(X,L);
if(P==End(L))
{
printf("\n\nKhong ton tai phan tu co noi dung %d trong danh ",X);
}
else
{
printf("\n\nVi tri phan tu dau tien co noi dung %d trong danh sach la %d ",X,P);
}
getch();
}

*/
int main()
{
system("cls");
List L;
ElementType X;
Position P;
MakeNull_List(&L);
Read(&L);
printf("\n\nDanh sach vua nhap: \n");
Print_List(L);
printf("\n\nNhap noi dung can them: ");
scanf("%d",&X);
printf("\n\nNhap vi tri can them ");
scanf("%d",&P);
Insert_List(X,P,&L);
printf("\n\nDanh sach sau khi them phan tu thu %d vao vi tri %d la \n\n",P,X);
Print_List(L);
printf("\n\nNhap vi tri can xoa");
scanf("%d",&P);
Delete_List(P,&L);
printf("Danh sach sau khi xoa phan tu o vi tri % la \n\n",P);
Print_List(L);
getch();
}

myonline84
25-01-2016, 08:26 PM
Bạn hãy post lỗi lên để mọi người tiện theo dõi và hỗ trợ bạn.