#include <stdio.h>
struct dr {
int quotient;
int remainder;
};
typedef struct dr DivideResult;
DivideResult Divide(int a, int b);
int main() {
DivideResult dr = Divide(11, 3);
printf("商=%d, 剰余=%d\n",
dr.quotient, dr.remainder);
return 0;
}
DivideResult Divide(int a, int b) {
DivideResult dr;
dr.quotient = a / b;
dr.remainder = a % b;
return dr;
}
構造体(structure)のプログラムについて。
構造体(structure)のプログラムについて。
Re: 構造体(structure)のプログラムについて。
Divide関数の宣言(9行目)、定義(18~23行目)、呼び出し(12行目)を変えればいいでしょう。skcl さんが書きました:このプログラムでaとbだけでなくcdeと増やしたり
構造体の定義(4~5行目)、Divide関数の定義(20~21行目)、結果の出力(13~14行目)を変えればいいでしょう。skcl さんが書きました:商と乗余だけでなく、和や差も入れる
[hr]
質問の意図がよくわかりません。
試してみてエラーになったコードなどはありますか?
複雑な問題?マシンの性能を上げてOpenMPで殴ればいい!(死亡フラグ)
Re: 構造体(structure)のプログラムについて。
すみません。色々なプログラムを組みたいと思うのですがなかなか進歩しなくてまだ初心者なんです。
Re: 構造体(structure)のプログラムについて。
Divide関数の宣言てどうやるんですか?和や差を入れる場合12行目は変えなくていいのですか?
Re: 構造体(structure)のプログラムについて。
割り算用の関数が意図どおりに動いているのであれば、それには手を触れずに
「新たに」足し算用の関数(名前の例:Add)と引き算用の関数(名前の例:Sub)を用意するのがよいと思います。
1つの関数で足し算も引き算も割り算も実行する、というのは避ける方がよいと思います。
なお、構造体に、商とあまりの他、和と差のためのメンバーを追加する必要があると思います。
「新たに」足し算用の関数(名前の例:Add)と引き算用の関数(名前の例:Sub)を用意するのがよいと思います。
1つの関数で足し算も引き算も割り算も実行する、というのは避ける方がよいと思います。
なお、構造体に、商とあまりの他、和と差のためのメンバーを追加する必要があると思います。
バグのないプログラムはない。
プログラムは思ったとおりには動かない。書いたとおりに動く。
プログラムは思ったとおりには動かない。書いたとおりに動く。
Re: 構造体(structure)のプログラムについて。
足し算用の関数add引き算用の関数subとはどの様に用意すれば良いのでしょうか?私サンプルプログラム等を試していてどのようにしたらプログラムを変化させられるかと思って投稿しました。
- purin52002
- 記事: 235
- 登録日時: 7年前
- 連絡を取る:
Re: 構造体(structure)のプログラムについて。
なにも難しいことはありません。
落ち着いて考えればわかるはずです。
aとbを引数にとってa+bやa-bをreturnします。
余りは出ないから整数の値を一つ返すだけの関数ができると思います。
落ち着いて考えればわかるはずです。
aとbを引数にとってa+bやa-bをreturnします。
余りは出ないから整数の値を一つ返すだけの関数ができると思います。
c++初心者を自負しています。
質問者さんには今後私にプログラミングを教えてくれるようにやさしく丁寧に教えるつもりです。ぎぶあんどていく^p^
回答者さんには精一杯感謝します。ぎぶおんりー^p^
質問者さんには今後私にプログラミングを教えてくれるようにやさしく丁寧に教えるつもりです。ぎぶあんどていく^p^
回答者さんには精一杯感謝します。ぎぶおんりー^p^
- purin52002
- 記事: 235
- 登録日時: 7年前
- 連絡を取る:
Re: 構造体(structure)のプログラムについて。
あ、もしかして構造体に四則演算の結果を入れたいんですかね?
c++初心者を自負しています。
質問者さんには今後私にプログラミングを教えてくれるようにやさしく丁寧に教えるつもりです。ぎぶあんどていく^p^
回答者さんには精一杯感謝します。ぎぶおんりー^p^
質問者さんには今後私にプログラミングを教えてくれるようにやさしく丁寧に教えるつもりです。ぎぶあんどていく^p^
回答者さんには精一杯感謝します。ぎぶおんりー^p^
Re: 構造体(structure)のプログラムについて。
このプログラムをもっとバリエーションを増やすことってできるのですか?まだまだ初心者でわからないのですが変数をint a int bをint c int dとか増やしていくことは出来ますか?
- purin52002
- 記事: 235
- 登録日時: 7年前
- 連絡を取る:
Re: 構造体(structure)のプログラムについて。
func(a,b,c,/*何個でも引数をとれる*/);ってことですかね?
一応できると思いますよ。
一応できると思いますよ。
c++初心者を自負しています。
質問者さんには今後私にプログラミングを教えてくれるようにやさしく丁寧に教えるつもりです。ぎぶあんどていく^p^
回答者さんには精一杯感謝します。ぎぶおんりー^p^
質問者さんには今後私にプログラミングを教えてくれるようにやさしく丁寧に教えるつもりです。ぎぶあんどていく^p^
回答者さんには精一杯感謝します。ぎぶおんりー^p^
- purin52002
- 記事: 235
- 登録日時: 7年前
- 連絡を取る:
Re: 構造体(structure)のプログラムについて。
すみませんでした。もう少し詳しく書きますね^^;
intを増やしたいというのはDivide(int a,int b)の引数のことでよろしいでしょうか?
printf関数のようにいくらでも引数を渡せるようにしたいということでしょうか?
もしそうでないのなら(引数がabcdeの5個でいいよー)、
のようにすればどうでしょう?
#include <stdio.h>
struct dr {
int quotient;
int remainder;
};
typedef struct dr DivideResult;
DivideResult Divide(int a, int b);
int main() {
DivideResult dr = Divide(11, 3);
printf("商=%d, 剰余=%d\n",
dr.quotient, dr.remainder);
return 0;
}
DivideResult Divide(int a, int b) {
DivideResult dr;
dr.quotient = a / b;
dr.remainder = a % b;
return dr;
}
printf関数のようにいくらでも引数を渡せるようにしたいということでしょうか?
もしそうでないのなら(引数がabcdeの5個でいいよー)、
#include <stdio.h>
struct dr {
int quotient;
int remainder;
};
typedef struct dr DivideResult;
DivideResult Divide(int a, int b,int c,int d,int e);
int main() {
DivideResult dr = Divide(11, 3, 0, 0 ,0);
printf("商=%d, 剰余=%d\n",
dr.quotient, dr.remainder);
return 0;
}
DivideResult Divide(int a, int b,int c,int d,int e) {
//好きな処理を書く
}
c++初心者を自負しています。
質問者さんには今後私にプログラミングを教えてくれるようにやさしく丁寧に教えるつもりです。ぎぶあんどていく^p^
回答者さんには精一杯感謝します。ぎぶおんりー^p^
質問者さんには今後私にプログラミングを教えてくれるようにやさしく丁寧に教えるつもりです。ぎぶあんどていく^p^
回答者さんには精一杯感謝します。ぎぶおんりー^p^
Re: 構造体(structure)のプログラムについて。
すみません具体的なコードまで書いてくださって。quotientとremainderは変えなくていいんですか。好きなように記述するところをやったら、商と剰余の所を変えればいいのですか?
- purin52002
- 記事: 235
- 登録日時: 7年前
- 連絡を取る:
Re: 構造体(structure)のプログラムについて。
よろしければどういうことがしたいか教えてもらってもいいですか?
いまのところ私の認識では、
これなら四則演算(いまだと割り算だけ)の結果であるquotientとremainderは特に変えなくてもいいんじゃないかなーと思いました。
いまのところ私の認識では、
- 四則演算した結果を構造体に格納したい。
- 引数を増やしてa+b+cやa-b-cなどにも対応できるようにしたい。
これなら四則演算(いまだと割り算だけ)の結果であるquotientとremainderは特に変えなくてもいいんじゃないかなーと思いました。
というのがよくわからなかったので、そこには触れないでおきます^^;商と剰余の所を変えればいいのですか?
c++初心者を自負しています。
質問者さんには今後私にプログラミングを教えてくれるようにやさしく丁寧に教えるつもりです。ぎぶあんどていく^p^
回答者さんには精一杯感謝します。ぎぶおんりー^p^
質問者さんには今後私にプログラミングを教えてくれるようにやさしく丁寧に教えるつもりです。ぎぶあんどていく^p^
回答者さんには精一杯感謝します。ぎぶおんりー^p^
Re: 構造体(structure)のプログラムについて。
習うより慣れよです。
あれこれ聞くより、まずは自分の予想でコードを書き換えてみてください。
コンパイルエラーなどが出てこんがらがってしまったら、そのエラーが出るコードを貼って質問してください。
あれこれ聞くより、まずは自分の予想でコードを書き換えてみてください。
コンパイルエラーなどが出てこんがらがってしまったら、そのエラーが出るコードを貼って質問してください。
複雑な問題?マシンの性能を上げてOpenMPで殴ればいい!(死亡フラグ)
Re: 構造体(structure)のプログラムについて。
#include <stdio.h>
struct DivideResult {
int quotient;
int remainder;
};
struct DivideResult Divide(int a, int b, int c, int d, int e);
int main() {
struct DivideResult dr = Divide(11, 3, 6, 7, 4);
printf("商=%d, 剰余=%d\n",
dr.quotient, dr.remainder);
return 0;
}
struct DivideResult Divide(int a, int b, int c, int d, int e) {
struct DivideResult dr;
dr.quotient = a / b / c / d / e;
dr.remainder = a % b % c % d % e;
return dr;
- purin52002
- 記事: 235
- 登録日時: 7年前
- 連絡を取る:
Re: 構造体(structure)のプログラムについて。
おめでとうございます^^
あとは足し算とか引き算ですね^^^
あとは足し算とか引き算ですね^^^
c++初心者を自負しています。
質問者さんには今後私にプログラミングを教えてくれるようにやさしく丁寧に教えるつもりです。ぎぶあんどていく^p^
回答者さんには精一杯感謝します。ぎぶおんりー^p^
質問者さんには今後私にプログラミングを教えてくれるようにやさしく丁寧に教えるつもりです。ぎぶあんどていく^p^
回答者さんには精一杯感謝します。ぎぶおんりー^p^
Re: 構造体(structure)のプログラムについて。
「新しいプログラム」が具体的にどのようなプログラムなのかによると思います。skcl さんが書きました:新しいプログラムの質問このまましてはいけないのでしょうか?
今の「構造体(structure)のプログラム」と全く関係ない新しいプログラムの質問は、新しいトピックでするべきでしょう。
このトピックで質問されている「和や差も入れるプログラムにする」がまだ解決していないようなので、それに関する質問はこのトピックの続きとしてするべきでしょう。
複雑な問題?マシンの性能を上げてOpenMPで殴ればいい!(死亡フラグ)
Re: 構造体(structure)のプログラムについて。
#include <stdio.h>
struct DivideResult {
int sum;
int diff;
int mul;
int quotient;
int remainder;
};
struct DivideResult Divide(int a, int b, int c, int d, int e);
int main() {
struct DivideResult dr = Divide(11, 3, 6, 7, 4);
printf("和=%d, 差=%d, 積=%d, 商=%d, 剰余=%d\n",
dr.sum, dr.diff, dr.mul, dr.quotient, dr.remainder);
return 0;
}
struct DivideResult Divide(int a, int b, int c, int d, int e) {
struct DivideResult dr;
dr.sum = a + b + c + d + e;
dr.diff = a - b - c - d - e;
dr.mul = a * b * c * d * e;
dr.quotient = a / b / c / d / e;
dr.remainder = a % b % c % d % e;
return dr;
}
- purin52002
- 記事: 235
- 登録日時: 7年前
- 連絡を取る:
Re: 構造体(structure)のプログラムについて。
実際に計算してみると
//()で囲っているところから計算しています
(11/3)/6/7/4=(3/6)/7/4=(0/7)/4=(0/4)=0
(11%3)%6%7%4=(2%6)%7%4=(2%7)%4=(2%4)=2
となります。
計算自体は間違ってないと思いますよ。
//()で囲っているところから計算しています
(11/3)/6/7/4=(3/6)/7/4=(0/7)/4=(0/4)=0
(11%3)%6%7%4=(2%6)%7%4=(2%7)%4=(2%4)=2
となります。
計算自体は間違ってないと思いますよ。
c++初心者を自負しています。
質問者さんには今後私にプログラミングを教えてくれるようにやさしく丁寧に教えるつもりです。ぎぶあんどていく^p^
回答者さんには精一杯感謝します。ぎぶおんりー^p^
質問者さんには今後私にプログラミングを教えてくれるようにやさしく丁寧に教えるつもりです。ぎぶあんどていく^p^
回答者さんには精一杯感謝します。ぎぶおんりー^p^
- purin52002
- 記事: 235
- 登録日時: 7年前
- 連絡を取る:
Re: 構造体(structure)のプログラムについて。
skclさんの疑問が晴れたのならもういいのではないでしょうかね?
c++初心者を自負しています。
質問者さんには今後私にプログラミングを教えてくれるようにやさしく丁寧に教えるつもりです。ぎぶあんどていく^p^
回答者さんには精一杯感謝します。ぎぶおんりー^p^
質問者さんには今後私にプログラミングを教えてくれるようにやさしく丁寧に教えるつもりです。ぎぶあんどていく^p^
回答者さんには精一杯感謝します。ぎぶおんりー^p^
Re: 構造体(structure)のプログラムについて。
もしも割り切れないだけで0になったら、使い物にならないでしょう。skcl さんが書きました:商は確か、割り切れないと0になると思ったので
整数の割り算では小数点以下が切り捨てられるだけで、割り切れなくても0になるとは限りません。
複雑な問題?マシンの性能を上げてOpenMPで殴ればいい!(死亡フラグ)