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

Đề tài: Tìm vi trí của chuỗi

  1. #1
    Ngày gia nhập
    03 2008
    Nơi ở
    Nhà tù
    Bài viết
    37

    Mặc định Tìm vi trí của chuỗi

    C Code:
    1. #include<stdio.h>
    2. #include<conio.h>
    3. #include<string.h>
    4.  
    5.  
    6. main()
    7. {
    8.  
    9.  
    10. char chuoi[100],x;
    11. int i;
    12.  
    13. clrscr();
    14.  
    15. printf("Nhap vao mot chuoi:");
    16. gets(chuoi);
    17.  
    18. printf("\nNhap vao ki tu can tim:");
    19. scanf("%c",&x);
    20.  
    21. for(i=0;i<strlen(chuoi);i++)
    22. {
    23. if(i==x)
    24. printf("Trong chuoi co ki tu %c.O vi tri thu :%d",x,i);
    25. }
    26.  
    27.  
    28. getch();
    29. }
    Bài này em sai chỗ nào vậy.Sao em vao nhâp chuỗi,nhập kí tự cần tìm rồi nhưng mà nó không ra kết quả

  2. #2
    Ngày gia nhập
    05 2008
    Bài viết
    1

    bạn nên xem kĩ bài của mình làm trc khi hỏi tại sao nó sai, bạn sai ngay lỗi cơ bản nhất rồi đó

  3. #3
    Ngày gia nhập
    01 2008
    Nơi ở
    Rất nhiều sóng gió
    Bài viết
    448

    Trích dẫn Nguyên bản được gửi bởi kegiaumat055 Xem bài viết
    for(i=0;i<strlen(chuoi);i++)
    {
    if(i==x)
    printf("Trong chuoi co ki tu %c.O vi tri thu :%d",x,i);
    }
    là if(chuoi[i]==x) chứ.

  4. #4
    Ngày gia nhập
    03 2008
    Nơi ở
    Nhà tù
    Bài viết
    37

    EM sửa rồi nhưng bài toán cho kết quả sai.
    Ví dụ:Em nhâp chuỗi:Hòa
    kí tự cần tìm:a thì nó ra kết quả là Vị trí thứ 0,Vị trí thứ 1,Vị trí thứ 2

    C Code:
    1. #include<stdio.h>
    2. #include<conio.h>
    3. #include<string.h>
    4.  
    5.  
    6. main()
    7. {
    8.  
    9.  
    10. char chuoi[100],x;
    11. int i;
    12.  
    13. clrscr();
    14.  
    15. printf("Nhap vao mot chuoi:");
    16. gets(chuoi);
    17.  
    18. printf("\nNhap vao ki tu can tim:");
    19. scanf("%c",&x);
    20.  
    21. for(i=0;i<strlen(chuoi);i++)
    22. {
    23. if(chuoi[i]=x)
    24. printf(" vi tri thu :%d",i);
    25. }
    26.  
    27.  
    28. getch();
    29. }
    Đã được chỉnh sửa lần cuối bởi kegiaumat055 : 11-05-2008 lúc 11:04 PM.

  5. #5
    Ngày gia nhập
    01 2008
    Nơi ở
    Rất nhiều sóng gió
    Bài viết
    448

    Bạn nhầm dấu bằng ( == ) với dấu gán ( = ).

  6. #6
    Ngày gia nhập
    03 2008
    Nơi ở
    Nhà tù
    Bài viết
    37

    Mặc định Tìm vi trí của chuỗi

    Cũng bài trên nhưng tại sao em lại sai:
    C Code:
    1. #include<stdio.h>
    2. #include<conio.h>
    3. #include<string.h>
    4. int tk(char *chuoi[100],char x);
    5. main();
    6.  
    7.  
    8. char chuoi[100],x;
    9. int i;
    10. clrscr();
    11.  
    12.  
    13. printf("Nhap chuoi bat ki:");
    14. gets(chuoi);fflush(stdin);
    15.  
    16.  
    17. printf("nhap vao chuoi tim kiem:");
    18. scanf("%c",&x);fflush(stdin);
    19.  
    20. i=tk(chuoi,x);
    21.  
    22. printf("No nam o vi tri thu:%d",i+1);
    23. getch();
    24. }
    25.  
    26. int tk(char *chuoi[100],char x)
    27. {
    28. for(int i=0;i<strlen(chuoi);i++)
    29. {
    30. if(chuoi[i]==x)
    31. return i;
    32. }
    33. }

  7. #7
    Ngày gia nhập
    12 2006
    Nơi ở
    US
    Bài viết
    1,917

    Idea sai rùi :
    C Code:
    1. char chuoi[100],x;
    x là kí tự không phải chuỗi !
    readString thay cho gets().

    C Code:
    1. #include <cstdio>
    2. #include <cstring>
    3. #include <cstdlib>
    4.  
    5. int   findPosition( char const* source, char const* find );
    6. char* findChar( char const* src, char c );
    7. void  readString( char str[], unsigned len );
    8.  
    9. int main()
    10. {
    11.     char source[ 100 ],
    12.          str[ 10 ];
    13.     int  pos;
    14.  
    15.  
    16.     printf( "Nhap chuoi bat ki : \n" );
    17.     readString( source, 100 );
    18.  
    19.     printf( "Nhap vao chuoi tim kiem : " );
    20.     readString( str, 10 );
    21.  
    22.     pos = ( int )findPosition( source, str );
    23.     if( pos != -1 )
    24.     {
    25.         printf( "No nam o vi tri thu:%d", pos + 1 );
    26.     }
    27.  
    28.     return 0;
    29. }
    30.  
    31. void readString( char str[], unsigned len )
    32. {
    33.     int toke, x = 0;
    34.     while( ( toke = getchar( ) ) != EOF && toke != '\n' )
    35.     {
    36.         str[ x++ ] = toke;
    37.         if( x == len )
    38.         {
    39.             printf( "\n...buffer overflow.\n" );
    40.             exit( 1 );//return;
    41.         }
    42.     }
    43.     str[ x ] = '\0';
    44. }
    45.  
    46. char* findChar( char const* src, char c )
    47. {
    48.     while( *src != '\0' && *src != ( char )c )
    49.         src++;
    50.     return( ( *src == c ) ? ( char * ) src : NULL );
    51. }
    52.  
    53. int findPosition( char const* source, char const* str )
    54. {
    55.     size_t len;
    56.     int    pos = 0;
    57.     if( *str == '\0' )
    58.         return 0;
    59.  
    60.     len = strlen( str );
    61.     for( ;( source = findChar( source, *str )) != NULL; source++ )
    62.     {
    63.         pos++;
    64.         if( strncmp( source, str, len ) == 0 )
    65.             return pos;
    66.     }
    67.     return -1;
    68. }

  8. #8
    Ngày gia nhập
    03 2008
    Nơi ở
    Nhà tù
    Bài viết
    37

    Anh làm cái gì mà công trừ tùm lu tùm la vậy.Anh làm ngắn gọn dược không.
    Bài 1:
    C Code:
    1. #include<stdio.h>
    2. #include<conio.h>
    3.  
    4. int strchr(char *s,char c, int& position);
    5. main()
    6. {
    7.   char s[80], c;
    8.  
    9.   int position; clrscr();
    10.   printf("Nhap s=");
    11.   gets(s);
    12.   printf("Nhap c=");
    13.  
    14.   scanf(" %c", &c);
    15.   strchr(s,c, position);
    16.   if(strchr(s,c, position) != 0)
    17.     printf("Trong chuoi s co ky tu %c: .Vi tri xh la %d:", c , position+1);
    18.   else
    19.     printf("Ko xh!"); getch();
    20. }
    21. int strchr(char *s, char c, int& position)
    22. {
    23.  
    24.   for(int i = 0; s[i] != '\0'; ++i)
    25.   {
    26.     if(s[i] == c)
    27.     {
    28.      
    29.       position = i;
    30.       return i;
    31.     }
    32.   }

    Bài 2:
    C Code:
    1. #include<stdio.h>
    2. #include<conio.h>
    3. #include<string.h>
    4. int tk(char chuoi[100],int x);
    5. main()
    6.  {
    7.  
    8. char chuoi[100]; int x;
    9. int i;
    10. clrscr();
    11.  
    12.  
    13. printf("Nhap chuoi bat ki:");
    14. gets(chuoi);fflush(stdin);
    15.  
    16.  
    17. printf("nhap vao chuoi tim kiem:");
    18. scanf("%c",&x);fflush(stdin);
    19.  
    20. i=tk(chuoi,x);
    21.  
    22. printf("No nam o vi tri thu:%d",i+1);
    23. getch();
    24. }
    25.  
    26. int tk(char chuoi[100],char x)
    27. {
    28. for(int i=0;i<strlen(chuoi);i++)
    29. {
    30. if(chuoi[i]==x)
    31. return i;
    32. }
    33. }

    Hai bài trên đều cùng một mục đích nhưng sao bài thứ hai lại sai.Có thể làm bài toán này bằng cách thứ hai được không

  9. #9
    Ngày gia nhập
    12 2006
    Nơi ở
    US
    Bài viết
    1,917

    Hai bài trên đều cùng một mục đích nhưng sao bài thứ hai lại sai.Có thể làm bài toán này bằng cách thứ hai được không
    Làm ơn đọc cho kĩ yêu cầu bài toán !!!
    printf("nhap vao chuoi tim kiem:");
    scanf("%c",&x);fflush(stdin);
    Cậu cho nhập chuỗi tìm kiếm hay cậu cho nhập 1 kí tự ???

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

  1. Bài tập C++ Cách để so sánh 2 chuỗi kí tự giữa chuỗi nhập từ phím và chuỗi từ file xem có giống nhau không?
    Gửi bởi davilson18 trong diễn đàn Nhập môn lập trình C/C++
    Trả lời: 4
    Bài viết cuối: 09-06-2012, 09:47 AM
  2. Lập trình C Thay thế chuỗi s1 trong chuỗi s bằng chuỗi s
    Gửi bởi duytue trong diễn đàn Thắc mắc lập trình C/C++/C++0x
    Trả lời: 7
    Bài viết cuối: 23-09-2011, 04:16 PM
  3. thay thế chuỗi con thứ i trong chuỗi mẹ bằng 1 chuỗi khác
    Gửi bởi nhat1811 trong diễn đàn Thắc mắc lập trình C/C++/C++0x
    Trả lời: 3
    Bài viết cuối: 06-08-2011, 08:25 AM
  4. Trả lời: 1
    Bài viết cuối: 29-06-2011, 12:02 AM
  5. xem một từ trong chuỗi là một chuỗi con, sắp xếp các chuỗi con theo thứ tự tăng dần
    Gửi bởi qpkdct1101 trong diễn đàn Nhập môn lập trình C/C++
    Trả lời: 0
    Bài viết cuối: 20-01-2011, 08:22 AM

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