お願いします

フォーラム(掲示板)ルール
フォーラム(掲示板)ルールはこちら  ※コードを貼り付ける場合は [code][/code] で囲って下さい。詳しくはこちら
りょう

お願いします

#1

投稿記事 by りょう » 9年前

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
登録日時: 9年前
住所: 東海地方
連絡を取る:

Re: お願いします

#2

投稿記事 by softya(ソフト屋) » 9年前

同じ方だと思いますが違いますか?
http://dixq.net/forum/viewtopic.php?f=3&t=7760
名前を変えて投稿することやマルチポストは掲示板の規約に違反しています。
フォーラムルールを御覧ください。
by softya(ソフト屋) 方針:私は仕組み・考え方を理解して欲しいので直接的なコードを回答することはまれですので、すぐコードがほしい方はその旨をご明記下さい。私以外の方と交代したいと思います(代わりの方がいる保証は出来かねます)。

アバター
Dixq (管理人)
管理人
記事: 1661
登録日時: 9年前
住所: 北海道札幌市
連絡を取る:

Re: お願いします

#3

投稿記事 by Dixq (管理人) » 9年前

> りょうさん

こんにちは。
この時期いろんな宿題に追われて大変だと思いますが、あせらずに少しずつ解いてみましょう。
難しいと思ってしまう問題も、少しずつ分解して解けば案外簡単になるものですよ。

とりあえずりょうさんの現在の理解はどの程度でしょうか?
関数の作り方、構造体のメンバの参照の仕方、条件式、返り値、引数・・このあたりの理解は大丈夫でしょうか?

もし「aとbを引数にとり、aとbが同じなら0を、異なるなら1を返す関数を作りなさい」という問題があったらとけますか?
解らなければ問題を簡単にして少しずつ解いてみましょう。
解らないことがあれば聞いて下さい。

アバター
softya(ソフト屋)
副管理人
記事: 11677
登録日時: 9年前
住所: 東海地方
連絡を取る:

Re: お願いします

#4

投稿記事 by softya(ソフト屋) » 9年前

こちらの件なんですがテスト中に回答を求めていたみたいです。
http://dixq.net/forum/viewtopic.php?f=3&t=7761
全て同じ大学からのアクセスでした。
by softya(ソフト屋) 方針:私は仕組み・考え方を理解して欲しいので直接的なコードを回答することはまれですので、すぐコードがほしい方はその旨をご明記下さい。私以外の方と交代したいと思います(代わりの方がいる保証は出来かねます)。

アバター
さかまき
記事: 92
登録日時: 9年前

Re: お願いします

#5

投稿記事 by さかまき » 9年前

実際問題ではこのルーチンは使えないと思いますがどうでしょう?
イコールになる事は、ほとんど起こり得ないと思いますよ。

もし、この比較でOKなら、
>メンバ単位で等しいか否かを判断する必要がある。
全然必要なくて、単に構造体変数をmemcmpで比較するだけでよい事です。
課題としてはあまり良問とは思えません。

アバター
へろりくしょん
記事: 92
登録日時: 9年前
住所: 福岡

Re: お願いします

#6

投稿記事 by へろりくしょん » 9年前

memcmp() だと、パティングされたゴミデータを正しく比較出来ないのでは?

アバター
h2so5
副管理人
記事: 2212
登録日時: 9年前
住所: 東京
連絡を取る:

Re: お願いします

#7

投稿記事 by h2so5 » 9年前

へろり さんが書きました:memcmp() だと、パティングされたゴミデータを正しく比較出来ないのでは?
確かにパディングがある構造体だと正しく比較できないようです。

http://ideone.com/ApANe

アバター
さかまき
記事: 92
登録日時: 9年前

Re: お願いします

#8

投稿記事 by さかまき » 9年前

構造体変数は、いつもmemsetで全体をクリアして使っているので、そこまで気が回っていませんでした。
今まで無意識で使っていました。ご指摘ありがとうございます。

閉鎖

“C言語何でも質問掲示板” へ戻る