-_- Welcome to Club Eat Play -_-
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.

-_- Welcome to Club Eat Play -_-


 
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  

 

 ham 8 chụ kj tu

Go down 
Tác giảThông điệp
hanhfuckhjbenanh
Moderators Angle
Moderators Angle
hanhfuckhjbenanh


Tổng số bài gửi : 11
Points : 22
Reputation : 100
Join date : 14/11/2009
Age : 35
Đến từ : Đồng Nai

ham 8 chụ kj tu Empty
Bài gửiTiêu đề: ham 8 chụ kj tu   ham 8 chụ kj tu EmptyWed Nov 18, 2009 3:21 pm

Code:
8 HAM VE CHUOI KI TU
#include <stdio.h>
#include <string.h>
#include <malloc.h>

unsigned int mystrlen(char *s);
char* mystrupr(char *s);
char* mystrlwr(char *s);
char* mystrrev(char *s);
char* proper(char *s);
char* XoaKyTu(char *s, int vt);
char* standard(char *s);
char* XoaTatCaKhoangTrang(char *s);
int DemSoLuongVaLietKeTu(char *s);
char* TimTuDaiNhat(char *s);
void LietKeCacTuDaiNhat(char *s);

void main()
{
  char s[100];

  printf("Nhap mot chuoi: ");
  gets(s);
  printf("Chuoi vua nhap la: \"%s\"\n", s);

  printf("Chuoi IN: \"%s\"\n", mystrupr(s));
  printf("Chuoi thuong: \"%s\"\n", mystrlwr(s));
  printf("Chuoi dao: \"%s\"\n", mystrrev(s));
  printf("Chuoi ten rieng: \"%s\"\n", proper(s));
  printf("Chuoi chuan hoa: \"%s\"\n", standard(s));
 
  int soluong = DemSoLuongVaLietKeTu(s);
  printf("Co tong cong %d tu\n", soluong);

  printf("Mot trong cac tu dai nhat la: %s\n", TimTuDaiNhat(s));
 
  LietKeCacTuDaiNhat(s);

  printf("Chuoi sau khi xoa tat ca khoang trang: \"%s\"\n", XoaTatCaKhoangTrang(s));
}

unsigned int mystrlen(char *s)
{
  unsigned int len = 0;
 
  while (s[len] != '\0')
      len++;

  return len;
}
// biến chuổi in thường thành IN HOA
char* mystrupr(char *s)
{
  for (int i=0; i<strlen(s); i++)
      if (s[i] >= 'a' && s[i] <= 'z')
        s[i] = s[i] - 32;

  return s;
}
// biến chuổi IN HOA thành in thường
char* mystrlwr(char *s)
{
  int n = strlen(s);
 
  for (int i=0; i<n; i++)
      if (s[i] >= 'A' && s[i] <= 'Z')
        s[i] = s[i] + 32;

  return s;
}
// Đảo chuổi
char* mystrrev(char *s)
{
  int n = strlen(s);
 
  // 01234 -> 43210
  for (int i=0; i<n/2; i++)
  {
      char t = s[i];
      s[i] = s[n-1-i];
      s[n-1-i] = t;
  }

  return s;
}
// lấy tên riêng
char* proper(char *s)
{
  strlwr(s);

  if (strlen(s) > 0)
  {
      if (s[0] >= 'a' && s[0] <= 'z')
        s[0] = s[0] - 32;

      for (int i=1; i<strlen(s); i++)
        if (s[i] >= 'a' && s[i] <= 'z' && s[i-1] == ' ')
            s[i] = s[i] - 32;
  }

  return s;
}

