Programming Language
Bạn có muốn phản ứng với tin nhắn này? Vui lòng đăng ký diễn đàn trong một vài cú nhấp chuột hoặc đăng nhập để tiếp tục.


FOREVER STUDY
 
Trang ChínhPortalTìm kiếmLatest imagesĐăng kýĐăng Nhập
Tìm kiếm
 
 

Display results as :
 
Rechercher Advanced Search
Latest topics
» Tối ưu hóa thuật toán
Đăng Kí Đề Tài "Danh Sách Móc Nối"  -->> HERE !!! Icon_minitimeThu Apr 14, 2011 8:47 pm by gianggiangonline

» Can moi nguoi giup do lam bai tap nay
Đăng Kí Đề Tài "Danh Sách Móc Nối"  -->> HERE !!! Icon_minitimeSat Mar 26, 2011 5:23 am by nameless2604

» Bài tập tuần 1.
Đăng Kí Đề Tài "Danh Sách Móc Nối"  -->> HERE !!! Icon_minitimeThu Feb 17, 2011 11:40 pm by Admin

»  tên hàn quốc của tớ là jung hyun in! tên của bạn là gì vậy?
Đăng Kí Đề Tài "Danh Sách Móc Nối"  -->> HERE !!! Icon_minitimeThu Dec 30, 2010 3:17 am by gianggiangonline

» Anh không chỉ quan trọng............như một chiếc đồng hồ báo thức của em!!!
Đăng Kí Đề Tài "Danh Sách Móc Nối"  -->> HERE !!! Icon_minitimeSat Oct 23, 2010 10:58 am by chien_le

» Có những điều thú vị mà không nói ra thì ai cũng biết
Đăng Kí Đề Tài "Danh Sách Móc Nối"  -->> HERE !!! Icon_minitimeTue Oct 19, 2010 11:03 pm by gianggiangonline

» [PopCap Game] Plants Vs Zombies [MF]
Đăng Kí Đề Tài "Danh Sách Móc Nối"  -->> HERE !!! Icon_minitimeTue Oct 19, 2010 9:25 pm by kingofdrak

» help me me memememememem
Đăng Kí Đề Tài "Danh Sách Móc Nối"  -->> HERE !!! Icon_minitimeMon Oct 18, 2010 10:22 am by chien_le

» 3 bai tap ve de quy
Đăng Kí Đề Tài "Danh Sách Móc Nối"  -->> HERE !!! Icon_minitimeTue Oct 12, 2010 6:36 am by chien_le

Navigation
 Portal
 Diễn Đàn
 Thành viên
 Lý lịch
 Trợ giúp
 Tìm kiếm
Diễn Đàn
Affiliates
free forum


 

 Đăng Kí Đề Tài "Danh Sách Móc Nối" -->> HERE !!!

Go down 
5 posters
Tác giảThông điệp
atarashj




Tổng số bài gửi : 8
Points : 5176
Reputation : 0
Join date : 18/09/2010

Đăng Kí Đề Tài "Danh Sách Móc Nối"  -->> HERE !!! Empty
Bài gửiTiêu đề: Đăng Kí Đề Tài "Danh Sách Móc Nối" -->> HERE !!!   Đăng Kí Đề Tài "Danh Sách Móc Nối"  -->> HERE !!! Icon_minitimeSat Sep 18, 2010 12:29 am

Ai chọn đề tài này thì đăng kí nhé
Về Đầu Trang Go down
iShinichj

iShinichj


Tổng số bài gửi : 46
Points : 5237
Reputation : 0
Join date : 01/09/2010
Age : 34
Đến từ : HUT

Đăng Kí Đề Tài "Danh Sách Móc Nối"  -->> HERE !!! Empty
Bài gửiTiêu đề: Re: Đăng Kí Đề Tài "Danh Sách Móc Nối" -->> HERE !!!   Đăng Kí Đề Tài "Danh Sách Móc Nối"  -->> HERE !!! Icon_minitimeSat Sep 18, 2010 5:35 am

Mình chọn đề tài này
Ai cùng chí hướng thì nhào vô!
Về Đầu Trang Go down
https://study.all-up.com/forum.htm
hutboy90




Tổng số bài gửi : 4
Points : 5173
Reputation : 0
Join date : 11/09/2010

Đăng Kí Đề Tài "Danh Sách Móc Nối"  -->> HERE !!! Empty
Bài gửiTiêu đề: Re: Đăng Kí Đề Tài "Danh Sách Móc Nối" -->> HERE !!!   Đăng Kí Đề Tài "Danh Sách Móc Nối"  -->> HERE !!! Icon_minitimeSat Sep 18, 2010 6:07 am

ok!toi cug chon!
Về Đầu Trang Go down
PhuongPhan




Tổng số bài gửi : 7
Points : 5186
Reputation : 0
Join date : 01/09/2010

Đăng Kí Đề Tài "Danh Sách Móc Nối"  -->> HERE !!! Empty
Bài gửiTiêu đề: Re: Đăng Kí Đề Tài "Danh Sách Móc Nối" -->> HERE !!!   Đăng Kí Đề Tài "Danh Sách Móc Nối"  -->> HERE !!! Icon_minitimeSat Sep 18, 2010 9:38 am

