HN - Aptech
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.

HN - Aptech


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

 

 Các dạng toán cơ bản với string (chém đê)

Go down 
Tác giảThông điệp
spyware
Đại Bàng Tinh
Đại Bàng  Tinh
spyware


Tổng số bài gửi : 116
Join date : 04/06/2009
Age : 39
Đến từ : HN

Các dạng toán cơ bản với string (chém đê) Empty
Bài gửiTiêu đề: Các dạng toán cơ bản với string (chém đê)   Các dạng toán cơ bản với string (chém đê) Icon_minitimeSat Jul 11, 2009 8:02 pm

Code:
#include<conio.h>
#include<stdio.h>
#include<string.h>
#include<stdlib.h>
void input(char s[]);// nhap chuoi
void cntch(char s[]); // dem so lan xuat hien cua moi ky tu
int cntword(char s[]); // dem so tu trong chuoi
void ftrim(char s[]); // cat khoang trang o dau chuoi
void ltrim(char s[]); // cat khoang trang cuoi chuoi
int up(char s[]);  //kiem tra: moi tu bat dau = ky tu hoa, sau do la ky tu thuong
void revert(char s[]); // dao chuoi
int sym(char s[]); // chuoi doi xung
void show(char s[]);
void menu(void);
// con ham nao nua khong. bo sung gium.
// kiem tra gium cac ham da chuan, ngan gon chua.
// thanks all
void main()
{
   int i,n;
   char s[100],ch;
   clrscr();
do
  {
   clrscr();
   menu();
   fflush(stdin);
   scanf("%c",&ch);
   switch(ch)
   {
   case '1':input(s);show(s);
       printf("\nSo tu= %d",cntword(s));getch();break;
   case '2':input(s);show(s);
       ftrim(s);getch();break;
   case '3':input(s); show(s); ltrim(s);
       getch();break;
   case '4':input(s);show(s);
       printf("\nKiem tra = %d (1:T||0:F)",sym(s));
       getch();break;
   case '5':input(s);show(s); revert(s);
       getch();break;
   case '6':input(s);show(s);
       printf("\nKiem tra: %d (1:T||0:F)",up(s));
       getch();break;
   case '7':input(s);show(s); cntch(s);
       getch();break;
   case '0':exit(0);
   default : printf("\nNhap sai. nhap lai"); getch();
   }

  } while(ch!='0');

   getch();
}
void menu(void)
{
   printf("\n1. Dem so tu trong chuoi");
   printf("\n2. Cat khoang trang dau chuoi");
   printf("\n3. Cat khoang trang cuoi chuoi");
   printf("\n4. Kiem tra chuoi doi xung");
   printf("\n5. Dao chuoi");
   printf("\n6. Kiem tra tu chuan (bat dau = ky tu hoa, sau do la ky tu thuong)");
   printf("\n7. So so lan xuat hien cua moi ky tu");
   printf("\n0. Exit");
   printf("\n  Nhap lua chon! ");
}
void input(char s[]) // nhap chuoi
{
   printf("Nhap chuoi :");
   fflush(stdin);
   gets(s);
}
void show(char s[])
{
   printf("\nchuoi vua nhap:[%s]",s);
}
int cntword(char s[]) // dem so tu trong chuoi
{
   int i,cnt=0;
   if(strlen(s)==0)   return 0;
   for(i=0;i<strlen(s)-1;i++)
      if(s[i]==' '&&s[i+1]!=' ') cnt++;
   if(s[0]==' ') return cnt;
   return (cnt+1);
}
void ftrim(char s[]) // cat khoang trang o dau chuoi
{
   int i=0;
   while(s[0]==' ')
   for(i=0;i<strlen(s);i++)
      s[i]=s[i+1];
   printf("\nSau khi cat dau:[%s]",s);
}
void ltrim(char s[]) // cat khoang trang cuoi chuoi
{
   while(s[strlen(s)-1]==' ')
      s[strlen(s)-1]=NULL;
   printf("\nSau khi cat duoi:[%s]",s);
}
void revert(char s[]) // dao chuoi
{
   int i;
   char temp;
   for(i=0;i<strlen(s)/2;i++)
   {
      temp=s[i];
      s[i]=s[strlen(s)-1-i];
      s[strlen(s)-1-i]=temp;
   }
   printf("\nChuoi sau khi dao:[%s]",s);
}
int sym(char s[]) // chuoi doi xung
{
   int i;
   for(i=0;i<strlen(s)/2;i++)
   if(s[i]!=s[strlen(s)-1-i])   return 0;
   return 1;
}
int up(char s[])  //kiem tra: moi tu bat dau = ky tu hoa, sau do la ky tu thuong
{
   int i;
   if(s[0]!=' '&& (s[0]<'A'||s[0]>'Z') )   return 0;
   for(i=0;i<strlen(s)-1;i++)
   {
       if(s[i]==' ' && s[i+1]!=' ' && (s[i+1]<'A'||s[i+1]>'Z'))
      return 0;
       if(s[i]!=' '&& s[i+1]>='A'&&s[i+1]<='Z')
      return 0;
   }
   return 1;
}
void cntch(char s[])  // dem so lan xuat hien cua moi ky tu
{
   int i,j,t=1,cnt;
   char u[100];
   u[0]=s[0];
   for(i=1;i<strlen(s);i++)
   {
      for(j=0;j<i;j++)
      if(u[j]==s[i]) break;
      else if(j==i-1)
         u[t++]=s[i];
   }
   u[t]=NULL; //  u[] luu cac ky tu khac nhau trong s[]
   // dem moi ky tu
   for(i=0;i<t;i++)
   {
   cnt=0;
   for(j=0;j<strlen(s);j++)
      if(s[j]==u[i]) cnt++;
   printf("\n%c : %d",u[i],cnt);
   }

}
Về Đầu Trang Go down
spyware
Đại Bàng Tinh
Đại Bàng  Tinh
spyware


Tổng số bài gửi : 116
Join date : 04/06/2009
Age : 39
Đến từ : HN

Các dạng toán cơ bản với string (chém đê) Empty
Bài gửiTiêu đề: Re: Các dạng toán cơ bản với string (chém đê)   Các dạng toán cơ bản với string (chém đê) Icon_minitimeSun Jul 12, 2009 11:42 pm

- còn phần chuẩn hóa chuỗi, chèn ký tự vào chuỗi, và các function với mảng chuỗi s[][]. ai post lên giùm cho đủ bộ (s[][] như tìm chuỗi con, các chuỗi có độ dài = max, min.... )
- phần in ra các loại tam giác số 1-->n, tam giác a[i], in ra dạng n cột của mảng số a[n], .... and more. .. còn loại gì nữa đưa lên hết đê
Về Đầu Trang Go down
 
Các dạng toán cơ bản với string (chém đê)
Về Đầu Trang 
Trang 1 trong tổng số 1 trang
 Similar topics
-
» code 15 mới các chú bác vào mà chém gió (chém chuẩn vào nhớ)
» Bài thực hành 6[ String]
» code 18 full option mời các bác vào xem , chém gió
» code 6 chém nhiệt tình nhé
» code 09 thiếu EXAM1 mời các bác vào chém code hay cực (menu)

Permissions in this forum:Bạn không có quyền trả lời bài viết
HN - Aptech :: Khóa Học :: SEMESTER I :: C :: Bài Tập-
Chuyển đến