]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!!!!Code:#include<conio.h> #include<stdio.h> #include<string.h> void main() { int i,k; char *x,*y; char tg; int d; clrscr(); printf("\n nhap vao xau x:"); fflush(stdin); gets(x); printf("\n 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("\n strcmp(x,y)=%d",d); if(d==0) printf("\n hai xau nay dong dang"); else printf("\n hai xau nay ko dong dang"); getch(); }
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!!!!!!!!
HÃY SỐNG VÌ NHỮNG NGƯỜI THÂN YÊU!!!!!
bạn thử chạy xem có đúng yêu cầu koCode:#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("\n nhap vao xau x:"); gets(x);fflush(stdin); printf("\n 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("\n strcmp(x,y)=%d",d); if(d==0) printf("\n hai xau nay dong dang"); else printf("\n hai xau nay ko dong dang"); getch(); }
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
C là gì? C là cố. Mà cố quá = quá cố ->
[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?![]()
![]()
![]()
![]()
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
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
Đã được chỉnh sửa lần cuối bởi Kevin Hoang : 02-06-2008 lúc 11:00 PM. Lý do: Nhắc nhở
HÃY SỐNG VÌ NHỮNG NGƯỜI THÂN YÊU!!!!!
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.
Code tớ sửa lại rồi, có mấy chỗ tơ nghĩ ko cần thiết.
C Code:
#include<conio.h> #include<stdio.h> #include<string.h> void main() { int i,k; char *x,*y; char tg; int d; clrscr(); //fflush(stdin); //fflush(stdin); if(x[i]>x[k]) { tg=x[i]; x[i]=x[k]; x[k]=tg; } if(y[i]>y[k]) { tg=y[i]; y[i]=y[k]; y[k]=tg; } //printf("\n strcmp(x,y)=%d",d); if(d==0) else getch(); }
Đã được chỉnh sửa lần cuối bởi mindmap2008 : 02-06-2008 lúc 11:02 PM. Lý do: thêm lời dẫn
Ừ , mình hấp tấp quá
Đã được chỉnh sửa lần cuối bởi mindmap2008 : 03-06-2008 lúc 08:35 AM.