Mình cũng đăng ký đề tài này.
Về Đầu Trang Go down
PhuongPhan




Tổng số bài gửi : 7
Points : 5186
Reputation : 0
Join date : 01/09/2010

Đăng Kí Đề Tài "Danh Sách Móc Nối"  -->> HERE !!! Empty
Bài gửiTiêu đề: Re: Đăng Kí Đề Tài "Danh Sách Móc Nối" -->> HERE !!!   Đăng Kí Đề Tài "Danh Sách Móc Nối"  -->> HERE !!! Icon_minitimeSat Sep 18, 2010 2:20 pm

Chả bao giờ code giờ thử hoàn chỉnh bài vd trang 62 cuốn CTDL> cho quen "Danh sách nối đơn" mà fix lỗi mệt nghỉ. Giờ thì chương trình chạy được nhưng đang chạy lại báo lỗi, ông Hưng hay hutboy lấy về thử chạy fix hộ tôi cái nhé Đăng Kí Đề Tài "Danh Sách Móc Nối"  -->> HERE !!! Icon_cheers

Code:
#include<iostream>
#include<conio.h>
#include<ctime>
#include<stdlib.h>
#include<iomanip>
using namespace std;
struct pointerType{
        int inf;
        struct pointerType *next;};
typedef struct pointerType pointerType;
       
pointerType *insertHead(pointerType *first, int x);//Them dau
pointerType *insertMiddle(pointerType *pred, int x);//Them giua
void print(pointerType *first);//In ra man hinh
int isEmpty(pointerType *first);//Kiem tra ds rong

int randomNumber(){
    srand(time(0));
    int randomNumber,number;
    randomNumber=rand();
    number=randomNumber% 201-100;
    return(number);
    }

int main(){
    pointerType *S1,*S2,*S3,*V1,*V2,*V3;
    int a,i,n;
    system ("cls");S1=NULL;
    //Tao phan tu dau tien
    a=randomNumber();
    S1=insertHead(S1,a);
    //Nhap so luong phan tu
    cout<<"Nhap vao so luong phan tu n = ";
    cin>>n;
    cout<<"\n";
   
    //Tao ngau nhien danh sach va dua ra man hinh
    V1=S1;
    for(i=2;i<=n;i++){
        a=randomNumber();
        V1=insertMiddle(V1,a);
        }
    cout<<"====> DANH SACH BAN DAU <==== \n";
    print(S1); cout<<"\n";
   
    //Phan chia danh sach
    V1=S1; S2=NULL; S3=NULL;
    while(V1){
          if(V1->inf>0)
              if(!S2){S2=insertHead(S2,V1->inf); V2=S2;}
              else {V2=insertMiddle(V2,V1->inf); V2=V2->next;}
          if(V1->inf<0)
              if(!S3){S3=insertHead(S3,V1->inf); V3=S3;}
              else {V3=insertMiddle(V3,V1->inf); V3=V3->next;}
          if(!V1->inf){V1=V1->next;continue;}
          V1=V1->next;
          }
    //Dua ra man hinh 2 danh sach moi
    cout<<"====> DANH SACH SO DUONG <==== \n";
    print(S2); cout<<"\n";
    cout<<"====> DANH SACH SO AM <==== \n";
    print(S3); cout<<"\n";
    getch();
    }
   
    //CTC: Chen nut dau danh sach
    pointerType *insertHead(pointerType *first,int x){
                pointerType *tempNode;
                tempNode=new pointerType;
                tempNode->inf=x;
                tempNode->next=first;
                first=tempNode;
                return first;
                }
   
    //CTC: Chen nut vao giua danh sach
    pointerType *insertMiddle(pointerType *pred,int x){
                pointerType *tempNode;
                tempNode=new pointerType;
                tempNode->inf=x;
                tempNode->next=pred->next;
                pred->next=tempNode;
                return tempNode;
                }
   
   
    //CTC: Dua ra man hinh tat ca danh sach
    void print(pointerType *first){
          pointerType *tempNode;
          tempNode=new pointerType;
          int count=0;
          tempNode=first;
          while(tempNode){
                cout<<setw(6)<<tempNode->inf;count++;
                tempNode=tempNode->next;
                if(count%12==0)cout<<"\n";
                }
          cout<<"\n";
          }
         
    //CTC: Kiem tra danh sach rong
    int isEmpty(pointerType *first) {
        return !first;
        }
   
   
               
   
   
   


Về Đầu Trang Go down
iShinichj

iShinichj


Tổng số bài gửi : 46
Points : 5237
Reputation : 0
Join date : 01/09/2010
Age : 34
Đến từ : HUT

Đăng Kí Đề Tài "Danh Sách Móc Nối"  -->> HERE !!! Empty
Bài gửiTiêu đề: Re: Đăng Kí Đề Tài "Danh Sách Móc Nối" -->> HERE !!!   Đăng Kí Đề Tài "Danh Sách Móc Nối"  -->> HERE !!! Icon_minitimeSun Sep 19, 2010 12:12 am

Tôi cũng có bài đó nhưng nhập trực tiếp các phần tử
Tham khảo:

#include<iostream>
#include<iomanip>
#include<conio.h>
using namespace std;
typedef long ElementType;
struct PointerType{
ElementType Inf;
PointerType *Next;
};
//Chen mot nut vao dau danh sach
PointerType *Insert_ToHead(PointerType *First,ElementType x)
{
PointerType *TempNode;
TempNode=(PointerType*)malloc(sizeof(PointerType));
TempNode->Inf=x;
TempNode->Next=First;
First=TempNode;
return First;
}
//Chen mot nut vao giua danh sach
PointerType *Insert_Middle(PointerType *Pred,ElementType x)
{
PointerType *TempNode;
TempNode=(PointerType*)malloc(sizeof(PointerType));
TempNode->Inf=x;
TempNode->Next=Pred->Next;
Pred->Next=TempNode;
return TempNode;
}
//Xoa nut o dau ds
PointerType *Delete_Head(PointerType *First)
{
PointerType *TempNode;
TempNode=First->Next;
delete First;
return TempNode;
}
//Xoa nut trong ds
ElementType Delete(PointerType *Pred)
{
PointerType *TempNode;
ElementType x;
TempNode=Pred->Next;
Pred->Next=Pred->Next->Next;
x=TempNode->Inf;
delete TempNode;
return x;
}
//Hien thi danh sach
void Print(PointerType *First)
{
PointerType *TempNode;
TempNode=First;int count=0;
while(TempNode)
{
cout<<setw(6)<<TempNode->Inf;
TempNode=TempNode->Next;
}
printf("\n");
}
//Kiem tra ds rong
int IsEmpty(PointerType *First)
{
return !First;
}
//Xoa ds
PointerType *MakeNull(PointerType *First)
{
while(!IsEmpty(First))
First=Delete_Head(First);
return First;
}

int main()
{
PointerType *S1,*S2,*S3,*V1,*V2,*V3;
ElementType a[100];
int n;
S1=NULL;S2=NULL;S3=NULL;
cout<<"\n Nhap so luong phan tu n= ";
cin>>n;
cout<<"\n Nhap ds so nguyen: \n";
for(int i=1;i<=n;i++)
cin>>a[i];
S1=Insert_ToHead(S1,a[1]);
V1=S1;
for(int i=2;i<=n;i++)
V1=Insert_Middle(V1,a[i]);
cout<<"\n Ds ban dau:";
Print(S1);
V1=S1;
while(V1){
if(V1->Inf>0)
if(!S2)
{
S2=Insert_ToHead(S2,V1->Inf);
V2=S2;
}
else
{
Insert_Middle(V2,V1->Inf);
V2=V2->Next;
}
if(V1->Inf <0)
if(!S3)
{
S3=Insert_ToHead(S3,V1->Inf);
V3=S3;
}
else
{
Insert_Middle(V3,V1->Inf);
V3=V3->Next;
}
V1=V1->Next;
}
cout<<"\n +DS so duong: ";
Print(S2);
cout<<"\n +DS so am: ";
Print(S3);
S1=MakeNull(V1);
S2=MakeNull(S2);
S3=MakeNull(S3);
_getch();
}

Về Đầu Trang Go down
https://study.all-up.com/forum.htm
PhuongPhan




Tổng số bài gửi : 7
Points : 5186
Reputation : 0
Join date : 01/09/2010

Đăng Kí Đề Tài "Danh Sách Móc Nối"  -->> HERE !!! Empty
Bài gửiTiêu đề: Re: Đăng Kí Đề Tài "Danh Sách Móc Nối" -->> HERE !!!   Đăng Kí Đề Tài "Danh Sách Móc Nối"  -->> HERE !!! Icon_minitimeSun Sep 19, 2010 1:08 am

Uhm bài ông chạy "mượt" , ko lỗi lầm gì hết Very Happy Cái của tôi trình dịch ko báo lỗi mà chạy giữa chừng thì thế này...

Đăng Kí Đề Tài "Danh Sách Móc Nối"  -->> HERE !!! AbcOriginalResolution


Mà tôi hỏi tí...Chỗ ông khai báo...
----------------------
struct PointerType{
ElementType Inf;
PointerType *Next;
};
----------------------
struct PointerType{
ElementType Inf;
struct PointerType *Next;
};

typedef struct PointerType PointerType;
---------------------
tôi cũng thấy trong sách của thầy như thế nhưng nghĩ là giả ngôn ngữ nên chả thử Very Happy . tôi tưởng đầy đủ nó phải như ở dưới. Chẳng lẽ khi khai báo như cách trên thì nó ngầm định PointerType như một kiểu dữ liệu luôn ah?

Tôi add nick ông rồi , onl thì confirm có gì tiện trao đổi Đăng Kí Đề Tài "Danh Sách Móc Nối"  -->> HERE !!! Icon_cheers
Về Đầu Trang Go down
mrmax




Tổng số bài gửi : 59
Points : 5277
Reputation : 0
Join date : 01/09/2010

Đăng Kí Đề Tài "Danh Sách Móc Nối"  -->> HERE !!! Empty
Bài gửiTiêu đề: Re: Đăng Kí Đề Tài "Danh Sách Móc Nối" -->> HERE !!!   Đăng Kí Đề Tài "Danh Sách Móc Nối"  -->> HERE !!! Icon_minitimeSun Sep 19, 2010 1:18 am

