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.



 
Trang ChínhTrang Chính  Tìm kiếmTìm kiếm  Latest imagesLatest images  Đăng kýĐăng ký  Đăng NhậpĐăng Nhập  

Share | 
 

 Đọc số-(Hàm)

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


Nam Tổng số bài gửi : 178
Cảm ơn : 413
Danh vọng : 4
Join date : 03/01/2011
Age : 32
Đến từ : TPHCM

Đọc số-(Hàm) Empty
Bài gửiTiêu đề: Đọc số-(Hàm)   Đọc số-(Hàm) EmptyTue Jan 04, 2011 7:42 pm

Đọc số-(Hàm) Titleb10 Tue Jan 04, 2011 7:42 pm » Đọc số-(Hàm) Đọc số-(Hàm) Titleb13
Đề bài: Phân tích thành các hàm giải bài toán sau: Cho số nguyên n (0<=n<=10^9) hãy đọc số nguyên n.Ví dụ: n=2579 Kết quả: hai ngàn năm trăm bảy mươi chín.

Chú ý: Đoạn code sau là bài làm thử, chỉ mang tính tham khảo.

Code:
#include <stdio.h>
#include <math.h>
#include <string.h>
#include <conio.h>
void docso(int a);
void doc3so(int m,int n,int i);
void main()
{
   int n,m,i=0;
   do
   {
      printf("Nhap vao so n 0<=n<=10^9: ");
      scanf("%d",&n);
   }while(n<0||n>pow(10,9));
   printf("Ket qua: ");
   if(n==0) printf("khong");
   else
   {
      m=n/1000000000;
      if(m!=0)
      {   
         doc3so(m,n,i);
         printf(" ty");
      }
      m=(n/1000000)%1000;
      if(m!=0)
      {
         doc3so(m,n,i);
         printf(" trieu");
      }
      m=(n/1000)%1000;
      if(m!=0)
      {
         doc3so(m,n,i);
         printf(" ngan");
      }
      else i=1;//cho biet 3 so hang ngan =0,bo di thi khong in "le" voi so nhu 1000100
      m=n%1000;
      if(m!=0)
      {
         if (i==1&&n>1000) printf(" le");
         i=2; //cho biet truong hop a=b=0,c khac 0 thi in "le"
         doc3so(m,n,i);
      }
      
   }
   printf("\n");
   getch();
}
void doc(int a)
{
   char ch[4];
   strcpy(ch,"");
   switch(a)
   {
      case 1: strcpy(ch," mot");
         break;
      case 2: strcpy(ch," hai");
         break;
      case 3: strcpy(ch," ba");
         break;
      case 4: strcpy(ch," bon");
         break;
      case 5: strcpy(ch," nam");
         break;
      case 6: strcpy(ch," sau");
         break;
      case 7: strcpy(ch," bay");
         break;
      case 8:   strcpy(ch," tam");
         break;
      case 9: strcpy(ch," chin");
         break;
   }
   printf("%s",ch);
}
void doc3so(int m,int n,int i)
{
   int a,b,c;
   a=m/100;
   b=(m/10)%10;
   c=m%10;
   if(a!=0)
   {
      doc(a);
      printf(" tram");
   }
   if((b==0&&a!=0&&c!=0)||(b==0&&a==0&&i==2&&n>1000))
      printf(" le");
    if(b==1)
         printf(" muoi");
   else if(b!=0)
      {
         doc(b);
         printf(" muoi");
      }
    if (c==5&&b!=0) printf(" lam");
    else doc(c);
}
//bo bien i thi ko in chu "le" cho cac so nhu 1001   

Code update:

