CNTT2
Mời các bạn đăng kí thành viên để hưởng được những quền lợi từ diễn đàn, và cùng nhau chia sẻ kiến thức ,giao lưu học hỏi.
Nếu bạn đã là thành viên của diễn đàn thì hãy nhấn login để đăng nhập vào diễn đàn.
Cảm ơn các bạn đã tham gia diễn đàn CNTT2-K9



CNTT2
Mời các bạn đăng kí thành viên để hưởng được những quền lợi từ diễn đàn, và cùng nhau chia sẻ kiến thức ,giao lưu học hỏi.
Nếu bạn đã là thành viên của diễn đàn thì hãy nhấn login để đăng nhập vào diễn đàn.
Cảm ơn các bạn đã tham gia diễn đàn CNTT2-K9



CNTT2
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.


HỆ THỐNG DIỄN ĐÀN CỦA CNTT2K9
 
Trang ChínhTrang Chính  Latest imagesLatest images  Tìm kiếmTìm kiếm  Đăng kýĐăng ký  Đăng NhậpĐăng Nhập  
Đăng Nhập
Tên truy cập:
Mật khẩu:
Đăng nhập tự động mỗi khi truy cập: 
:: Quên mật khẩu
Xem điểm thi
Các bạn nhập MSSV vào ô bên dưới
Ví dụ như: 09.020.001

Similar topics
Tìm kiếm
 
 

Display results as :
 
Rechercher Advanced Search
Latest topics
Top posters
cutuan527 (1051)
Bài CTDL mới thực hành I_vote_lcapBài CTDL mới thực hành I_voting_barBài CTDL mới thực hành I_vote_rcap 
caingocthanh (559)
Bài CTDL mới thực hành I_vote_lcapBài CTDL mới thực hành I_voting_barBài CTDL mới thực hành I_vote_rcap 
holyangell (486)
Bài CTDL mới thực hành I_vote_lcapBài CTDL mới thực hành I_voting_barBài CTDL mới thực hành I_vote_rcap 
bankimo (381)
Bài CTDL mới thực hành I_vote_lcapBài CTDL mới thực hành I_voting_barBài CTDL mới thực hành I_vote_rcap 
zailangtu911 (369)
Bài CTDL mới thực hành I_vote_lcapBài CTDL mới thực hành I_voting_barBài CTDL mới thực hành I_vote_rcap 
nguyenthanhvu (300)
Bài CTDL mới thực hành I_vote_lcapBài CTDL mới thực hành I_voting_barBài CTDL mới thực hành I_vote_rcap 
dinhhuunho (153)
Bài CTDL mới thực hành I_vote_lcapBài CTDL mới thực hành I_voting_barBài CTDL mới thực hành I_vote_rcap 
Admin (145)
Bài CTDL mới thực hành I_vote_lcapBài CTDL mới thực hành I_voting_barBài CTDL mới thực hành I_vote_rcap 
nguyen chi ha (145)
Bài CTDL mới thực hành I_vote_lcapBài CTDL mới thực hành I_voting_barBài CTDL mới thực hành I_vote_rcap 
zztanzzthanhzz (126)
Bài CTDL mới thực hành I_vote_lcapBài CTDL mới thực hành I_voting_barBài CTDL mới thực hành I_vote_rcap 
Liên kết
Trường Đại Học Cửu Long
Diễn đàn thầy Pha
Lớp CNTT3-K9
Lớp CNTT1-K9
Lớp CNTT1-K10
Lớp CNTT2-K10
March 2024
SunMonTueWedThuFriSat
     12
3456789
10111213141516
17181920212223
24252627282930
31      
CalendarCalendar
Thắc mắc
Người Quản Trị
Chat
Moderator
Chat
Statistics
Diễn Đàn hiện có 7385 thành viên
Chúng ta cùng chào mừng thành viên mới đăng ký: lanhuong dinh

Tổng số bài viết đã gửi vào diễn đàn là 5059 in 1953 subjects

Share | 
 

 Bài CTDL mới thực hành

Xem chủ đề cũ hơn Xem chủ đề mới hơn Go down 
Tác giảThông điệp
caingocthanh
Moderators
Moderators
caingocthanh

Nam Tổng số bài gửi : 559
Join date : 27/04/2009
Age : 35
Đến từ : Cà Mau

Bài CTDL mới thực hành Vide
Bài gửiTiêu đề: Bài CTDL mới thực hành   Bài CTDL mới thực hành I_icon_minitimeSun May 09, 2010 1:59 pm