cai typedef la ham dinh nghia co cung dc khong co cung chang sao.he.bon chen ti
Về Đầu Trang Go down
PhuongPhan




Tổng số bài gửi : 7
Points : 5186
Reputation : 0
Join date : 01/09/2010

Đăng Kí Đề Tài "Danh Sách Móc Nối"  -->> HERE !!! Empty
Bài gửiTiêu đề: Re: Đăng Kí Đề Tài "Danh Sách Móc Nối" -->> HERE !!!   Đăng Kí Đề Tài "Danh Sách Móc Nối"  -->> HERE !!! Icon_minitimeSun Sep 19, 2010 1:50 am

hehe bon chen mái thoải...
ý tôi là theo tôi hiểu typedef định nghĩa một kiểu dữ liệu mới là PointerType (~struct PointerType) thì khi ko dùng typedef lúc khai báo đáng lẽ phải cần đầy đủ ví dụ như nguyên mẫu hàm...
PointerType *Insert_ToHead(PointerType *First,ElementType x);
=> struct PointerType *Insert_ToHead(PointerType *First,ElementType x);

nhưng hình như ko dùng cũng chả sao? tôi có hiểu sai ở đâu ko nhỉ?
Về Đầu Trang Go down
mrmax




Tổng số bài gửi : 59
Points : 5277
Reputation : 0
Join date : 01/09/2010

Đăng Kí Đề Tài "Danh Sách Móc Nối"  -->> HERE !!! Empty
Bài gửiTiêu đề: Re: Đăng Kí Đề Tài "Danh Sách Móc Nối" -->> HERE !!!   Đăng Kí Đề Tài "Danh Sách Móc Nối"  -->> HERE !!! Icon_minitimeSun Sep 19, 2010 2:11 am

đề nghị đọc lại sách tin học đại cương nhá
cái hàm typedef chỉ để dặt tên mới cho thằng cấu trúc thôi
còn nếu không thik đặt tên mới thì dùng tên cũ cũng đc
còn cái kiểu đặt tên
struct PointerType{
ElementType Inf;
struct PointerType *Next;
};

typedef struct PointerType PointerType;

theo tôi có cũng như không vì tên thằng mới với thằng cũ như nhau.người ta đặt lại tên chủ yếu là mang tính gợi nhớ khi lập trình và khi theo dõi code thôi
cái thăng PointerType là 1 biến cấu trúc do vậy khi gọi tới nó là mặc định gọi tơi hàm định nghĩa cau trúc do vay du ko đặt tên thì vẫn có thể gọi
PointerType *Insert_ToHead(PointerType *First,ElementType x);
thay vì
struct PointerType *Insert_ToHead(PointerType *First,ElementType x);(cái này chưa ai thấy làm bao h~ma hinh nhu go thang nay vao sai la cai chac Very Happy)
Về Đầu Trang Go down
mrmax




Tổng số bài gửi : 59
Points : 5277
Reputation : 0
Join date : 01/09/2010

Đăng Kí Đề Tài "Danh Sách Móc Nối"  -->> HERE !!! Empty
Bài gửiTiêu đề: Re: Đăng Kí Đề Tài "Danh Sách Móc Nối" -->> HERE !!!   Đăng Kí Đề Tài "Danh Sách Móc Nối"  -->> HERE !!! Icon_minitimeSun Sep 19, 2010 2:20 am

mà các ông thử làm các bài liên quan đế đa thức hay liên kết đôi hoặc liên kết vòng coi thế nào
Về Đầu Trang Go down
iShinichj

iShinichj


Tổng số bài gửi : 46
Points : 5237
Reputation : 0
Join date : 01/09/2010
Age : 34
Đến từ : HUT

Đăng Kí Đề Tài "Danh Sách Móc Nối"  -->> HERE !!! Empty
Bài gửiTiêu đề: Re: Đăng Kí Đề Tài "Danh Sách Móc Nối" -->> HERE !!!   Đăng Kí Đề Tài "Danh Sách Móc Nối"  -->> HERE !!! Icon_minitimeFri Sep 24, 2010 1:32 pm

Bài tập:Danh sách nối kép vòng

Mọi người vào sửa giúp
Nhập SV đầu tiên hiển thị ra->tên thiếu 1 kí tự


#include<iostream>
#include<conio.h>
#include<iomanip>
#include<string.h>
using namespace std;