Code:
#include <stdio.h>
#include <math.h>
#include <string.h>
#include <conio.h>
void Doc(int A);
void Doc3so(int M,int N,int &I);
void main()
{
  int n,m,i=0;
  do
  {
      printf("Nhap vao so n 0<=n<=10^9: ");
      scanf("%d",&n);
  }while(n<0||n>pow(10,9));
  printf("Ket qua: ");
  if(n==0) printf("khong");
  else
  {
      m=n/1000000000;
      if(m!=0)
      { 
        i++;
        Doc3so(m,n,i);
        printf(" ty");
      }
      m=(n/1000000)%1000;
      if(m!=0)
      {
         i++;
        Doc3so(m,n,i);
        printf(" trieu");
      }
      m=(n/1000)%1000;
      if(m!=0)
      {
          i++;
        Doc3so(m,n,i);
        printf(" ngan");
      }
      m=n%1000;
      if(m!=0)
      {
           i++;
          Doc3so(m,n,i);
      }
     
  }
  printf("\n");
  getch();
}
void Doc(int A)
{
  char ch[5];
  strcpy(ch,"");
  switch(A)
  {
      case 1: strcpy(ch," mot");
        break;
      case 2: strcpy(ch," hai");
        break;
      case 3: strcpy(ch," ba");
        break;
      case 4: strcpy(ch," bon");
        break;
      case 5: strcpy(ch," nam");
        break;
      case 6: strcpy(ch," sau");
        break;
      case 7: strcpy(ch," bay");
        break;
      case 8:  strcpy(ch," tam");
        break;
      case 9: strcpy(ch," chin");
        break;
  }
  printf("%s",ch);
}
void Doc3so(int M,int N,int &I)
{
  int a,b,c;
  a=M/100;
  b=(M/10)%10;
  c=M%10;
  if(I==2&&a==0||I==3&&a==0)
        printf(" le");
  if(a!=0)
  {
      Doc(a);
      printf(" tram");
  }
  if(b==0&&a!=0&&c!=0)
      printf(" le");
    if(b==1)
        printf(" muoi");
  else if(b!=0)
      {
        Doc(b);
        printf(" muoi");
      }
    if (c==5&&b!=0) printf(" lam");
    else Doc(c);
}
 
 
Bạn nào rãnh tìm cách in chữ "lẻ" dùm mình


Tboy

Đọc số-(Hàm) Border10 Đọc số-(Hàm) Border14


Được sửa bởi Tboy ngày Wed Jan 19, 2011 9:20 pm; sửa lần 5.
Về Đầu Trang Go down
https://taplaptrinh.forumvi.com
MissyNhic[khánh thị Hoà]
Gà choai
Gà choai
MissyNhic[khánh thị Hoà]


Tổng số bài gửi : 21
Cảm ơn : 24
Danh vọng : 0
Join date : 10/01/2011

Đọc số-(Hàm) Empty
Bài gửiTiêu đề: Re: Đọc số-(Hàm)   Đọc số-(Hàm) EmptyFri Jan 14, 2011 10:54 pm

Đọc số-(Hàm) Titleb10 Fri Jan 14, 2011 10:54 pm » Re: Đọc số-(Hàm) Đọc số-(Hàm) Titleb13
hồi trước thầy có dạy mà mình ko nhớ "#include <conio.h>" dùng để làm gì đấy nhỉ ?


MissyNhic[khánh thị Hoà]

Đọc số-(Hàm) Border10 Đọc số-(Hàm) Border14
Về Đầu Trang Go down
http://missynhic.multiply.com/
Lynrch
Cá mập
Cá mập
Lynrch


Nam Tổng số bài gửi : 59
Cảm ơn : 116
Danh vọng : 0
Join date : 05/01/2011
Age : 32
Đến từ : HCM

Đọc số-(Hàm) Empty
Bài gửiTiêu đề: Re: Đọc số-(Hàm)   Đọc số-(Hàm) EmptyFri Jan 14, 2011 11:47 pm

Đọc số-(Hàm) Titleb10 Fri Jan 14, 2011 11:47 pm » Re: Đọc số-(Hàm) Đọc số-(Hàm) Titleb13
MissyNhic[khánh thị Hoà] đã viết:
hồi trước thầy có dạy mà mình ko nhớ "#include <conio.h>" dùng để làm gì đấy nhỉ ?
Thư viên #include <conio.h> dùng để khai cho lệch getch () dùng để dừng màn hình khi build ra file.exe nếu không chương trình sẽ chạy rồi tự động tắt,đó là những gì V bít tới hiện tại Đọc số-(Hàm) JE2x0Đọc số-(Hàm) XUpzk


Lynrch

Đọc số-(Hàm) Border10 Đọc số-(Hàm) Border14
Về Đầu Trang Go down
Tboy
Cá voi
Cá voi
Tboy


