Chào mừng đến với Diễn đàn lập trình - Cộng đồng lập trình.
Kết quả 1 đến 10 của 10
  1. #1
    Ngày tham gia
    Sep 2015
    Bài viết
    0

    Giúp Bài Hai Xâu đồng Dạng Này !!!!

    Mã:
    #include<conio.h>
    #include<stdio.h>
    #include<string.h>
    void main()
    {
        int i,k;
        char *x,*y;
        char tg;
        int d;
        clrscr();
        printf("
     nhap vao xau x:");
        fflush(stdin);
        gets(x);
        printf("
     nhap vao xau y:");
        fflush(stdin);
        gets(y);
        for(i=0;i<=strlen(x);i++)
        for(k=0;k<=strlen(x);k++)
        if(x[i]>x[k])
            {
            tg=x[i];
            x[i]=x[k];
            x[k]=tg;
            }
        for(i=0;i<=strlen(y);i++)
        for(k=0;k<=strlen(y);k++)
        if(y[i]>y[k])
            {
            tg=y[i];
            y[i]=y[k];
            y[k]=tg;
            }
        d=strcmp(x,y);
        printf("
     strcmp(x,y)=%d",d);
        if(d==0)
        printf("
     hai xau nay dong dang");
        else
        printf("
     hai xau nay ko dong dang");
        getch();
        }
    ]mình làm như code dưới đây nhưng khi chạy thi lúc nào nó cũng bảo đây là hai xây đồng dạng!!!!
    Tiện đây cho mình hỏi thêm nếu chuyển bài này thành bai dùng hàm nguyên mẫu thì khi gọi hàm làm thế nào ??
    thank bạn trước!!!!!!!!

  2. #2
    Ngày tham gia
    Sep 2015
    Bài viết
    0
    Trích dẫn Gửi bởi lebatung
    ]mình làm như code dưới đây nhưng khi chạy thi lúc nào nó cũng bảo đây là hai xây đồng dạng!!!!
    Tiện đây cho mình hỏi thêm nếu chuyển bài này thành bai dùng hàm nguyên mẫu thì khi gọi hàm làm thế nào ??
    thank bạn trước!!!!!!!!
    Xâu đồng dạng là gì? Hàm nguyên mẫu là gì thế bạn?

  3. #3
    Ngày tham gia
    Sep 2015
    Bài viết
    0
    [quote=manhcuongbx;45197]Tớ chạy thử thấy sau khi qua sắp xếp hai xâu x,y của bạn ko còn nữa nên lúc nào chương trình cũng báo là đồng dạng là đúng rồi[/QUOTe
    Thế làm thế nào hả bạn? [IMG]images/smilies/icon_question.gif[/IMG] [IMG]images/smilies/icon_question.gif[/IMG] [IMG]images/smilies/icon_question.gif[/IMG] [IMG]images/smilies/icon_question.gif[/IMG]
    chỉ hộ cho tớ với, tại sao xâu x và y lai không còn nữa , tớ có xóa hai xâu này đâu

    Trích dẫn Gửi bởi HaiLy
    Mã:
    #include<conio.h>
    #include<stdio.h>
    #include<string.h>
    void main()
    {
        int i,k;
        char x[10],y[10];
        char tg;
        int d;
        clrscr();
        printf("
     nhap vao xau x:");
        gets(x);fflush(stdin);
        printf("
     nhap vao xau y:");
        gets(y);fflush(stdin);
        for(i=0;i<strlen(x);i++)
        for(k=i+1;k<strlen(x);k++)
        if(x[i]>x[k])
            {
            tg=x[i];
            x[i]=x[k];
            x[k]=tg;
            }
        for(i=0;i<strlen(y);i++)
        for(k=i+1;k<strlen(y);k++)
        if(y[i]>y[k])
            {
            tg=y[i];
            y[i]=y[k];
            y[k]=tg;
            }
        d=strcmp(x,y);
        printf("
     strcmp(x,y)=%d",d);
        if(d==0)
        printf("
     hai xau nay dong dang");
        else
        printf("
     hai xau nay ko dong dang");
        getch();
        }
    bạn thử chạy xem có đúng yêu cầu ko
    vẫn không đúng bạn à?

    Vui lòng không gửi nhiều bài viết liên tục, liền nhau trong một đề tài. Đọc Nội quy để biết thêm chi tiết

  4. #4
    Ngày tham gia
    Sep 2015
    Đang ở
    hà nội
    Bài viết
    0
    Mã:
    #include<conio.h>
    #include<stdio.h>
    #include<string.h>
    void main()
    {
    	int i,k;
    	char x[10],y[10];
    	char tg;
    	int d;
    	clrscr();
    	printf("
     nhap vao xau x:");
    	gets(x);fflush(stdin);
    	printf("
     nhap vao xau y:");
    	gets(y);fflush(stdin);
    	for(i=0;i<strlen(x);i++)
    	for(k=i+1;k<strlen(x);k++)
    	if(x[i]>x[k])
    		{
    		tg=x[i];
    		x[i]=x[k];
    		x[k]=tg;
    		}
    	for(i=0;i<strlen(y);i++)
    	for(k=i+1;k<strlen(y);k++)
    	if(y[i]>y[k])
    		{
    		tg=y[i];
    		y[i]=y[k];
    		y[k]=tg;
    		}
    	d=strcmp(x,y);
    	printf("
     strcmp(x,y)=%d",d);
    	if(d==0)
    	printf("
     hai xau nay dong dang");
    	else
    	printf("
     hai xau nay ko dong dang");
    	getch();
    	}
    bạn thử chạy xem có đúng yêu cầu ko

  5. #5
    Ngày tham gia
    Sep 2015
    Bài viết
    0
    Trích dẫn Gửi bởi lebatung
    vẫn không đúng bạn à?
    Mình chạy thử
    Mã:
    nhap vao xau x:qwer
    nhap vao xau y:wsxcv
    strcmp(x,y)=2
    2 xau nay ko dong dang
    Mã:
    nhap vao xau x:asdf
    nhap vao xau y:dsaf
    strcmp(x,y)=0
    2 xau nay dong dang
    Có đúng như yêu cầu của bạn ko??

  6. #6
    Ngày tham gia
    Sep 2015
    Bài viết
    0
    Tớ chạy thử thấy sau khi qua sắp xếp hai xâu x,y của bạn ko còn nữa nên lúc nào chương trình cũng báo là đồng dạng là đúng rồi

  7. #7
    Ngày tham gia
    Sep 2015
    Bài viết
    0
    chương trình của bạn có phải thực hiện theo thuật toán sau không:
    + nhập vào 2 chuỗi
    + xét trong mỗi chuỗi : đưa ký tự có mã ASCII nhỏ nhất lên vị trí đầu của chuỗi.
    +sau đó so sanh 2 chuỗi , strcmp() ==0 thì đồng dạng, else ko đồng dạng.
    It's that right?
    Theo mình, chuỗi đồng dạng của bạn những chuỗi mà chứa cùng một số lượng ký tự và ký tự ở 2 chuỗi giống nhau.

  8. #8
    Ngày tham gia
    Sep 2015
    Bài viết
    0
    Code tớ sửa lại rồi, có mấy chỗ tơ nghĩ ko cần thiết.


    Mã:
    #include<conio.h>#include<stdio.h>#include<string.h>void main(){    int i,k;    char *x,*y;    char tg;    int d;    clrscr();    printf("
     nhap vao xau x:");    //fflush(stdin);    gets(x);    printf("
     nhap vao xau y:");    //fflush(stdin);    gets(y);    for(i=0;i<strlen(x);i++)        for(k=0;k<strlen(x);k++)            if(x[i]>x[k])            {                tg=x[i];                x[i]=x[k];                x[k]=tg;            }    for(i=0;i<strlen(y);i++)        for(k=0;k<strlen(y);k++)            if(y[i]>y[k])            {                tg=y[i];                y[i]=y[k];                y[k]=tg;            }    d=strcmp(x,y);    //printf("
     strcmp(x,y)=%d",d);    if(d==0)    printf("
     hai xau nay dong dang");    else    printf("
     hai xau nay ko dong dang");    getch();    }

  9. #9
    Ngày tham gia
    Sep 2015
    Bài viết
    0
    Trích dẫn Gửi bởi mindmap2008
    Code tớ sửa lại rồi, có mấy chỗ tơ nghĩ ko cần thiết.


    Mã:
    #include<conio.h>#include<stdio.h>#include<string.h>void main(){    int i,k;    char *x,*y;    char tg;    int d;    clrscr();    printf("
     nhap vao xau x:");    //fflush(stdin);    gets(x);    printf("
     nhap vao xau y:");    //fflush(stdin);    gets(y);    for(i=0;i<strlen(x);i++)        for(k=0;k<strlen(x);k++)            if(x[i]>x[k])            {                tg=x[i];                x[i]=x[k];                x[k]=tg;            }    for(i=0;i<strlen(y);i++)        for(k=0;k<strlen(y);k++)            if(y[i]>y[k])            {                tg=y[i];                y[i]=y[k];                y[k]=tg;            }    d=strcmp(x,y);    //printf("
     strcmp(x,y)=%d",d);    if(d==0)    printf("
     hai xau nay dong dang");    else    printf("
     hai xau nay ko dong dang");    getch();    }
    Ở mấy vòng For ,k=i+1 chứ(thuật toán nổi bọt)

  10. #10
    Ngày tham gia
    Sep 2015
    Bài viết
    0
    Ừ , mình hấp tấp quá

 

 

Quyền viết bài

  • 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ể Sửa bài viết của mình
  •