// Xoá Kí Tự
char* XoaKyTu(char *s, int vt)
{
  if (vt>=0 && vt<strlen(s))
  {
      // Cach 1
      //for (int i=vt; i<strlen(s)-1; i++)
      //  s[i] = s[i+1];

      //s[strlen(s)-1] = '\0';

      // Cach 2
      for (int i=vt; i<strlen(s); i++)
        s[i] = s[i+1];
  }

  return s;
}
//Chuẩn Hoá Chuổi Kí Tự
char* standard(char *s)
{
  // Xoa khoang trang du dau chuoi
  while (s[0] == ' ')
      XoaKyTu(s, 0);

  // Xoa khoang trang du cuoi chuoi
  while (s[strlen(s)-1] == ' ')
      XoaKyTu(s, strlen(s)-1);

  // Xoa khoang trang du giua chuoi
  for (int i=1; i<strlen(s)-2; )
      if (s[i] == ' ' && s[i+1] == ' ')
        XoaKyTu(s, i);
      else
        i++;

  return s;
}

char* XoaTatCaKhoangTrang(char *s)
{
  // Cach 1
  /*for (int i=0; i<strlen(s); i++)
      if (s[i] == ' ')
      {
        XoaKyTu(s, i);
        i--;
      }*/

  // Cach 2
  /*for (int i=0; i<strlen(s); )
      if (s[i] == ' ')
        XoaKyTu(s, i);
      else
        i++;*/

  // Cach 3
  for (int i=strlen(s)-1; i>=0; i--)
      if (s[i] == ' ')
        XoaKyTu(s, i);

  return s;
}
// Điếm Số Lượng Và Liệt Kê Từ
int DemSoLuongVaLietKeTu(char *s)
{
  char *s2 = strdup(s); // hoac s = strdup(s);

  char *p;
  int dem = 0;
 
  p = strtok(s2, " "); // Luu y, sau khi su dung strtok thi chuoi s bi thay doi
 
  while (p != NULL)
  {
      dem++;
      printf("Tu thu %d: %s\n", dem, p);

      p = strtok(NULL, " ");
  }

  return dem;
}
// Từ Dài Nhất Trong Chuổi
char* TimTuDaiNhat(char *s)
{
  char *s2 = strdup(s);

  char *p, *pmax;
  int lmax = 0;

  p = strtok(s2, " ");
 
  while (p != NULL)
  {
      if (strlen(p) > lmax)
      {
        pmax = p;
        lmax = strlen(p);
      }

      p = strtok(NULL, " ");
  }

  return pmax;
}
//Liệt Kê các Từ Dài Nhất
void LietKeCacTuDaiNhat(char *s)
{
  char *s2 = strdup(s);

  int lmax = strlen(TimTuDaiNhat(s2));

  char *p;

  printf("Cac tu dai nhat la:\n");
  p = strtok(s2, " ");
 
  while (p != NULL)
  {
      if (strlen(p) == lmax)
        puts(p);

      p = strtok(NULL, " ");

  }
}
MA TRAN XOAN OC
#include<iostream.h>
const int max=100;
bool Bidung(int A[max][max],int m,int n,int x,int y,int dx,int dy,int dem);
bool Bidung(int A[max][max],int m,int n,int x,int y,int dx,int dy,int dem)
{
   if((x+dx<0)||(x+dx>=m)||(y+dy<0)||(y+dy>=n))
      return true;
   else
      if(A[x+dx][y+dy]!=0)
         return true;   
   else
         return false;
}
void main()
{
   int A[max][max]={0};
   int m,n;
   cout<<"nhap vao m n:";
   cin >> m >> n;
   int x,y,dx,dy,dem,t;
x=m-1;
   y=n-1;
   dx=0;
   dy=1;
   dem=0;
   for(int i=0;i<m*n;i++)
   {
      dem++;
      A[x][y]=dem;
while((Bidung(A,m,n,x,y,dx,dy,dem)==true) &&(dem<m*n))
      {
         t=dx;
         dx=-dy;
         dy=t;
      }
      x+=dx;
      y+=dy;
   }
   for(i=0;i<m;i++)
   {
      for(int j=0;j<n;j++)
      {
         cout<<A[i][j]<<'\t';
      }
      cout<<endl;
   }

}
Về Đầu Trang Go down
 
ham 8 chụ kj tu
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 Club Eat Play -_- :: [S]tudy :: [D]ocument-
Chuyển đến 
Free forum | ©phpBB | Free forum support | Báo cáo lạm dụng | Thảo luận mới nhất