Nam Tổng số bài gửi : 178
Cảm ơn : 413
Danh vọng : 4
Join date : 03/01/2011
Age : 32
Đến từ : TPHCM

Đọc số-(Hàm) Empty
Bài gửiTiêu đề: Re: Đọc số-(Hàm)   Đọc số-(Hàm) EmptySat Jan 15, 2011 12:49 am

Đọc số-(Hàm) Titleb10 Sat Jan 15, 2011 12:49 am » Re: Đọc số-(Hàm) Đọc số-(Hàm) Titleb13
honma Sa0 hem ai ý kiến thảo luận về bài nỳ hết zị


Tboy

Đọc số-(Hàm) Border10 Đọc số-(Hàm) Border14
Về Đầu Trang Go down
https://taplaptrinh.forumvi.com
Lynrch
Cá mập
Cá mập
Lynrch


Nam Tổng số bài gửi : 59
Cảm ơn : 116
Danh vọng : 0
Join date : 05/01/2011
Age : 32
Đến từ : HCM

Đọc số-(Hàm) Empty
Bài gửiTiêu đề: Re: Đọc số-(Hàm)   Đọc số-(Hàm) EmptySat Jan 15, 2011 1:32 am

Đọc số-(Hàm) Titleb10 Sat Jan 15, 2011 1:32 am » Re: Đọc số-(Hàm) Đọc số-(Hàm) Titleb13
Tboy đã viết:
honma Sa0 hem ai ý kiến thảo luận về bài nỳ hết zị
Đây anh Thái!
Ở code trên hình như có lỗi chạy nó ra thế này
Đọc số-(Hàm) I5bBs
Lúc đầu tưởng lỗi C chạy thử mấy cái khác vẫn btĐọc số-(Hàm) 6cyZJĐọc số-(Hàm) 6cyZJ

P/S: code dưới chưa test


Lynrch

Đọc số-(Hàm) Border10 Đọc số-(Hàm) Border14
Về Đầu Trang Go down
Tboy
Cá voi
Cá voi
Tboy


Nam Tổng số bài gửi : 178
Cảm ơn : 413
Danh vọng : 4
Join date : 03/01/2011
Age : 32
Đến từ : TPHCM

Đọc số-(Hàm) Empty
Bài gửiTiêu đề: Re: Đọc số-(Hàm)   Đọc số-(Hàm) EmptySat Jan 15, 2011 8:26 pm

Đọc số-(Hàm) Titleb10 Sat Jan 15, 2011 8:26 pm » Re: Đọc số-(Hàm) Đọc số-(Hàm) Titleb13
Sao chạy bằng C-free hem thấy lỗi gì hết huytsao lại rất êm
Thui check thử code mới đi Vũ uj


Tboy

Đọc số-(Hàm) Border10 Đọc số-(Hàm) Border14
Về Đầu Trang Go down
https://taplaptrinh.forumvi.com
Lynrch
Cá mập
Cá mập
Lynrch


Nam Tổng số bài gửi : 59
Cảm ơn : 116
Danh vọng : 0
Join date : 05/01/2011
Age : 32
Đến từ : HCM

Đọc số-(Hàm) Empty
Bài gửiTiêu đề: Re: Đọc số-(Hàm)   Đọc số-(Hàm) EmptySun Jan 16, 2011 12:38 am

Đọc số-(Hàm) Titleb10 Sun Jan 16, 2011 12:38 am » Re: Đọc số-(Hàm) Đọc số-(Hàm) Titleb13
Tboy đã viết:
Sao chạy bằng C-free hem thấy lỗi gì hết huytsao lại rất êm
Thui check thử code mới đi Vũ uj
Em copy hoàn toàn code trên của anh Thái chứ co thêm bớt j đâu mà check @.@Đọc số-(Hàm) 088DA


Lynrch

Đọc số-(Hàm) Border10 Đọc số-(Hàm) Border14
Về Đầu Trang Go down
acquy1992123
Vịt hầm
Vịt hầm
acquy1992123


Nam Tổng số bài gửi : 10
Cảm ơn : 14
Danh vọng : 0
Join date : 05/01/2011
Age : 32
Đến từ : HCM city

