admin Tâm vào duyệt dùm bài này

Xem chủ đề cũ hơn Xem chủ đề mới hơn Go down

default admin Tâm vào duyệt dùm bài này

Bài gửi by matsususu on Wed Mar 16, 2011 12:02 pm

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();
    }
               
   
   
   
sao mà nhập dãy vào nó chạy không ngừng luôn monkey hoặc bạn nào biết giúp mình với cheers

matsususu

Posts : 146
Thanked : 11
Gia Nhập 24/02/2011

Tài Sản
Thú nuôi:

Về Đầu Trang Go down

default Re: admin Tâm vào duyệt dùm bài này

Bài gửi by matsususu on Wed Mar 16, 2011 4:48 pm

sao khi tham khảo đã tìm ra lỗi Surprised

matsususu

Posts : 146
Thanked : 11
Gia Nhập 24/02/2011

Tài Sản
Thú nuôi:

Về Đầu Trang Go down

default Re: admin Tâm vào duyệt dùm bài này

Bài gửi by Admin on Wed Mar 16, 2011 5:44 pm

ăn cơm cái đã tối vào xem

Admin

Posts : 1013
Thanked : 47
Gia Nhập 25/08/2010

Tài Sản
Thú nuôi:

http://k4info.forumr.net

Về Đầu Trang Go down

default Re: admin Tâm vào duyệt dùm bài này

Bài gửi by Admin on Wed Mar 16, 2011 7:01 pm

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

Admin

Posts : 1013
Thanked : 47
Gia Nhập 25/08/2010

Tài Sản
Thú nuôi:

http://k4info.forumr.net

Về Đầu Trang Go down

default Re: admin Tâm vào duyệt dùm bài này

Bài gửi by Admin on Wed Mar 16, 2011 7:21 pm

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!

Admin

Posts : 1013
Thanked : 47
Gia Nhập 25/08/2010

Tài Sản
Thú nuôi:

http://k4info.forumr.net

Về Đầu Trang Go down

default Re: admin Tâm vào duyệt dùm bài này

Bài gửi by matsususu on Thu Mar 17, 2011 12:32 am

kekeke chạy được roài mừng quá No

matsususu

Posts : 146
Thanked : 11
Gia Nhập 24/02/2011

Tài Sản
Thú nuôi:

Về Đầu Trang Go down

default Re: admin Tâm vào duyệt dùm bài này

Bài gửi by Sponsored content Today at 3:48 pm


Sponsored content


Về Đầu Trang Go down

Xem chủ đề cũ hơn Xem chủ đề mới hơn Về Đầu Trang

- Similar topics

 
Permissions in this forum:
Bạn không có quyền trả lời bài viết