Ở đây mới chỉ là duyệt cây theo preorder thôi,còn inorder và posorder thì mình sẽ post sau.
Trích dẫn :
#include<conio.h>
#include<stdio.h>
#include<string.h>
#define NIL -1
#define MaxLength 100
typedef int Node;
typedef char DataType;
typedef struct Tree
{
DataType Data[MaxLength];//ham luu tru data
Node Parent[MaxLength]; //ham luu tru parent
int MaxNode; //so nut thuc su trong cay
}
Tree;
Tree T;
//khoi tao cay rong
void MakeNULL_Tree(Tree*T)
{
T->MaxNode=0;
}
//kiem tra cay rong
int Empty_Tree(Tree T)
{
return T.MaxNode==0;
}
void ReadTree(Tree*T)
{
int i;
MakeNULL_Tree(&(*T));
do
{
printf("So nut cua cay la:");
scanf("%d",&(*T).MaxNode);
}
while(((*T).MaxNode<1)||((*T).MaxNode>MaxLength));
printf("Nhap gia tri nut goc");
fflush(stdin);
scanf("%c",&(*T).Data[0]);
(*T).Parent[0]=NIL;
for(i=1;i<=(*T).MaxNode-1;i++)
{
printf("Nhap cha cua nut %d la",i);
scanf("%d",&(*T).Parent[i]);
printf("Nhap gia tri cua nut %d la",i);
fflush(stdin);
scanf("%c",&(*T).Data[i]);
}
}
//xac dinh cha cua nut n tren cay T
Node Parent(Node n,Tree T)
{
if(Empty_Tree(T)||n>T.MaxNode-1)
return NIL;
else
return T.Parent[n];
}
//ham xac dinh gia tri cua nut tren cay T
DataType Data(Node n,Tree T)
{
if(Empty_Tree(T) || n>T.MaxNode-1)
{
printf("Error!\n");
return '*';
}
else
return T.Data[n];
}
//ham lay nut con trai nhat
Node LeftMostChild(Node n,Tree T)
{
if(n<0||Empty_Tree(T)||n>=T.MaxNode-1)
{
return NIL;
}
else
{
Node i=n+1;
while(i<T.MaxNode)
{
if(T.Parent[i]==n)
return i;
else
i++;
}
return NIL;
}
}
//ham lay anh em ruot phai cua nut n trong cay
Node RightSibling(Node n,Tree T)
{
if(n<0)
return NIL;
Node i=n+1;
while(i<T.MaxNode)
{
if(T.Parent[n]==T.Parent[i])
return i;
else
i++;
}
return NIL;
}
//ham xac dinh nut doc cua cay
Node Root(Tree T)
{
if(!Empty_Tree(T))
return 0;
else
return NIL;
}
//ham duyet tien tu cay
void Preorder(Node n,Tree T)
{
Node i;
printf("%c",Data(n,T));
i=LeftMostChild(n,T);
while(i!=NIL)
{
Preorder(i,T);
i=RightSibling(i,T);
}
}
void main()
{ clrscr();
Tree T;
printf("Bat dau nhap du lieu cho cay tong quat:\n");
ReadTree(&T);
printf("Danh sach duyet tien tu cua cay vua nhap la:");
Preorder(Root(T),T);
printf("Danh sach duyet trung tu cua cay la:");
getch();
}
04 04 04
Về Đầu Trang Go down
http://thanhkim.tk
vo minh phuc
Ký Danh
Ký Danh
vo minh phuc

Nam Tổng số bài gửi : 5
Join date : 27/03/2010
Age : 34

Bài CTDL mới thực hành Vide
Bài gửiTiêu đề: Re: Bài CTDL mới thực hành   Bài CTDL mới thực hành I_icon_minitimeWed May 12, 2010 10:14 pm

cám ơn lớp trưỡng....ha..ha.. 14 14 14 Bài CTDL mới thực hành CS0.10682077_1_1
Về Đầu Trang Go down
lethanhthuan
Nhập Môn
Nhập Môn
lethanhthuan

Nam Tổng số bài gửi : 31
Join date : 14/05/2009
Age : 35
Đến từ : ĐỒNG THÁP

Bài CTDL mới thực hành Vide
Bài gửiTiêu đề: Re: Bài CTDL mới thực hành   Bài CTDL mới thực hành I_icon_minitimeThu May 20, 2010 10:42 pm