Đọc số-(Hàm) Empty
Bài gửiTiêu đề: Re: Đọc số-(Hàm)   Đọc số-(Hàm) EmptySun Jan 16, 2011 9:05 pm

Đọc số-(Hàm) Titleb10 Sun Jan 16, 2011 9:05 pm » Re: Đọc số-(Hàm) Đọc số-(Hàm) Titleb13
thử đoạn code này xem:



Code:
#include <stdio.h>
#include <math.h>
#include <string.h>
#include <conio.h>

void docso(int a);
void doc3so(int m,int n,int i);
void main()
{
  int n,m,i=0;
  do
  {
      printf("Nhap vao so n 0<=n<=10^9: ");
      scanf("%d",&n);
  }while(n<0||n>pow(10,9));
  printf("Ket qua: ");
  if(n==0)
     printf("khong");
  else
  {
      m=n/1000000000;
      if(m!=0)
      { 
        doc3so(m,n,i);
        printf(" ty");
      }
      m=(n/1000000)%1000;
      if(m!=0)
      {
        doc3so(m,n,i);
        printf(" trieu");
      }
      m=(n/1000)%1000;
      if(m!=0)
      {
        doc3so(m,n,i);
        printf(" ngan");
      }
      else
     i=1;//cho biet 3 so hang ngan =0,bo di thi khong in "le" voi so nhu 1000100
            m=n%1000;
      if(m!=0)
      {
        if (i==1&&n>1000)
          printf(" le");
        i=2; //cho biet truong hop a=b=0,c khac 0 thi in "le"
        doc3so(m,n,i);
      }
     
  }
  printf("\n");
  getch();
}
void doc(int a)
{
  char ch[9];
  strcpy(ch,"");
  switch(a)
  {
      case 1: strcpy(ch," mot");
        break;
      case 2: strcpy(ch," hai");
        break;
      case 3: strcpy(ch," ba");
        break;
      case 4: strcpy(ch," bon");
        break;
      case 5: strcpy(ch," nam");
        break;
      case 6: strcpy(ch," sau");
        break;
      case 7: strcpy(ch," bay");
        break;
      case 8:  strcpy(ch," tam");
        break;
      case 9: strcpy(ch," chin");
        break;
  }
  printf("%s",ch);
}
void doc3so(int m,int n,int i)
{
  int a,b,c;
  a=m/100;
  b=(m/10)%10;
  c=m%10;
  if(a!=0)
  {
      doc(a);
      printf(" tram");
  }
  if((b==0&&a!=0&&c!=0)||(b==0&&a==0&&i==2&&n>1000))
      printf(" le");
    if(b==1)
        printf(" muoi");
  else if(b!=0)
      {
        doc(b);
        printf(" muoi");
      }
    if (c==5&&b!=0) printf(" lam");
    else doc(c);
}


acquy1992123

Đọc số-(Hàm) Border10 Đọc số-(Hàm) Border14
Về Đầu Trang Go down
Tboy
Cá voi
Cá voi
Tboy


Nam Tổng số bài gửi : 178
Cảm ơn : 413
Danh vọng : 4
Join date : 03/01/2011
Age : 32
Đến từ : TPHCM

Đọc số-(Hàm) Empty
Bài gửiTiêu đề: Re: Đọc số-(Hàm)   Đọc số-(Hàm) EmptySun Jan 16, 2011 9:18 pm

Đọc số-(Hàm) Titleb10 Sun Jan 16, 2011 9:18 pm » Re: Đọc số-(Hàm) Đọc số-(Hàm) Titleb13
daudon Tâm làm we^ nhe daika2 Cóa thấy khác code đầu tiên chỗ nèo đâu


Tboy

Đọc số-(Hàm) Border10 Đọc số-(Hàm) Border14
Về Đầu Trang Go down
https://taplaptrinh.forumvi.com
acquy1992123
Vịt hầm
Vịt hầm
acquy1992123


Nam Tổng số bài gửi : 10
Cảm ơn : 14
Danh vọng : 0
Join date : 05/01/2011
Age : 32
Đến từ : HCM city

Đọc số-(Hàm) Empty
Bài gửiTiêu đề: Re: Đọc số-(Hàm)   Đọc số-(Hàm) EmptySun Jan 16, 2011 9:33 pm

