Nhập hai xâu s1 và s2, tìm các từ xuất hiện trong s1 mà không xuất hiện trong s2?
Mọi ng xem hộ e code sai ở đâu vs ạ. E cám ơn nhiều. Chắc sai ở biến test nhưng e chưa biết sửa ntn. Vì nếu k dính dáng gì đến biến test (biến t) , chạy thử 1 ví dụ bất kỳ code chạy đúng.
LẦN ĐẦU POST BÀI CÓ GÌ SAI SÓT MONG MỌI NGƯỜI GÓP Ý Ạ.
Đề bài: Nhập hai xâu s1 và s2. Hãy viết chương trình tìm các từ xuất hiện trong s1 mà không xuất hiện trong s2. Sau đó xuất xâu s1. (Nhập, xuất ra màn hình bằng đuôi file .inp và .out)
Ví dụ:
INPUT:
2(2 bộ test)
aaa xyz ab abc dd dd abc aaa
xyz dd ttt sas cdc
aaa xyz ab abc dd dd abc aaa
aaa
OUTPUT:
aaa ab abc abc aaa
xyz ab abc dd dd abc
CODE: http://pastebin.com/tRZueEMD (Code hơi dài nên e để vào đg link cho dễ đọc ạ)
#include<stdio.h>
#include<string.h>
FILE *f1 = fopen("14c.inp","r");
FILE *f2 = fopen("14c.out","w");
struct tu
{
char nd[20];
int xh;
};
tu ds1[20],ds2[20];
int n1=0,n2=0;
void tachtu(char s[],int &n,tu ds[])
{
char *p;
p = strtok(s," ");
while (p!=NULL)
{
strcpy(ds[n].nd,p);
ds[n].xh=1;
n++;
p = strtok(NULL," ");
}
}
void loaitu()
{
int i,j;
for (i=0;i<n1;i++)
for (j=0;j<n2;j++)
if (strcmp(ds1[i].nd,ds2[j].nd)==0) {ds1[i].xh++; ds2[j].xh++;}
for (i=0;i<n1;i++)
if (ds1[i].xh==1) fprintf(f2,"%s ",ds1[i].nd);
}
main()
{
char s1[100],s2[100];
int t;
fscanf(f1,"%d",&t);
while (t--) //bien test
{
fgets(s1,100,f1);
s1[strlen(s1)-1]=' ';
fgets(s2,100,f1);
tachtu(s1,n1,ds1);
tachtu(s2,n2,ds2);
loaitu();
}
}
Do bạn đọc xong chưa xuống dòng chỗ nhập
t
nên test 1 s1="", các test sau bị dồn lên. Đơn giản sửa lại câu nhập t:fscanf(f1,"%d\n",&t);
đọc t xong xuống dòngBạn còn chưa reset
n1=0 ;n2 =0
sau mỗi testM đã sửa lại là:
còn int n1=0,n2=0; có ở line 15 nhưng chạy vẫn chưa đúng b à. Hay phải để int n1=0,n2=0; ở chỗ khác? B xem giúp mình vấn đề ở đâu vậy? M cám ơn.
Cám ơn b nhiều.
B xem giúp m biến test lại có vấn đề ở đâu mà lúc chạy bị lỗi xuống dòng b à.
Nhập 3 xâu ký tự ký tự s, s1, s2. Tìm tất cả những lần xuất hiện của s1 trong s và thay thế bằng s2. Xuất s ra màn hình.
INPUT
OUTPUT
CODE: http://pastebin.com/u4b2y3N4
Cám ơn b nhé.