Từ 1 tới 2 trên tổng số 2 kết quả

Đề tài: cần giúp về thuật toán các bài chuỗi sau

  1. #1
    No Avatar
    nel Khách

    Mặc định cần giúp về thuật toán các bài chuỗi sau

    có thể giuóp em về thuật toán không - em hok hiểu cách thức hoạt động các hàm này ( các vòng lặp )
    1/
    replace va fine
    Code:
    /* Bai tap 1_95 - Tim va thay the mot chuoi con */
    /*
      Tim kiem va thay the chuoi con trong mot chuoi lon
      s  : chuoi lon
      s1 : chuoi con
      s2 : chuoi se thay the
      De chac chan khong bi loi thi chuoi s phai co kha nang chua du
    */
    #include <stdio.h>
    #include <string.h>
    char *str_str(char *s, char *s1, char *s2)
    {
      int len  = strlen(s);
      int len1 = strlen(s1);
      int len2 = strlen(s2);
      int i=0, j, luu;
    
      if (len1!=0)
        while (i<len)
        {
          if (s[i] == s1[0])
          {
            j = 0;
            luu = i;
            while ((s[luu++] == s1[j++]) && (j < len1)) ;
            if (j==len1)
            {
              memmove(&s[i+len2], &s[i+len1], len - i - len1+1);
              memcpy(&s[i],s2,len2);
              len = len + len2 - len1;
              i += len2;
            }
            else i ++;
          }
          else i++;
        }
      return s;
    }
    
    void main()
    {
      char s[255], s1[20], s2[20];
    
      printf("Nhap vao chuoi lon : "); gets(s);
      printf("Nhap vao chuoi tim : "); gets(s1);
      printf("Nhap vao chuoi thay the : "); gets(s2);
      str_str(s, s1, s2);
      printf("Chuoi sau khi tim va thay the la : %s", s);
      getch();
    }
    chuẩn hóa chuỗi

    Code:
    #include <stdio.h>
    #include <conio.h>
    #include <string.h>
    #include <ctype.h>
    void main(){
         //clrscr();
         int i,j;
         char s[1000];
         printf("\nNhap xau: ");
         gets(s);
         strlwr(s);
         while(s[0]==' ')
           for(i=0;i<=strlen(s);i++)
         s[i]=s[i+1];
         s[0]=toupper(s[0]);
         for(i=1;i<strlen(s);i++)
           while(s[i]==' ' && (s[i+1]==' '||s[i+1]=='\0')){
         for(j=i;j<=strlen(s);j++)
           s[j]=s[j+1];
         }
         for(i=1;i<strlen(s);i++)
        if(s[i]==' '&&s[i+1]!=' ')  s[i+1]=toupper(s[i+1]);
         printf("\nXau chuan hoa: %s",s);
         getch();
    }
    mã hóa thông điệp
    Code:
    /* Ma hoa thong diep */
    #include <stdio.h>
    #include <ctype.h>
    
    char *crypt(char *tdiep, int column)
    {
      char tam[255], *result;
      int i = 0, k = 0, n, j=0;
    
      while(tdiep[i] != 0)
      {
        if (isalnum(tdiep[i]))
          tam[k++] = tdiep[i];
        i++;
      }
      tam[k] = 0;
      result = (char *)malloc(k+1);
      for (i=0; i<column; i++)
      {
        n = 0;
        while(n+i < k)
        {
          result[j++] = tolower(tam[n+i]);
          n += column;
        }
      }
      result[k] = 0;
      return result;
    }
    
    void main()
    {
      char thongdiep[255], *mahoa;
      int col;
    
      printf("\nNhap thong diep can ma hoa : ");
      gets(thongdiep);
      printf("\nCho biet so cot : ");
      scanf("%d", &col);
      mahoa = crypt(thongdiep, col);
      printf("\nThong diep da duoc ma hoa thanh : %s", mahoa);
      getch();
    }
    Đã được chỉnh sửa lần cuối bởi nel : 04-02-2009 lúc 01:15 PM.

  2. #2
    Ngày gia nhập
    01 2009
    Nơi ở
    Tân ấp - Hà Nội
    Bài viết
    20

    Bạn không hiểu cách thức hoạt động của nó, nói như vậy tức là mấy bài này bạn đi chép ah. Vậy thì muốn hiểu nó hoạt động như thế nào, bạn hãy đọc mấy quấn về lập trình c cơ bản. Trên diễn đàn cũng có nhiều ebook lắm đó.
    Em còn nhớ hay em đã quên
    Nhớ Sài Gòn mưa rồi chợt nắng
    Nhớ phố xưa quen biết tên bàn chân
    Nhớ đèn đường từng đêm thao thức
    Sáng cho em vòm lá me xanh

Các đề tài tương tự

  1. Mình cần giúp đỡ về cắt chuỗi và tìm chuỗi dài nhất
    Gửi bởi washabi trong diễn đàn Nhập môn lập trình C#, ASP.NET
    Trả lời: 3
    Bài viết cuối: 20-08-2012, 08:50 AM
  2. code tìm chuỗi con trong chuỗi lớn bị lỗi khó hiểu..mọi người giúp mình vơi
    Gửi bởi giophieulang trong diễn đàn Nhập môn lập trình C/C++
    Trả lời: 2
    Bài viết cuối: 30-05-2012, 10:35 AM
  3. Kiểm tra chuỗi đối xứng. Sai khi nhập chuỗi 3 ký tự, còn lại đúng. Ai xem giúp mình với
    Gửi bởi Shock0z trong diễn đàn Thảo luận, góp ý code C/C++ của bạn
    Trả lời: 10
    Bài viết cuối: 12-11-2011, 09:28 PM
  4. lưu đồ giải thuật bài mã đi tuần thuật toán quay lui vét cạn. Giúp mình với?
    Gửi bởi katemat000 trong diễn đàn Thắc mắc lập trình C/C++/C++0x
    Trả lời: 1
    Bài viết cuối: 05-01-2010, 10:53 PM
  5. Tách chuỗi số giảm dần trong một chuỗi lớn, thuật toán xử lý như thế nào?
    Gửi bởi longtom trong diễn đàn Thắc mắc lập trình C/C++/C++0x
    Trả lời: 12
    Bài viết cuối: 12-05-2009, 04:10 PM

Quyền hạn của bạn

  • Bạn không thể gửi đề tài mới
  • Bạn không thể gửi bài trả lời
  • Bạn không thể gửi các đính kèm
  • Bạn không thể chỉnh sửa bài viết của bạn