Follow us on...
Follow us on Twitter Follow us on Facebook Watch us on YouTube

Mời tài trợ sinh nhật diễn đàn 8 năm

Tìm HD - Phần mềm tìm và xem phim HD miễn phí

Đăng ký tham gia offline VN-Zoom 8 năm tại HCM

Chiêm ngưỡng BaoMoi đẹp "tuyệt diệu" trên Windows Phone

Tài trợ VNZ Siêu phẩm Tân Kiếm Thế chibi 3D mới

Tuyển BQT VN-Zoom
kết quả từ 1 tới 5 trên 5
  1. #1
    nhockon0201's Avatar
    nhockon0201 vẫn chưa có mặt trong diễn đàn Gà Con
    Tham gia
    Jun 2008
    Bài
    7
    Cảm ơn
    1
    Điểm
    0/0 bài viết
    VR power
    0

    Default Bài tập về chuỗi trong C

    Đây là bài tập về chuỗi, chèn ký tự vào các nguyên âm của dãy
    Nếu hem thêm lẹnh pirntf() (ghi chú trong đoạn code) thì chương trình chạy đúng, còn bỏ đi thì chương trình chạy sai. Mọi người check hộ em lỗi này vơi

    Code:
    #include <stdio.h>
    #include <conio.h>
    #include <ctype.h>
    #include <string.h>
    #define MAX 100
    
    int check(char s)
    {
    
              char a;
              a=toupper(s);
              if (a<='Z' && a>='A')
              {
                         if ( a=='E' || a=='U' || a=='A' || a=='O' || a=='I') return 1;
              }
         
    }
    void insert(char str[], char ch)
    {
         int c = strlen(str);
         str[c]=' ';
         for (int i=0;i<=c;i++)
         {
             if (check(str[i])==1)
              {  printf(" ");  //Khong co' thi chay sai
                 for(int j=c; j>i;j--) 
                 {
                 char x;
                  x=str[j];
                  str[j]=str[j-1];
                  str[j-1]=x; 
                 }
                str[i]=ch;
                i++;
                c++;
              }  
         }
         printf("%s", str);
    }
    
    main()
    {
          char s[100];
          char a;
          printf("\n Nhap chuoi:");
          gets(s);
          printf("\n Nhap ky tu bat ky:"); scanf("%c", &a);
          insert(s,a);
          //for(int i=0;i<strlen(s);i++)
                   //printf("%s", s);
           getch();
    }

  2. #2
    ptquang160492's Avatar
    ptquang160492 vẫn chưa có mặt trong diễn đàn Rìu Bạc Đôi
    Tham gia
    Mar 2012
    Đến từ
    Another planet
    Bài
    502
    Cảm ơn
    196
    Điểm
    127/110 bài viết
    VR power
    0

    Default

    mình đã chạy thử chương trình của bạn, bỏ hay không bỏ đều không cho ra kết quả đúng!
    main() // kiểu trả về ???
    {
    char s[100];
    char a;
    printf("\n Nhap chuoi:");
    gets(s);
    printf("\n Nhap ky tu bat ky:"); scanf("%c", &a);
    insert(s,a);
    //for(int i=0;i<strlen(s);i++)
    //printf("%s", s);
    getch();
    }
    int check(char s)
    {

    char a;
    a=toupper(s);
    if (a<='Z' && a>='A')
    {
    if ( a=='E' || a=='U' || a=='A' || a=='O' || a=='I') return 1; // nếu không phải trường hợp này thì sao?!
    }

    }
    Bạn tham khảo đoạn code của mình:
    Code:
    bool check(char s)
    {
    	if (s == 'a' || s == 'o' || s == 'u' || s == 'e' || s == 'i')
    		return true;
    	else
    		return false;
    }
    
    void insert(char str[], char ch)
    {
         int c = strlen(str);
    	 for (int i = 0; i < c; i++)
    	 {
    		if (check(str[i]))
    		{
    			//c++;
    			str = strcat(str, " ");			
    			for (int j = strlen(str); j > i; j--)
    			{
    				str[j] = str[j-1];
    			}
    			str[i+1] = ch;
    		}
    	 }
    }

  3. #3
    lechuong482's Avatar
    lechuong482 vẫn chưa có mặt trong diễn đàn Gà Con
    Tham gia
    Nov 2012
    Bài
    2
    Cảm ơn
    0
    Điểm
    0/0 bài viết
    VR power
    0

    Default

    Các bạn giúp mình bài tập này với
    Đề: 1/Viết c/t cho phép người sử dụng nhập vào 1 chuỗi và chuẩn hóa chuỗi đó
    2/cũng đề như trên nhưng chuyển chữ HOA thành chữ thường
    Mong các bạn giúp mình với.

  4. #4
    krs's Avatar
    krs
    krs vẫn chưa có mặt trong diễn đàn Rìu Vàng
    Tham gia
    Apr 2008
    Bài
    954
    Cảm ơn
    1.563
    Điểm
    588/227 bài viết
    VR power
    0

    Default

    ^ nghe quen thế, cùng 1 thầy hả

  5. #5
    kenzj12's Avatar
    kenzj12 vẫn chưa có mặt trong diễn đàn Rìu Vàng
    Tham gia
    Apr 2009
    Bài
    685
    Cảm ơn
    117
    Điểm
    234/132 bài viết
    VR power
    0

    Default

    Bạn nên xem lại giải thuật chèn phần tử !


    Trích nhockon0201 View Post
    Đây là bài tập về chuỗi, chèn ký tự vào các nguyên âm của dãy
    Nếu hem thêm lẹnh pirntf() (ghi chú trong đoạn code) thì chương trình chạy đúng, còn bỏ đi thì chương trình chạy sai. Mọi người check hộ em lỗi này vơi

    Code:
    #include <stdio.h>
    #include <conio.h>
    #include <ctype.h>
    #include <string.h>
    #define MAX 100
    
    int check(char s) // thiếu kiểu trả về vì nếu ko phải trường hợp trong if thì ko có !
    {
    
              char a;
              a=toupper(s);
              if (a<='Z' && a>='A')
              {
                         if ( a=='E' || a=='U' || a=='A' || a=='O' || a=='I') return 1;
              }
         
    }
    void insert(char str[], char ch) // thuật toán này bạn nên xem lại
    {
         int c = strlen(str);
         str[c]=' '; // tại sao gàn chỗ này bằng ' '
         for (int i=0;i<=c;i++)
         {
             if (check(str[i])==1)
              {  printf(" ");  // vì thủ tục check ko có kiểu trả về
                 for(int j=c; j>i;j--) //  chèn 1 phần tử mà tại sao bạn lại đi hoán vị
                 {
                 char x;
                  x=str[j];
                  str[j]=str[j-1];
                  str[j-1]=x; 
                 }
                str[i]=ch;
                i++;
                c++;
              }  
         }
         printf("%s", str);
    }
    
    main()
    {
          char s[100];
          char a;
          printf("\n Nhap chuoi:");
          gets(s);
          printf("\n Nhap ky tu bat ky:"); scanf("%c", &a);
          insert(s,a);
          //for(int i=0;i<strlen(s);i++)
                   //printf("%s", s);
           getch();
    }

 

 

Quyền sử dụng

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