ページ 11

文字列比較に関する質問です

Posted: 2010年1月05日(火) 15:22
by
二つの文字列(コード)の類似性を視覚的に確認するためのプログラムについて質問です。
文字列コードはJISカナを使用します。
"31"で"ア"を表すので二つずつ要素を比較します。

例えば二つの

121A342S5465と
131A43225465
の配列を2要素ずつ比較して両方とも一致していたら1、どちらかでも違ったら0を配列に格納し、

000000
010000
000000
000000
000010
000001

というようにファイルに出力するプログラムを教えてください。(この出力結果は正しいです。)
一応自分でも組んでみたのですが通りません。プログラムはまだまだ初心者ですのでご教授の方よろしくお願いいたします。



int dot(char a[/url],char b[/url])
{
int i,j;
FILE *fp;
int ten[NUM];

fp =fopen("text1.txt", "w");

if(fp == NULL){
printf("ファイルをオープンできませんでした。\n");
return 1;
}
else{
printf("ファイルをオープンしました。\n");
}

printf("2つの文章を比較し結果をファイルに出力します。\n");

for(i=0; i<NUM;i++){
for(j=0; j<NUM; j++){
if(a[2i] == b[2j] && a[2i+1] == b[2j+1]){
ten[j] == 1;
}
else{
ten[j] == 0;
}
}
}
while(ten[/url] == NULL){
fprintf(fp, "%d", ten[/url]);
}

return 0;
}

Re:文字列比較に関する質問です

Posted: 2010年1月05日(火) 15:26
by MNS
何をシたいのかいまいちわからないのですが、少なくとも
if(a[2i] == b[2j] && a[2i+1] == b[2j+1]){ 
    ten[j] == 1;
}
else{
    ten[j] == 0;
}
これは
if(a[2i] == b[2j] && a[2i+1] == b[2j+1]){ 
    ten[j] = 1;
}
else{
    ten[j] = 0;
}
こうでしょう。

あと、規約はしっかりと読みましょう。

Re:文字列比較に関する質問です

Posted: 2010年1月05日(火) 15:42
by non
意味がわからない。

少なくとも、
a[2i]なんてのは変。

プログラムを添付するなら、全部添付して。

Re:文字列比較に関する質問です

Posted: 2010年1月05日(火) 17:30
by
申し訳ありませんでした。
解決できました。

Re:文字列比較に関する質問です

Posted: 2010年1月05日(火) 17:32
by
解決しました