hanhfuckhjbenanh Moderators Angle
Tổng số bài gửi : 11 Points : 22 Reputation : 100 Join date : 14/11/2009 Age : 35 Đến từ : Đồng Nai
| Tiêu đề: ham 8 chụ kj tu Wed 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; }
}
| |
|