struct SV{
char ht[25];
char ms[10];
float diem;
};
typedef struct node{
SV info;
struct node *next;
struct node *prev;
}Node;
//Khoi tao nut moi
Node *Khoitao(SV x)
{
Node *p=new Node;
p->info=x;
p->next=NULL;
p->prev=NULL;
return p;
}
//Kiem tra danh sach rong
int IsEmpty(Node *Head)
{
if(Head==NULL) return 1;
return 0;
}
//Them sv vao cuoi danh sach
Node *Add_last(Node *Head,SV x)
{
Node *p;
p=Khoitao(x);
if(IsEmpty(Head))
{
Head=p;
p->next=Head;
p->prev=Head;
cout<<" Day la sinh vien dau tien\n";
}
else
{
p->next=Head;
p->prev=Head->prev;
Head->prev->next=p;
Head->prev=p;
cout<<" Da them thanh cong\n";
}
return Head;
}
//Nhap thong tin sinh vien
Node *Nhap(Node *Head)
{
SV x;
cout<<"\n Nhap thong tin ve sinh vien";
cout<<"\n Nhap '123' de hoan thanh\n";
do{
cout<<"\n+Ho ten: ";
cin.ignore(1);
cin.get(x.ht,25);
if(strcmp(x.ht,"123")==0) break;
cout<<" MSSV: ";
cin.ignore(1);
cin.get(x.ms,10);
cout<<" Diem: ";
cin>>x.diem;
Head=Add_last(Head,x);
}while(1);
return Head;
}
//Hien thi thong tin sinh vien
void Hienthi(Node *Head)
{
Node *sv=Head;
if(IsEmpty(Head))
{
cout<<"\n Danh sach rong";
return;
}
cout<<"\n THONG TIN SINH VIEN";
cout<<setiosflags(ios::fixed)<<setprecision(2);
cout<<"\n"<<setw(25)<<"HO TEN"<<setw(12)<<"MSSV"<<setw(7)<<"DIEM";
while(sv->next!=Head)
{
cout<<"\n+"<<setw(25)<<sv->info.ht<<setw(10)<<sv->info.ms<<setw(8 ) <<sv->info.diem;
sv=sv->next;
}
if(sv->next=Head)
cout<<"\n+"<<setw(25)<<sv->info.ht<<setw(10)<<sv->info.ms<<setw(8 ) <<sv->info.diem;
}
int main()
{
Node *Head;
Head=NULL;
Head=Nhap(Head);
Hienthi(Head);
_getch();
}

ko tim ra loi gi?
Đăng Kí Đề Tài "Danh Sách Móc Nối"  -->> HERE !!! Adadvn
Về Đầu Trang Go down
https://study.all-up.com/forum.htm
iShinichj

iShinichj


Tổng số bài gửi : 46
Points : 5237
Reputation : 0
Join date : 01/09/2010
Age : 34
Đến từ : HUT

Đăng Kí Đề Tài "Danh Sách Móc Nối"  -->> HERE !!! Empty
Bài gửiTiêu đề: Re: Đăng Kí Đề Tài "Danh Sách Móc Nối" -->> HERE !!!   Đăng Kí Đề Tài "Danh Sách Móc Nối"  -->> HERE !!! Icon_minitimeFri Sep 24, 2010 7:30 pm

Hình như anh sinh viên đầu tiên bị hàm cin.ignore(1) lấy mất 1 kí tự nhưng những thằng sau lại ko sao?
Mà cin.ignore(1) chỉ lấy 1 kí tự xuống dòng của cin.get(x.ht,25)!
Về Đầu Trang Go down
https://study.all-up.com/forum.htm
mrmax




Tổng số bài gửi : 59
Points : 5277
Reputation : 0
Join date : 01/09/2010

Đăng Kí Đề Tài "Danh Sách Móc Nối"  -->> HERE !!! Empty
Bài gửiTiêu đề: Re: Đăng Kí Đề Tài "Danh Sách Móc Nối" -->> HERE !!!   Đăng Kí Đề Tài "Danh Sách Móc Nối"  -->> HERE !!! Icon_minitimeFri Sep 24, 2010 9:27 pm

lỗi là ở chỗ này


cin.ignore(1);
cin.get(x.ht,25);


ông để thằng ignore trước thằng nhập thì nó chả xơi mất kí tự đầu tiên của thằng dầu tiên
con những thằng sau ko việc j vì nó đã xơi Enter của thằng trước rồi

thường thì nhập xong rồi mới ignore -->đổi lại thứ tự lệnh. nhưng bài ông lại bị lỗi -->bó tay
Về Đầu Trang Go down
iShinichj

iShinichj


Tổng số bài gửi : 46
Points : 5237
Reputation : 0
Join date : 01/09/2010
Age : 34
Đến từ : HUT

Đăng Kí Đề Tài "Danh Sách Móc Nối"  -->> HERE !!! Empty
Bài gửiTiêu đề: Re: Đăng Kí Đề Tài "Danh Sách Móc Nối" -->> HERE !!!   Đăng Kí Đề Tài "Danh Sách Móc Nối"  -->> HERE !!! Icon_minitimeFri Sep 24, 2010 11:47 pm

Vị trí đúng mà(Theo sách thầy Ất)
Không hiểu sao nhưng tôi lập thành chương trình có switch....case thì không sao nữa
Về Đầu Trang Go down
https://study.all-up.com/forum.htm
iShinichj

iShinichj


Tổng số bài gửi : 46
Points : 5237
Reputation : 0
Join date : 01/09/2010
Age : 34
Đến từ : HUT

Đăng Kí Đề Tài "Danh Sách Móc Nối"  -->> HERE !!! Empty
Bài gửiTiêu đề: Re: Đăng Kí Đề Tài "Danh Sách Móc Nối" -->> HERE !!!   Đăng Kí Đề Tài "Danh Sách Móc Nối"  -->> HERE !!! Icon_minitimeSat Sep 25, 2010 1:06 am

Hoàn thành code để ae duyệt

