Đề:
Code bị lỗi hay sao mà em chạy không ra biên dịch thì đúng:
#include <stdio.h>
#include <conio.h>
#include <string.h>
#include <stdlib.h>
#define B 20
typedef struct Word_Pair {
char English [20];
char Vietnamese [50];
}Element_Type;
typedef struct Node{
Element_Type Data;
Node* Next;
}Node;
typedef Node* Position;
typedef Position Dictionary[B];
int H(char st[]){
return (strlen(st)%B);
}
void MakeNull_Dictionary (Dictionary *D){
for (int i = 0; i < B; i ++)
(*D)[i]->Next = NULL;
}
void Insert(Element_Type X, Dictionary *D){
int Bucket, Found=0; // chi so bucket
Bucket = H(X.English);
Position Temp, P=(*D)[Bucket];
while ((P->Next!=NULL)&&(!Found))
if (P->Next->Data.English == X.English)
Found = 1;
else P=P->Next;
if (!Found)
{
Temp = (Node*)malloc(sizeof(Node));
strcpy(X.English,Temp->Data.English);
strcpy(X.Vietnamese,Temp->Data.Vietnamese);
Temp->Next = (*D)[Bucket]->Next;
(*D)[Bucket]->Next = Temp;
}
else printf("\nTrong tu dien da co tu %c", X.English);
}
void Read_Dictionary (Dictionary *D){
MakeNull_Dictionary (D);
Element_Type X;
int n, i=0;
printf("\nNhap vao so phan tu can nhap: ");
scanf("%d", &n);fflush(stdin);
while (i<n){
printf("\nNhap vao phan tu thu %d: ", i);
printf("\nNhap vao nghia tieng anh: ");
gets(X.English);fflush(stdin);
printf("\nNhap vao nghia tieng viet: ");
gets(X.Vietnamese);fflush(stdin);
Insert (X, D);
i++;
}
}
Position Find_Word(char st[], Dictionary D){
int Bucket = H(st);
Position P = D[Bucket];
while (P->Next!=NULL)
if (P->Next->Data.English==st)
return P;
else
P=P->Next;
}
void Print_Word_Pair(Element_Type X){
printf("\nTu can in la: ");
printf("\nNghia tieng anh: %s",X.English);
printf(" ");
printf("nNghia tieng viet: %s",X.Vietnamese);
}
int main (){
Dictionary D;
char English_Word[20];
Read_Dictionary (&D);
printf("\nNhap vao mot tu tieng anh can tim: ");
gets(English_Word);
Position P = Find_Word(English_Word, D);
if (P->Next==NULL)
printf("\nKhong co tu tieng anh can tim!");
else
Print_Word_Pair(P->Data);
getch();
return 0;
}
83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?