#include<conio.h>
#include<stdio.h>
#include<string.h>
#define NIL -1
#define MaxLength 100
typedef int Node;
typedef char DataType;
typedef struct Tree
{
DataType Data[MaxLength];//ham luu tru data
Node Parent[MaxLength]; //ham luu tru parent
int MaxNode; //so nut thuc su trong cay
}
Tree;
Tree T;
//khoi tao cay rong
void MakeNULL_Tree(Tree*T)
{
T->MaxNode=0;
}
//kiem tra cay rong
int Empty_Tree(Tree T)
{
return T.MaxNode==0;
}
void ReadTree(Tree*T)
{
int i;
MakeNULL_Tree(&(*T));
do{
printf("So nut cua cay la:");
scanf("%d",&(*T).MaxNode);
}
while(((*T).MaxNode<1)||((*T).MaxNode>MaxLength));
printf("Nhap gia tri nut goc");
fflush(stdin);
scanf("%c",&(*T).Data[0]);
(*T).Parent[0]=NIL;
for(i=1;i<=(*T).MaxNode-1;i++)
{
printf("Nhap cha cua nut %d la",i);
scanf("%d",&(*T).Parent[i]);
printf("Nhap gia tri cua nut %d la",i);
fflush(stdin);
scanf("%c",&(*T).Data[i]);
}
}
//xac dinh cha cua nut n tren cay T
Node Parent(Node n,Tree T)
{
if(Empty_Tree(T)||n>T.MaxNode-1)
return NIL;
else
return T.Parent[n];
}
//ham xac dinh gia tri cua nut tren cay T
DataType Data(Node n,Tree T)
{
if(Empty_Tree(T) || n>T.MaxNode-1)
{
printf("Error!\n");
return '*';
}
else
return T.Data[n];
}
//ham lay nut con trai nhat
Node LeftMostChild(Node n,Tree T)
{
if(n<0||Empty_Tree(T)||n>=T.MaxNode-1)
{
return NIL;
}
else
{
Node i=n+1;
while(i<T.MaxNode)
{
if(T.Parent[i]==n)
return i;
else
i++;
}
return NIL;
}
}
//ham lay anh em ruot phai cua nut n trong cay
Node RightSibling(Node n,Tree T)
{
if(n<0)
return NIL;
Node i=n+1;
while(i<T.MaxNode)
{
if(T.Parent[n]==T.Parent[i])
return i;
else
i++;
}
return NIL;
}
//ham xac dinh nut doc cua cay
Node Root(Tree T)
{
if(!Empty_Tree(T))
return 0;
else
return NIL;
}
//ham duyet tien tu cay
void Preorder(Node n,Tree T)
{
Node i;
printf("%c",Data(n,T));
i=LeftMostChild(n,T);
while(i!=NIL)
{
Preorder(i,T);
i=RightSibling(i,T);
}
}
int baccuacay(tree T)
{
int max=MIL;
(for(int i=0;i<T.MaxNode;i++)
{
int temp=0;
for(int j=0;j<T.MaxNode;j++)
{
if(T.Parent[j]==i)
temp++;
}
if(max<temp)
max=temp;
}
return max;
}
int chieucaocay(Node n,Tree T)
{
if(LeftMostChild(n,T)==NIL)
return 0;
int temp=0;
Node i=LeftMostChild(n,T) ;
while(i!=NIL)
{
if(temp<chieucaocay(i,T))
temp=chieucaocay(i,T);
i=RightSibling(i,T);
}
temp++;
return temp ;
}


void main()
{ clrscr();
Tree T;
printf("Bat dau nhap du lieu cho cay tong quat:\n");
ReadTree(&T);
printf("Danh sach duyet tien tu cua cay vua nhap la:");
Preorder(Root(T),T);
printf("Danh sach duyet trung tu cua cay la:");
printf("bac cua cay la %d =",baccuacay(T));
printf("\n");
printf("chieu cao cua cay la %d ",chieucaocay(Root(T),T));
getch();
}



ham void main()
dung ko may ban
Về Đầu Trang Go down
Sponsored content




Bài CTDL mới thực hành Vide
Bài gửiTiêu đề: Re: Bài CTDL mới thực hành   Bài CTDL mới thực hành I_icon_minitime

Về Đầu Trang Go down
 

Bài CTDL mới thực hành

Xem chủ đề cũ hơn Xem chủ đề mới hơn Về Đầu Trang 
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
CNTT2 :: IT WORLD :: Giáo Trình-Tài Liệu Trực Tuyến-
Free forum | ©phpBB | Free forum support | Báo cáo lạm dụng | Thảo luận mới nhất