Danh sách LK đơn: Quản lý SV
#include<iostream>
#include<conio.h>
#include<iomanip>
#include<string.h>
using namespace std;

struct SV
{
char ht[25];
char ms[10];
char lop[10];
int gioitinh;
};
typedef struct node{
SV info;
struct node *next;
}Node;
//Tao nut moi
Node *Khoitao(SV x)
{
Node *p;
p=new struct node;
p->info=x;
p->next=NULL;
return p;
}
//Kiem tra ds rong
int IsEmpty(Node *First)
{
if(First==NULL) return 1;
return 0;
}
//Them sv vao cuoi ds
Node *Add_last(Node *First,SV x)
{
Node *p,*q;
p=Khoitao(x);q=First;
if(IsEmpty(First))
{
cout<<"\n Day la Sv dau tien cua ds\n";
p->next=NULL;
First=p;
}
else
{
while(q->next!=NULL)
{
q=q->next;
}
q->next=p;
cout<<"\n Da them SV vao ds\n";
}
return First;
}
//Tim kiem sinh vien
void Find(Node *sv,char ten[20])
{
int count=0 ;
while(sv!=NULL)
{
if(strcmp(sv->info.ht,ten)==0)
{
cout<<"\n Sinh vien: ";
cout<<"\n Ho ten: "<<sv->info.ht;
cout<<"\n MSSV: "<<sv->info.ms;
cout<<"\n Lop: "<<sv->info.lop;
cout<<"\n Gioi tinh: ";
if(sv->info.gioitinh==1) cout<<" A Boy";
else cout<<" A Girl";
count++;
}
sv=sv->next;
}
if(!count) cout<<"\n Khong tim thay";
}
//Xoa sinh vien
Node *Delete_SV(Node *First,char mssv[10])
{
Node *p,*q;
p=First;q=p;
if(strcmp(p->info.ms,mssv)==0)
{
First=p->next;
delete p;
cout<<"\n Xoa thanh cong";
return First;
}
while(p!=NULL&&strcmp(p->info.ms,mssv)!=0)
{
q=p;
p=p->next;
}
if(p==NULL) cout<<"\n Khong tim thay SV";
else
{
q->next=p->next;
delete p;
cout<<"\n Xoa thanh cong";
}
return First;
}
//Hien thi danh sach
void Hienthi(Node *sv)
{
cout<<"\n DANH SACH SINH VIEN";
while(sv!=NULL)
{
cout<<"\n +"<<setw(25)<<sv->info.ht<<setw(10)<<sv->info.ms<<setw(10)<<sv->info.lop;
if(sv->info.gioitinh==1) cout<<setw(10)<<" A Boy";
if(sv->info.gioitinh==0) cout<<setw(10)<<" A Girl";
sv=sv->next;
}
}
int main()
{
Node *First;
SV x;
char ten[25],mssv[10],c;
First=NULL;
while(1)
{
cout<<"\n------MENU-------";
cout<<"\n 1.Them sinh vien";
cout<<"\n 2.Xem danh sach";
cout<<"\n 3.Tim kiem sinh vien";
cout<<"\n 4.Xoa sinh vien";
cout<<"\n 5.Xoa man hinh";
cout<<"\n 6.Exit";
cout<<"\n\n Chon chuc nang tu 1->6: ";
cin>>c;
switch(c)
{
case '1':
cout<<"\n Nhap SV muon them: Nhap 'exit' de dung nhap: ";
do{
cout<<"\n Ho ten: ";
cin.ignore(1);
cin.get(x.ht,25);
if(strcmp(x.ht,"exit")==0) break;
cout<<" MSSV: ";
cin.ignore(1);
cin.get(x.ms,10);
cout<<" Lop: ";
cin.ignore(1);
cin.get(x.lop,10);
cout<<" Gioi tinh: (Boy-1;Girl-0): ";
cin>>x.gioitinh;
First=Add_last(First,x);
}while(strcmp(x.ht,"exit")!=0);break;
case '2':
if(IsEmpty(First)) cout<<"\n Danh sach rong";
else
Hienthi(First);break;
case '3':
cout<<"\n Nhap ten SV muon tim: ";
cin.ignore(1);
cin.get(ten,25);
Find(First,ten);break;
case '4':
if(IsEmpty(First)) cout<<"\n Danh sach rong";
else{
cout<<"\n Nhap MSSV cua SV muon xoa: ";
cin.ignore(1);
cin.get(mssv,10);
First=Delete_SV(First,mssv);
}break;
case '5': system("cls");break;
case '6': cout<<"\n Thoat !!!\n";
exit(0);break;
default : cout<<"\n Khong co chuc nang nay\n";break;
}
}
_getch();
}
Về Đầu Trang Go down
https://study.all-up.com/forum.htm
iShinichj

iShinichj


Tổng số bài gửi : 46
Points : 5237
Reputation : 0
Join date : 01/09/2010
Age : 34
Đến từ : HUT

Đăng Kí Đề Tài "Danh Sách Móc Nối"  -->> HERE !!! Empty
Bài gửiTiêu đề: Re: Đăng Kí Đề Tài "Danh Sách Móc Nối" -->> HERE !!!   Đăng Kí Đề Tài "Danh Sách Móc Nối"  -->> HERE !!! Icon_minitimeSat Sep 25, 2010 1:07 am

