プログラミング課題解決方法
- プログラミングの課題で困っています。助けて下さい。
- 一次方程式と二次方程式の解を求めるプログラムの作り方を教えてください。
- 課題1-1から課題1-5までのプログラムをまとめて作成する方法を教えてください。
- ベストアンサー
プログラミングの課題で困っています。助けて下さい。
プログラミングの課題で困っています。助けて下さい。 課題1-1: 実数 a と実数 b を入力すると、一次方程式ax + b = 0 の解を求めるプログラムを作る 課題1-2: 1-1 で作成したプログラムについて、さらにa として1が入力されたとき、方程式の表示部 分が1x + 3 = 0ではなくx + 3 = 0となるようにせよ 課題1-3: 1-2 で作成したプログラムについて、さらにb として0 や負の数が入力されたとき、方程式 の表示部分が2x = 0 や2x – 3 = 0となるようにせよ 課題1-4: 1-3 で作ったプログラムについて、さらにa の値として0が入力された場合、「解けません」 と表示するようにせよ 課題1-5: 係数 a, b, c を入力すると、 2次方程式ax2 + bx + c =0の解を表示するプログラムを作 れ ※ 1-2 ~ 1-4 のような機能を盛り込む ※ a が0の場合には、先に作った1次方程式のプログラムが動く という課題です。最終的にこれらを一つのプログラムにしてください。判別式や解の公式、ルート√などを使ってよろしくお願いします。
- tennbosu
- お礼率2% (1/36)
- その他(プログラミング・開発)
- 回答数7
- ありがとう数3
- みんなの回答 (7)
- 専門家の回答
質問者が選んだベストアンサー
#5 では haveValidEquation という変数を導入してますが, これはあとで 1回しか使っていないので, 当然省略することができます. そうすれば無駄な変数が減ってもっと「いい」かもしれない.
その他の回答 (6)
- kmee
- ベストアンサー率55% (1857/3366)
> 教科書まるまる読んで自分でやろうとしましたよ。しかしエラーばっかりでわけわからなくなりました。 だったら、その作ったプログラムと、エラーの内容を貼り付けてください、ということなんですよ。 その際、表示されたままをコピペすること。決して意訳などしないように。 文字数オーバーで全部貼り付けられないなら、エラーメッセージは先頭の10行くらいでもいいです。そういう大量にエラーが出るときは、先頭の方のエラーのせいで後ろのエラーが出てるの場合がほとんどですから(例えば、変数宣言を間違えると、後ろで「未定義」のエラーになる) そうやって整理することで、あなたも御自身の理解度を確認できるでしょうし、落ち着いて考えることで質問するまでもなくプログラムを思いつくかもしれません。 回答する側だって、あなたが理解できていない箇所の指摘だけで済みます。それより「がんばっている人は応援したくなる」という心理から、みんなもっとやさしい態度で接してくれるはずです。 プログラミング言語は、間違いながら覚えていくところがあります。自分で作ったプログラムが期待通りに動かなかった時に、どこに問題があるのか、どこまで正常に動いているのか、何故期待通りにならないのか、といったことを調べていくことで、自分が理解していないこと、誤解していることがわかってきます。 その意味では、エラーメッセージは「どこでどうして間違っているか」がはっきり教えてくれる「先生」です。 C言語は間違いに非常に寛容で、他の言語でエラーになるようなことをしても、何食わぬ顔でそのまま実行しようとするケースが多いです。(もっとも、その結果異常な動作になることがほとんどですが) エラーになるような間違いは、まだ簡単に修正できる方だと思ってください。
- Tacosan
- ベストアンサー率23% (3656/15482)
課題 1-3 っぽいものだけ :-) #include <stdio.h> #include <stdlib.h> #include <math.h> int main() { long double a, b, solution; int haveValidEquation = scanf("%Lf", &a) == 1 && scanf("%Lf", &b) == 1; return haveValidEquation ? (solution = -b/a), printf(a == 1 ? "" : a == -1 ? "-" : "%Lf", a), printf("x "), printf(b == 0 ? "" : "%c %Lf ", (b > 0) ? '+' : '-', fabsl(b)), printf(" = 0 has a solution x = %Lf\n", solution), EXIT_SUCCESS : EXIT_FAILURE; } あんまり自信はないが, たぶん動く.
- anicicle
- ベストアンサー率36% (129/356)
とりあえず1-1くらい作ってソース提示してくれ。 その上でわからなかったら質問だ。 一応参考になりそうなURLは載せとく。 http://www.geocities.jp/stardust774/
- kmee
- ベストアンサー率55% (1857/3366)
(defun linear-equation (a b) (if (= a 0) nil (/ (- b) a))) (defun kadai1-1 (a b) (let ((c (linear-equation a b))) (format nil "~0fx~0@f=0.0 ; x=~0f" a b c))) (defun kadai1-2 (a b) (let ((c (linear-equation a b))) (concatenate 'string (if (= a 1) "x" (format nil "~fx" a)) (format nil "~@f=0.0 ; x=~f" b c)))) (defun kadai1-3-sub (a b c) (concatenate 'string (if (= a 1) "x" (format nil "~fx" a)) (if (= b 0) "" (format nil "~@f" b)) (format nil "=0.0 ; x=~f" c)))) (defun kadai1-3 (a b) (kadai1-3-sub a b (linear-equation a b))) (defun kadai1-4 (a b) (let ((c (linear-equation a b))) (if c (kadai1-3-sub a b c) "解けません"))) 課題1-1から1-4まで。 言語の指定が無いのでCommon Lispを使いました :-p
補足
C言語でお願いします。
- katouka09
- ベストアンサー率50% (130/256)
丸投げですか? しかも、自分で努力したことも見せずに・・・。 何のプログラム言語で作ればよいのか、指定もせず。 学校の宿題か何かですか? あなたに課題を出した人がここのサイトを見ていたら、どう説明するのですか? 他人に作ってもらったプログラムを説明できますか? 数学の授業で習った方程式の解を求めることが出来るなら、それをBASICやC言語で 実現させるだけです。 自分が理解できるように、参考書を見ながら自分で作ってみては?
補足
教科書まるまる読んで自分でやろうとしましたよ。しかしエラーばっかりでわけわからなくなりました。
- ts244
- ベストアンサー率41% (53/127)
結局何が分からないんですか? 方程式の解き方が分からないんですか(「解の公式って何さ」ってこと?)? 丸投げするから、代わりにプログラムを作って欲しいということ?
補足
プログラムを作っていただきたいです
関連するQ&A
- C言語プログラミングで困っています。助けて下さい。
C言語プログラミングで困っています。助けて下さい。 課題1-1: 実数 a と実数 b を入力すると、一次方程式ax + b = 0 の解を求めるプログラムを作る 課題1-2: 1-1 で作成したプログラムについて、さらにa として1が入力されたとき、方程式の表示 部分が1x + 3 = 0ではなくx + 3 = 0となるようにせよ 課題1-3: 1-2 で作成したプログラムについて、さらにb として0 や負の数が入力されたとき、方程式 の表示部分が2x = 0 や2x – 3 = 0となるようにせよ 課題1-4: 1-3 で作ったプログラムについて、さらにa の値として0が入力された場合、「解けません」 と表示するようにせよ 課題1-5: 係数 a, b, c を入力すると、 2次方程式ax2 + bx + c =0の解を表示するプログラムを作 れ ※ 1-2 ~ 1-4 のような機能を盛り込む ※ a が0の場合には、先に作った1次方程式のプログラムが動く という問題です。最終的にこれらを一つのプログラムにしてください。判別式や解の公式、ルート√などを使ってよろしくお願いします。C言語でお願いします
- ベストアンサー
- その他(プログラミング・開発)
- プログラミングの問題なのですが
学校の課題でプログラムを作らなければならないのですが、いまいちよくわからないので教えてください>< 1、インチ単位の数を引数として何cmかを出力する関数を作成しなさい。 2、f(x)=ax^2+bx+cのa,b,cを順に引数として、f(x)=0の実数解の個数を出力する関数を作成しなさい。 よろしくお願いします。
- 締切済み
- C・C++・C#
- C言語 プログラミング
C言語初心者です。 以下の点を踏まえて、 2次方程式ax^2+bx+c=0の解が実数であるかどうか判定するプログラムを教えてください!お願いいたします。 ・if文を組み合わせる ・判別式D=b^2-4acを使う ・係数abcは実数として入力する ・aが0の場合などすべての場合を網羅している 例 a=0,b=0,c=1の場合、解は存在しない
- 締切済み
- 情報工学
- 高1数学の問題です。
・二次不等式ax^2+(b-a)x+4>0の解が-1<x<4のとき、二次不等式bx^2+3ax+1<0を解きなさい。 ・実数を係数とする二次方程式x^2-2ax+a+6=0が、次の条件を満たすとき、定数aの値の範囲をそれぞれ求めなさい。 (1)正の解と負の解をもつ。 (2)異なる2つの負の解をもつ。 (3)すべての解が1より大きい。 どちらか一方でも良いので解き方を教えていただけると嬉しいです。
- ベストアンサー
- 数学・算数
- 解き方がわかりません( ´;ω;`)
1) 2つの2次方程式 x²+ax+a+3=0 , x²-ax+4=0 がともに虚数解をもつとき、定数aの値の範囲を求めよ。 2) 2つの方程式 x²+2ax+a+2=0 , x²-4x+a+3=0 のうち、どちらか一方だけが実数解をもつように、定数aの値の範囲を定めよ。 3) a , b , c を定数とする。 2次方程式 ax²+bx+c=0は、2次の係数aと 定数項cが異符号ならば、異なる2つの実数解をもつことを示せ。
- ベストアンサー
- 数学・算数
- わからないので教えてください(´・ω・`)
2つの2次方程式 x²+ax+a+3=0 , x²-ax+4=0 が ともに虚数解をもつとき、定数aの値の範囲を求めよ。 2つの方程式 x²+2ax+a+2=0 , x²-4x+a+3=0 のうち、どちらか一方だけが実数解をもつように、定数aの値の範囲を定めよ。 a , b , c を定数とする。 2次方程式 ax²+bx+c=0は、2次の係数aと 定数項cが異符号ならば、異なる2つの実数解をもつことを示せ。
- ベストアンサー
- 数学・算数
補足
もう終わったんでどうでもいいです。御苦労さん