Đọc số-(Hàm) Titleb10 Sun Jan 16, 2011 9:33 pm » Re: Đọc số-(Hàm) Đọc số-(Hàm) Titleb13
khác chứ
của thái là ch[4].còn của tâm là ch[9].
cài này chạy trên C++6.0 thì 0 hiện bảng báo lỗi.


acquy1992123

Đọc số-(Hàm) Border10 Đọc số-(Hàm) Border14
Về Đầu Trang Go down
acquy1992123
Vịt hầm
Vịt hầm
acquy1992123


Nam Tổng số bài gửi : 10
Cảm ơn : 14
Danh vọng : 0
Join date : 05/01/2011
Age : 32
Đến từ : HCM city

Đọc số-(Hàm) Empty
Bài gửiTiêu đề: Re: Đọc số-(Hàm)   Đọc số-(Hàm) EmptySun Jan 16, 2011 9:40 pm

Đọc số-(Hàm) Titleb10 Sun Jan 16, 2011 9:40 pm » Re: Đọc số-(Hàm) Đọc số-(Hàm) Titleb13
xin đính chính lại:
code này có thể chạy trên C++6.0 đc, còn của thái thì kiện ra bảng báo lỗi.
(lúc nãy gõ vội quá nên sai chính tả, mong bạn thái thông cảm! ^^)


acquy1992123

Đọc số-(Hàm) Border10 Đọc số-(Hàm) Border14
Về Đầu Trang Go down
Tboy
Cá voi
Cá voi
Tboy


Nam Tổng số bài gửi : 178
Cảm ơn : 413
Danh vọng : 4
Join date : 03/01/2011
Age : 32
Đến từ : TPHCM

Đọc số-(Hàm) Empty
Bài gửiTiêu đề: Re: Đọc số-(Hàm)   Đọc số-(Hàm) EmptySun Jan 16, 2011 9:53 pm

Đọc số-(Hàm) Titleb10 Sun Jan 16, 2011 9:53 pm » Re: Đọc số-(Hàm) Đọc số-(Hàm) Titleb13
Sa0 Tâm ko thử code 2 dùm lun daudon
gamethu Code đầu khi thử với 10000001 chẳng hạn thì ra sai rùi


Tboy

Đọc số-(Hàm) Border10 Đọc số-(Hàm) Border14
Về Đầu Trang Go down
https://taplaptrinh.forumvi.com
acquy1992123
Vịt hầm
Vịt hầm
acquy1992123


Nam Tổng số bài gửi : 10
Cảm ơn : 14
Danh vọng : 0
Join date : 05/01/2011
Age : 32
Đến từ : HCM city

Đọc số-(Hàm) Empty
Bài gửiTiêu đề: Re: Đọc số-(Hàm)   Đọc số-(Hàm) EmptySun Jan 16, 2011 10:05 pm

Đọc số-(Hàm) Titleb10 Sun Jan 16, 2011 10:05 pm » Re: Đọc số-(Hàm) Đọc số-(Hàm) Titleb13
code 2 cũng zậy thui. tâm thử cái của tâm thì khi nhập 10000001 thì nó in ra mười triệu lẻ lẻ 1. còn 100000001 thì in 1 trăm triệu lẻ lẻ 1


acquy1992123

Đọc số-(Hàm) Border10 Đọc số-(Hàm) Border14
Về Đầu Trang Go down
Tboy
Cá voi
Cá voi
Tboy


Nam Tổng số bài gửi : 178
Cảm ơn : 413
Danh vọng : 4
Join date : 03/01/2011
Age : 32
Đến từ : TPHCM

Đọc số-(Hàm) Empty
Bài gửiTiêu đề: Re: Đọc số-(Hàm)   Đọc số-(Hàm) EmptySun Jan 16, 2011 10:13 pm