Danh sách LK đôi(vòng):Quản lý sinh viên

#include<iostream>
#include<conio.h>
#include<iomanip>
#include<string.h>
using namespace std;

struct SV{
char ht[25];
char ms[10];
float diem;
};
typedef struct node{
SV info;
struct node *next;
struct node *prev;
}Node;
//Khoi tao nut moi
Node *Khoitao(SV x)
{
Node *p=new Node;
p->info=x;
p->next=NULL;
p->prev=NULL;
return p;
}
//Kiem tra danh sach rong
int IsEmpty(Node *Head)
{
if(Head==NULL) return 1;
return 0;
}
//Them sv vao cuoi danh sach
Node *Add_last(Node *Head,SV x)
{
Node *p;
p=Khoitao(x);
if(IsEmpty(Head))
{
Head=p;
p->next=Head;
p->prev=Head;
cout<<" Day la sinh vien dau tien\n";
}
else
{
p->next=Head;
p->prev=Head->prev;
Head->prev->next=p;
Head->prev=p;
cout<<" Da them thanh cong\n";
}
return Head;
}
//Tìm kiếm sinh vien
void Find(Node *Head,char name[25])
{
Node *sv=Head;
int count=0;
if(IsEmpty(Head))
cout<<"\n Khong tim thay";
else
{
cout<<"\n "<<setw(25)<<"HO TEN"<<setw(10)<<"MSSV"<<setw(8 )<<"DIEM";
while(sv->next!=Head)
{
if(strcmp(sv->info.ht,name)==0)
{
cout<<"\n+"<<setw(25)<<sv->info.ht<<setw(10)<<sv->info.ms<<setw(8 )<<sv->info.diem;
count++;
}
sv=sv->next;
}
if(strcmp(Head->prev->info.ht,name)==0)
{
cout<<"\n+"<<setw(25)<<sv->info.ht<<setw(10)<<sv->info.ms<<setw(8 )<<sv->info.diem;
count++;
}
if(!count) cout<<"\n Khong tim thay";
}
}
//Xoa sinh vien
Node *Delete(Node *Head,char mssv[10])
{
Node *p,*q;
p=Head;
if(IsEmpty(Head))
{
cout<<"\n Danh sach rong";
return NULL;
}
else
{
if(strcmp(p->info.ms,mssv)==0)
{
q=p->next;
if(q==Head) Head=NULL;
else
{
p->prev->next=q;
q->prev=p->prev;
Head=q;
}
delete p;
cout<<"\n Xoa thanh cong";
return Head;
}
while(1)
{
p=p->next;
if(strcmp(p->info.ms,mssv)==0)
{
q=p->next;
p->prev->next=q;
q->prev=p->prev;
delete p;
cout<<"\n Xoa thanh cong";
}break;
}
return Head;
}
}
//Nhap thong tin sinh vien
Node *Nhap(Node *Head)
{
SV x;
cout<<"\n Nhap thong tin ve sinh vien";
cout<<"\n Nhap '123' de hoan thanh\n";
do{
cout<<"\n+Ho ten: ";
cin.ignore(1);
cin.get(x.ht,25);
if(strcmp(x.ht,"123")==0) break;
cout<<" MSSV: ";
cin.ignore(1);
cin.get(x.ms,10);
cout<<" Diem: ";
cin>>x.diem;
Head=Add_last(Head,x);
}while(1);
return Head;
}
//Hien thi thong tin sinh vien
void Hienthi(Node *Head)
{
Node *sv=Head;
if(IsEmpty(Head))
{
cout<<"\n Danh sach rong";
return;
}
cout<<"\n THONG TIN SINH VIEN";
cout<<setiosflags(ios::fixed)<<setprecision(3);
cout<<"\n"<<setw(25)<<"HO TEN"<<setw(10)<<"MSSV"<<setw(8 )<<"DIEM";
while(sv->next!=Head)
{
cout<<"\n+"<<setw(25)<<sv->info.ht<<setw(10)<<sv->info.ms<<setw(8 )<<sv->info.diem;
sv=sv->next;
}
if(sv->next=Head)
cout<<"\n+"<<setw(25)<<sv->info.ht<<setw(10)<<sv->info.ms<<setw(8 )<<sv->info.diem;
}
int main()
{
Node *Head;
Head=new Node;
Head=NULL;
char chon,mssv[10],name[25];
while(1)
{
cout<<"\n -----------MENU--------------";
cout<<"\n 1.Hien thi danh sach sinh vien";
cout<<"\n 2.Them sinh vien vao danh sach";
cout<<"\n 3.Tim kiem sinh vien";
cout<<"\n 4.Xoa sinh vien";
cout<<"\n 5.Xoa man hinh";
cout<<"\n 6.Exit";
cout<<"\n\n Chon chuc nang: ";
cin>>chon;
switch(chon)
{
case '1': Hienthi(Head);break;
case '2': Head=Nhap(Head);break;
case '3':
cout<<"\n Nhap ten sinh vien: ";
cin.ignore(1);
cin.get(name,25);
Find(Head,name);break;
case '4':
cout<<"\n Nhap MSSV: ";
cin.ignore(1);
cin.get(mssv,10);
Head=Delete(Head,mssv);break;
case '5': system("cls");break;
case '6': exit(0);break;
default: cout<<"\n Khong co chuc nang nay";break;
}
}
_getch();
}


