Đăng kýIndexCalendarTrợ giúpTìm kiếmThành viênBảng tin CTIMNhómĐăng Nhập
Similar topics
Top posters
Luv
 
Fenix
 
Susu
 
Jeen
 
YoungLeeMedia.com
 
David_308
 
Mr.Spider
 
LuckStar
 
Lucas
 
Heroes
 
—»†• LAST POSTERS •†«——»†• POSTER •†«——»†• TIME •†«—
Không cảm xúc Mon Jul 15, 2013 1:53 pm
Giới thiệu Website Mon Jul 01, 2013 8:23 am
Test post game Sat Aug 18, 2012 3:08 pm
Code music html nghe nhạc hay cho website forum Fri Dec 09, 2011 2:13 pm
Code Tạo Trang Nhạc Miễn Phí Hay Cực Kỳ.. (Ai Cũng Làm Được) Sun Sep 11, 2011 1:10 pm
.cực hot...Giảm giá ưu đãi 10% cho 100 chiếc điện thoại người già iNo F12 (từ 19/8-->27/8/2011)..nhanh chân kẻo hết Sun Aug 21, 2011 9:49 am
Bao da Marwave cao cấp "C.E.O Hybrid" & "MicroShell FOLIO" dành cho IPad 2 Tue Aug 16, 2011 4:30 pm
Điện thoại người già F8 và F12 rất thích hợp cho người già (bố mẹ, ông bà) Thu Aug 11, 2011 4:31 pm
Borofone bao da cao cấp cho iPhone 4 và iPad 2 Tue Aug 09, 2011 5:55 pm
Điện thoại người già F12 (Singapore) - Sự lựa chọn mới của người cao tuổi Việt Nam? Sat Aug 06, 2011 9:19 am


 

 Bài tập chuỗi đảo "STACK"

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

†•[¥]-ô-[€]-ố-[Ï]•†


avatar

Tổng số bài gửi : 981
Points : 180083
Reputation : 110029
Join date : 29/09/2009
Age : 27
Đến từ : ---- Quận 4 ----

Bài gửiTiêu đề: Bài tập chuỗi đảo "STACK"   Thu Dec 10, 2009 6:19 am

Code:
/*
CHUONG TRINH DEMO NGAN XEP : NHAP 1 CHUOI IN CHUOI DAO
*/

#include <stdio.h>
#include <conio.h>
#include <string.h>
#include <alloc.h>
struct Stack
{
   char  info;
   struct Stack *next;
};
typedef struct Stack *STACK;

//Khai Bao Prototype
void InitializeS (STACK *ps);
int  EmptyS (STACK *ps);
STACK GetStack();
void PushS (STACK *ps,  char ch);
char  PopS (STACK *ps);
void TopS (STACK *ps);
//==============================
void main()
{
   STACK ps;
   int x, y, vt, chon, n, i;
   char ch, st[50];
   clrscr();
   InitializeS (&ps);
   do
   {
      clrscr();
      printf("\n\n\tCHUONG TRINH NHAP VAO 1 CHUOI IN CHUOI DAO DUNG STACK !");
      printf("\n\t1  : Khoi Tao Ngan Xep !");
      printf("\n\t2  : Kiem Tra Ngan Xep Rong !");
      printf("\n\t3  : Tao Ngan Xep !");
      printf("\n\t4  : Xuat Va Huy Ngan Xep  !");
      printf("\n\t5  : Them 1 Phan Tu Vao Ngan Xep !");
      printf("\n\t6  : Xoa 1 PTu Ra Khoi Ngan Xep !");
      printf("\n\t7  : Truy Xuat Noi Dung O Dinh Ngan Xep !");
      printf("\n\t0  : THOAT KHOI CHUONG TRINH !");
      printf("\n\tBan Chon Chuc Nang Nao ? ");
      scanf ("%d", &chon);
      switch (chon)
      {
         case 1:
         {
            InitializeS (&ps);
            printf("\n\tNgan Xep Da Duoc Khoi Tao !");
            getch();
            break;
         }
         case 2:
         {
            printf("\n\tKiem Tra Ngan Xep Rong !");
            if (EmptyS (&ps))
               printf("\n\tNgan Xep Rong !");
            else
               printf("\n\tNgan Xep Khong Rong !");
            getch();
            break;
         }
         case 3:
         {
            printf("\n\tTao Ngan Xep !");
            InitializeS (&ps);
            printf("\n\tNhap Chuoi ST  :  ");
            fflush(stdin);
            gets(st);
            for (i = 0; i < strlen(st); i++)
            {
               ch = st[i];
               PushS(&ps,  ch);
            }
            getch();
            break;
         }
         case 4:
         {
            printf("\n\tIn Chuoi Dao !");
            printf("\n\tXuat Va Huy Ngan Xep !");
            if (EmptyS (&ps))
               printf("\n\tNgan Xep Rong  !");
            else
            {
               printf("\n\tNoi Ngan Xep Vua Nhap !");
               while(EmptyS (&ps) == 0)
               {
                  TopS (&ps);
                  y = PopS (&ps);
               }
            }
            getch();
            break;
         }
         case 5:
         {
            printf("\n\tThem 1 PTu Vao Ngan Xep !");
            printf("\n\tNhap Noi Dung Ky Tu Can Them :  ");
            ch = getch();
            PushS(&ps,  ch);
            getch();
            break;
         }
         case 6:
         {
            printf("\n\tXoa PTu Dinh !");
            printf("\n\tPTu Dinh O Dinh La !  ");
            TopS (&ps);
            y = PopS (&ps);
            getch();
            break;
         }
         case 7:
         {
            printf("\n\tTruy Xuat Noi Dung PTu Dinh !");
            TopS (&ps);
            getch();
            break;
         }
      }//KT Switch
   }while (chon > 0);
   getch();
}//KThuc Ham Main
//==============================
//Cai Dat Cac Prototype
//======================================
void InitializeS (STACK *ps)
{
   *ps = NULL;
}
//========================================
int  EmptyS (STACK *ps)
{
   if (*ps == NULL)
      return 1; //Rong
   return 0; //Khong Rong
}
//========================================
STACK Getnode()//Cap Phat Vung Nho
{
   STACK p;
   p = (STACK) malloc (sizeof (struct Stack));
   p -> next = NULL;
   return p;
}
//========================================
char  PopS (STACK *ps)
{
   STACK p;
   char x;
   if (EmptyS(ps))
      printf("\n\tDS Rong, Khong Xoa Duoc !");
   else
   {
      p = *ps;
      x = p -> info;
      *ps = p -> next;
      free (p);
      return x;
   }
}

//========================================
void PushS (STACK *ps, char x)
{
   STACK p;
   p = Getnode();
   p -> info = x;
   p -> next = *ps;
   *ps = p;
}
//========================================
void TopS (STACK *ps)
{
   if (EmptyS (ps))
      printf("\n\tNgan Xep Rong !");
   else
   {
      printf("%5c", (*ps) -> info);
      //Neu La Cau Truc In1PTu
   }

}
Về Đầu Trang Go down
Xem lý lịch thành viên
 

Bài tập chuỗi đảo "STACK"

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
—»†•_Welcome to Forum I.T_•†«— :: —»†• HỌC HÀNH :: BÀI TẬP -
Free forum | © phpBB | Free forum support | Report an abuse | Sosblogs