Đọc số-(Hàm) Titleb10 Sun Jan 16, 2011 10:13 pm » Re: Đọc số-(Hàm) Đọc số-(Hàm) Titleb13
Ah` cái code 2 wen^ sửa lỗi chỗ ch[4] eat2


Tboy

Đọc số-(Hàm) Border10 Đọc số-(Hàm) Border14
Về Đầu Trang Go down
https://taplaptrinh.forumvi.com
acquy1992123
Vịt hầm
Vịt hầm
acquy1992123


Nam Tổng số bài gửi : 10
Cảm ơn : 14
Danh vọng : 0
Join date : 05/01/2011
Age : 32
Đến từ : HCM city

Đọc số-(Hàm) Empty
Bài gửiTiêu đề: Re: Đọc số-(Hàm)   Đọc số-(Hàm) EmptySun Jan 16, 2011 10:18 pm

Đọc số-(Hàm) Titleb10 Sun Jan 16, 2011 10:18 pm » Re: Đọc số-(Hàm) Đọc số-(Hàm) Titleb13
e bó tay su phu thái lun :x 🇳🇴 :pale:


acquy1992123

Đọc số-(Hàm) Border10 Đọc số-(Hàm) Border14
Về Đầu Trang Go down
Tboy
Cá voi
Cá voi
Tboy


Nam Tổng số bài gửi : 178
Cảm ơn : 413
Danh vọng : 4
Join date : 03/01/2011
Age : 32
Đến từ : TPHCM

Đọc số-(Hàm) Empty
Bài gửiTiêu đề: Re: Đọc số-(Hàm)   Đọc số-(Hàm) EmptySun Jan 16, 2011 10:21 pm

Đọc số-(Hàm) Titleb10 Sun Jan 16, 2011 10:21 pm » Re: Đọc số-(Hàm) Đọc số-(Hàm) Titleb13
sac Cuối cùng nak` se0, chạy ổn chưa?????????


Tboy

Đọc số-(Hàm) Border10 Đọc số-(Hàm) Border14
Về Đầu Trang Go down
https://taplaptrinh.forumvi.com
acquy1992123
Vịt hầm
Vịt hầm
acquy1992123


Nam Tổng số bài gửi : 10
Cảm ơn : 14
Danh vọng : 0
Join date : 05/01/2011
Age : 32
Đến từ : HCM city

Đọc số-(Hàm) Empty
Bài gửiTiêu đề: Re: Đọc số-(Hàm)   Đọc số-(Hàm) EmptySun Jan 16, 2011 10:31 pm

Đọc số-(Hàm) Titleb10 Sun Jan 16, 2011 10:31 pm » Re: Đọc số-(Hàm) Đọc số-(Hàm) Titleb13
hình như có vấn đề đó thái. đáng lí ra khi nhập 100050 thì phải đọc là một trăm ngàn 0 trăm năm mươi chứ, còn cái code này thì lại in ra một trăm ngàn năm mươi.


acquy1992123

Đọc số-(Hàm) Border10 Đọc số-(Hàm) Border14
Về Đầu Trang Go down
Tboy
Cá voi
Cá voi
Tboy


Nam Tổng số bài gửi : 178
Cảm ơn : 413
Danh vọng : 4
Join date : 03/01/2011
Age : 32
Đến từ : TPHCM

Đọc số-(Hàm) Empty
Bài gửiTiêu đề: Re: Đọc số-(Hàm)   Đọc số-(Hàm) EmptySun Jan 16, 2011 10:37 pm

Đọc số-(Hàm) Titleb10 Sun Jan 16, 2011 10:37 pm » Re: Đọc số-(Hàm) Đọc số-(Hàm) Titleb13
Ủa nó ko in ra: mot tram ngan le nam muoi sa0
Mà code này đâu làm theo ý tưởng đọc số 0 ở đầu mỗi bộ 3 như không ngàn, không trăm


Tboy

Đọc số-(Hàm) Border10 Đọc số-(Hàm) Border14
Về Đầu Trang Go down
https://taplaptrinh.forumvi.com
Sponsored content




Đọc số-(Hàm) Empty
Bài gửiTiêu đề: Re: Đọc số-(Hàm)   Đọc số-(Hàm) Empty

Đọc số-(Hàm) Titleb10 » Re: Đọc số-(Hàm) Đọc số-(Hàm) Titleb13


Sponsored content

Đọc số-(Hàm) Border10 Đọc số-(Hàm) Border14
Về Đầu Trang Go down
 

Đọc số-(Hàm)

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
 :: Cơ sở lập trình 1 :: Bài tập thực hành-