Được sửa bởi iShinichj ngày Sat Sep 25, 2010 1:12 am; sửa lần 2.
Về Đầu Trang Go down
https://study.all-up.com/forum.htm
iShinichj

iShinichj


Tổng số bài gửi : 46
Points : 5237
Reputation : 0
Join date : 01/09/2010
Age : 34
Đến từ : HUT

Đăng Kí Đề Tài "Danh Sách Móc Nối"  -->> HERE !!! Empty
Bài gửiTiêu đề: Re: Đăng Kí Đề Tài "Danh Sách Móc Nối" -->> HERE !!!   Đăng Kí Đề Tài "Danh Sách Móc Nối"  -->> HERE !!! Icon_minitimeSat Sep 25, 2010 1:09 am

Cộng đa thức sử dụng danh sách liên kết

#include<iostream>
#include<conio.h>
using namespace std;

struct DT{
int heso;
int bac;
};
typedef struct node{
DT info;
struct node *next;
}Node;
//Tao nut moi
Node *Khoitao(DT P)
{
Node *p=new Node;
p->info=P;
p->next=NULL;
return p;
}
//Kiem tra ds rong
int IsEmpty(Node *First)
{
if(First==NULL) return 1;
return 0;
}
//Them nut moi vao cuoi danh sach
Node *Add_last(Node *First,DT P)
{
Node *p,*q;
p=Khoitao(P);q=First;
if(IsEmpty(First))
{
p->next=NULL;
First=p;
}
else
{
while(q->next!=NULL)
{
q=q->next;
}
q->next=p;
}
return First;
}
Node *Nhap_dathuc(Node *First)
{
DT P;
cout<<"\n Nhap thong tin ve da thuc:(bac=-1 Finish) ";
do
{
cout<<"\n +Nhap bac : ";
cin>>P.bac;
if(P.bac==-1) break;
cout<<" He so cua bac: ";
cin>>P.heso;
First=Add_last(First,P);
}while(P.bac!=-1);
return First;
}
Node *Cong_dathuc(Node *P1,Node *P2)
{
Node *p1=P1,*p2=P2;
DT P;
Node *Q;
Q=NULL;
while(p1!=NULL && p2!=NULL)
{
if(p1->info.bac > p2->info.bac)
{
P.heso=p2->info.heso;
P.bac=p2->info.bac;
p2=p2->next;
}
else
{
if(p1->info.bac < p2->info.bac)
{
P.heso=p1->info.heso;
P.bac=p1->info.bac;
p1=p1->next;
}
else
{
P.heso=p1->info.heso+p2->info.heso;
P.bac=p2->info.bac;
p1=p1->next;
p2=p2->next;
}
}
Q=Add_last(Q,P);
}
if(p1==NULL)
{
while(p2!=NULL)
{
P.heso=p2->info.heso;
P.bac=p2->info.bac;
Q=Add_last(Q,P);
p2=p2->next;
}
}
else
{
if(p2==NULL)
{
while(p1!=NULL)
{
P.heso=p1->info.heso;
P.bac=p1->info.bac;
Q=Add_last(Q,P);
p1=p1->next;
}
}
}
return Q;
}
//Hien thi da thuc
void Hienthi(Node *q)
{
cout<<"\n Thong tin da thuc:(He so,Bac)\n";
while(q!=NULL)
{
cout<<" ("<<q->info.heso<<","<<q->info.bac<<") ->";
q=q->next;
}
cout<<" NULL\n";
}
int main()
{
Node *P1,*P2,*Q;
P1=NULL;P2=NULL;Q=NULL;
cout<<"\n +DA THUC P1: ";
P1=Nhap_dathuc(P1);
Hienthi(P1);
cout<<"\n +DA THUC P2";
P2=Nhap_dathuc(P2);
Hienthi(P2);
Q=Cong_dathuc(P1,P2);
cout<<"\n TONG HAI DA THUC:";
Hienthi(Q);
_getch();
}
Về Đầu Trang Go down
https://study.all-up.com/forum.htm
Sponsored content





Đăng Kí Đề Tài "Danh Sách Móc Nối"  -->> HERE !!! Empty
Bài gửiTiêu đề: Re: Đăng Kí Đề Tài "Danh Sách Móc Nối" -->> HERE !!!   Đăng Kí Đề Tài "Danh Sách Móc Nối"  -->> HERE !!! Icon_minitime

Về Đầu Trang Go down
 
Đăng Kí Đề Tài "Danh Sách Móc Nối" -->> HERE !!!
Về Đầu Trang 
Trang 1 trong tổng số 1 trang
 Similar topics
-
» Danh sách liên kết + Hàng đợi + Ngăn xếp
» Sách tham khảo
» Sách tham khảo
» Đăng Kí Đề Tài "QUEUE" -->> HERE !!!
» Đăng Kí Đề Tài "STACK" -->> HERE !!!

Permissions in this forum:Bạn không có quyền trả lời bài viết
Programming Language :: THÔNG BÁO-
Chuyển đến