Tboy Cá voi
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
| Tiêu đề: Ghép chuỗi - (Chuỗi - Xâu ký tự) Mon Mar 07, 2011 8:34 pm | |
| | Mon Mar 07, 2011 8:34 pm Ghép chuỗi - (Chuỗi - Xâu ký tự) | | | - Code:
-
#include <stdio.h> #include <string.h> #include <conio.h> #include <malloc.h> #define Max 100 typedef char SMAX[Max]; /*Khi thuc hien cau lenh tren tuc la ta da dinh nghia SMAX la kieu moi kieu nay la mot mang chua Max phan tu, moi phan tu chua 1 ky tu (luu y: kieu char la 1 ky tu) => SMAX la mot chuoi _Tai sao ta lai thuc hien dinh nghia kieu moi? _Chuoi la mang cac ky tu, Ham ta can tra ve la mang chuoi ma C ko co kieu mang chuoi,nen ta phai dinh nghia moi bang cach dinh nghia SMAX la mot mang cac ky tu, tuc chuoi Khi khai bao SMAX *s,ta se tao ra mang co kieu SMAX, ta duoc mang cac chuoi*/ SMAX *Nhapmang(int N); char *Ghep(SMAX *S,int N); void main() { int n; SMAX *s; /* O day,ta se hieu la *s la mang 1 chieu co kieu la SMAX Tuc cac phan tu cua mang nay co kieu SMAX, moi phan tu la mot chuoi */ // flushall(); do { printf("Nhap so chuoi: "); scanf("%d",&n); }while(n<1||n>Max); s=Nhapmang(n); printf("Chuoi ghep thanh la:\n%s\n",Ghep(s,n)); getch(); } SMAX *Nhapmang(int N) { SMAX *tmp; tmp=(SMAX *)malloc(N*sizeof(SMAX)); for(int i=0;i<N;i++) { printf("Nhap chuoi %d: ",i+1); gets(tmp[i]); } return tmp; } char *Ghep(SMAX *S,int N) { char *tmp; int len=0; //bien tmp thanh chuoi dai N*Max tmp=(char *)malloc(N*Max*sizeof(char)); strcpy(tmp,""); //ghep chuoi for(int i=0;i<N;i++) { len=strlen(tmp); strcpy(&tmp[len],S[i]); } return tmp; } Ai chạy thử dùm coi!!! Tboy
| | | | | |
|