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 | 
 

 Từ đối xứng trong chuỗi

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

Từ đối xứng trong chuỗi Empty
Bài gửiTiêu đề: Từ đối xứng trong chuỗi   Từ đối xứng trong chuỗi EmptyMon Mar 07, 2011 7:53 pm

Từ đối xứng trong chuỗi Titleb10 Mon Mar 07, 2011 7:53 pm » Từ đối xứng trong chuỗi Từ đối xứng trong chuỗi Titleb13
Code:
#include <stdio.h>
#include <string.h>
#include <conio.h>
#include <malloc.h>
#define Max 1001
typedef char SDX[Max];                                                           
bool LaDX(char *S);
SDX *ChuoiDX(char *S, int *Dem);
void main()
{
    char a[Max];
    SDX *s;
    int dem;
/* O day,ta se hieu la *s la mang 1 chieu co kieu la SDX
Tuc cac phan tu cua mang nay co kieu SDX, moi phan tu la mot chuoi */
    fflush(stdin);
    printf("Nhap chuoi: ");
    gets(a);
    s=ChuoiDX(a,&dem);
    printf("Chuoi con doi xung:\n");
    for(int i=0;i<dem;i++)
        printf("%s\n",s[i]);
    getch();
}
bool LaDX(char *S,int K1,int K2)
{
    for(int i=0;i<(K2-K1)/2;i++)
        if(S[K1+i]!=S[K2 -1 -i])
            return false;
    return true;
}
SDX *ChuoiDX(char *S, int *Dem)
{
    SDX *t;
    *Dem=0;
    int i=0,j=0,len= strlen(S),k1,k2;
 //Tim so luong phan tu cua mang t
    while(i<len) // Xet toan bo chuoi
    {
    //Xet khi gap ky tu khoang trang
        while(S[i]==' '&&i<len)
            i++;
        k1=i;// lay vi tri dau tien cua tu
    //Xet khi gap ky tu khong phai khoang trang
        while(S[i]!=' '&&i<len)
              i++;
          k2=i;// Lay vi tri cuoi+1 cua tu
          if(k2!=k1&&LaDX(S,k1,k2))
          (*Dem)++; 
    }
// Cap phat dong cho t
    t=(SDX *)malloc((*Dem)*sizeof(SDX));
//Tim chuoi doi xung cho vao mang t
    i=0;
    while(i<len) // Xet toan bo chuoi
      {
    //Xet khi gap ky tu khoang trang
        while(S[i]==' '&&i<len)
            i++;
        k1=i;
    //Xet khi gap ky tu khong phai khoang trang
        while(S[i]!=' '&&i<len)
              i++;
          k2=i;
          if(k2!=k1&&LaDX(S,k1,k2))
          {
            memcpy(t+j,S+k1,k2-k1+1);
            t[j][k2-k1+1]='\0';
            j++;
          }
    }
    return t;
}


Tboy

Từ đối xứng trong chuỗi Border10 Từ đối xứng trong chuỗi Border14
Về Đầu Trang Go down
https://taplaptrinh.forumvi.com
 

Từ đối xứng trong chuỗi

Xem chủ đề cũ hơn Xem chủ đề mới hơn Về Đầu Trang 

 Similar topics

-
» Tìm chuỗi dài nhất - (Chuỗi- Xâu ký tự)
» Ghép chuỗi - (Chuỗi - Xâu ký tự)
» Palindrome - (Chuỗi - Xâu ký tự)
» Chèn ký tự - (Chuỗi - Xâu ký tự)
» Đếm số lần xuất hiện - (Chuỗi - Xâu ký tự)
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-