🎄teratailクリスマスプレゼントキャンペーン2024🎄』開催中!

\teratail特別グッズやAmazonギフトカード最大2,000円分が当たる!/

詳細はこちら
C

C言語は、1972年にAT&Tベル研究所の、デニス・リッチーが主体となって作成したプログラミング言語です。 B言語の後継言語として開発されたことからC言語と命名。そのため、表記法などはB言語やALGOLに近いとされています。 Cの拡張版であるC++言語とともに、現在世界中でもっとも普及されているプログラミング言語です。

Q&A

解決済

1回答

2611閲覧

一次関数を求めるプログラムのの条件分岐について

takato318

総合スコア5

C

C言語は、1972年にAT&Tベル研究所の、デニス・リッチーが主体となって作成したプログラミング言語です。 B言語の後継言語として開発されたことからC言語と命名。そのため、表記法などはB言語やALGOLに近いとされています。 Cの拡張版であるC++言語とともに、現在世界中でもっとも普及されているプログラミング言語です。

0グッド

0クリップ

投稿2019/10/18 01:10

前提・実現したいこと

専門学生で、C言語を勉強しています
課題として、1つ作品を作るように言われたので一次関数の方程式(y=ax+b)を求められるプログラムを作っています
下に書いてる条件でのプログラムは出来たんですが、それぞれの条件に振り分ける方法が思いつきません

・傾き、切片が分かっている
・座標が2つ分かっている
・傾きと座標が分かっている
・切片と座標が分かっている
・x軸で交わる式と座標が分かっている
・y軸で交わる式と座標が分かっている
・ある方程式と並行で座標が分かっている

ifを使って条件分岐させようと思っていたんですが、上手くいかないので何かアドバイスが欲しいです

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

takabosoft

2019/10/18 01:32

お金を払って専門学校に行っているのでしたら、先生に聞きましょう。
guest

回答1

0

ベストアンサー

例えば

text

1いまどんな状態ですか? 21 : 傾きと切片がわかっている 32 : 直線が通る2点の座標がわかっている 43 : … 54 : …

みたいなメニュー的なのを表示して,番号をユーザに入力してもらえば,
その番号で分岐できるのではないでしょうか.

投稿2019/10/18 01:25

fana

総合スコア11985

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

takato318

2019/10/18 01:39

言われてみて気づきました……^^; すごい簡単な質問ですいません。ありがとうございます!
fana

2019/10/18 01:44

最初に「直線が通る点の座標がわかりますか?」とか出して YesかNoかで次の質問を出して…とかで分岐して状態を絞っていく形態とかも有りなのかもしれませんし, コマンドライン引数で指定させた方が楽だったりするかもしれませんし, やり方は色々あるかな,と.
takato318

2019/10/18 01:46

コマンドライン引数というのはよく分かりませんが、最初はYesNoで分岐させようとしてました が、条件によっては回答する回数が増えるのでめんどくさいと思ってやめました
fana

2019/10/18 01:53

ところで, 切片が既知であることと座標が既知であることは結局同じ意味ですし, 他の式と並行であることと傾きが既知であることも同じ意味だと思うので, そこらへんを整理するとパターンが少なくなるのではないでしょうか.
takato318

2019/10/18 01:55

実際の問題だと上のような条件を出されるのが普通なのでこのままにします fanaさんの言う通り、結局は同じことをしているのでプログラムは関数を使って省略するつもりです
fana

2019/10/18 02:03

そうなのですね. 個人的には,せっかくパターンを増やすなら,同じような意味のものよりも ちょっと内容がチャレンジブルなもの(最小二乗法みたいなのとか)を設けてやると,自由に内容を決めた課題としてはちょいと格好が付く(?)んじゃないかな,とか思ったり.
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.36%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問