C言語が全くわかりません。どうか教えてくださいませんか?早めがいいです;;
構造体では、代入は可能であるが、等価演算子(==と!=)による比較を直接行うことができないので、メンバ単位で等しいか否かを判断する必要がある。いま、複素数を表す構造体型complexを定義し、以下に示すような、メンバreとimが共に等しければ1(int型)を、そうでなければ0(int型)を返す関数complex_eqを考えた。次の番号を埋めなさい。
typedef struct {double re, im;} ① ;
int complex_eq(complex x, complex y)
{
int flag = 1;
if (x.re ② y.re ③ x.im ② y.im)
flag = ④ ;
return (⑤);
}
お願いします
- softya(ソフト屋)
- 副管理人
- 記事: 11677
- 登録日時: 14年前
- 住所: 東海地方
- 連絡を取る:
Re: お願いします
同じ方だと思いますが違いますか?
http://dixq.net/forum/viewtopic.php?f=3&t=7760
名前を変えて投稿することやマルチポストは掲示板の規約に違反しています。
フォーラムルールを御覧ください。
http://dixq.net/forum/viewtopic.php?f=3&t=7760
名前を変えて投稿することやマルチポストは掲示板の規約に違反しています。
フォーラムルールを御覧ください。
by softya(ソフト屋) 方針:私は仕組み・考え方を理解して欲しいので直接的なコードを回答することはまれですので、すぐコードがほしい方はその旨をご明記下さい。私以外の方と交代したいと思います(代わりの方がいる保証は出来かねます)。
- Dixq (管理人)
- 管理人
- 記事: 1662
- 登録日時: 14年前
- 住所: 北海道札幌市
- 連絡を取る:
Re: お願いします
> りょうさん
こんにちは。
この時期いろんな宿題に追われて大変だと思いますが、あせらずに少しずつ解いてみましょう。
難しいと思ってしまう問題も、少しずつ分解して解けば案外簡単になるものですよ。
とりあえずりょうさんの現在の理解はどの程度でしょうか?
関数の作り方、構造体のメンバの参照の仕方、条件式、返り値、引数・・このあたりの理解は大丈夫でしょうか?
もし「aとbを引数にとり、aとbが同じなら0を、異なるなら1を返す関数を作りなさい」という問題があったらとけますか?
解らなければ問題を簡単にして少しずつ解いてみましょう。
解らないことがあれば聞いて下さい。
こんにちは。
この時期いろんな宿題に追われて大変だと思いますが、あせらずに少しずつ解いてみましょう。
難しいと思ってしまう問題も、少しずつ分解して解けば案外簡単になるものですよ。
とりあえずりょうさんの現在の理解はどの程度でしょうか?
関数の作り方、構造体のメンバの参照の仕方、条件式、返り値、引数・・このあたりの理解は大丈夫でしょうか?
もし「aとbを引数にとり、aとbが同じなら0を、異なるなら1を返す関数を作りなさい」という問題があったらとけますか?
解らなければ問題を簡単にして少しずつ解いてみましょう。
解らないことがあれば聞いて下さい。
- softya(ソフト屋)
- 副管理人
- 記事: 11677
- 登録日時: 14年前
- 住所: 東海地方
- 連絡を取る:
Re: お願いします
by softya(ソフト屋) 方針:私は仕組み・考え方を理解して欲しいので直接的なコードを回答することはまれですので、すぐコードがほしい方はその旨をご明記下さい。私以外の方と交代したいと思います(代わりの方がいる保証は出来かねます)。
Re: お願いします
実際問題ではこのルーチンは使えないと思いますがどうでしょう?
イコールになる事は、ほとんど起こり得ないと思いますよ。
もし、この比較でOKなら、
>メンバ単位で等しいか否かを判断する必要がある。
全然必要なくて、単に構造体変数をmemcmpで比較するだけでよい事です。
課題としてはあまり良問とは思えません。
イコールになる事は、ほとんど起こり得ないと思いますよ。
もし、この比較でOKなら、
>メンバ単位で等しいか否かを判断する必要がある。
全然必要なくて、単に構造体変数をmemcmpで比較するだけでよい事です。
課題としてはあまり良問とは思えません。
Re: お願いします
確かにパディングがある構造体だと正しく比較できないようです。へろり さんが書きました:memcmp() だと、パティングされたゴミデータを正しく比較出来ないのでは?
http://ideone.com/ApANe
Re: お願いします
構造体変数は、いつもmemsetで全体をクリアして使っているので、そこまで気が回っていませんでした。
今まで無意識で使っていました。ご指摘ありがとうございます。
今まで無意識で使っていました。ご指摘ありがとうございます。