08/10/01 00:43:26
>>952の1番目の問題を解いてもらって2番目のsinx + x = 1 のほうの問題をやっていたのですがうまくいきませんでした
for文でまわしても結果がでてこないのとsinxのxはラジアンで扱ったほうがいいのかどうか(どっちでやってもうまくいかなかったんですが)わかりません
どなたかできる方いたら教えていただけないでしょうか?よろしくお願いします
978:デフォルトの名無しさん
08/10/01 00:45:22
>>977
double f(double x){
return sin(x)+x-1;
}
として、あとはニュートン法でも二分法でも
979:952
08/10/01 01:19:08
アドバイスありがとうございます。頭悪くて申し訳ないんですが以下のプログラムは何がいけないんでしょうか?全部おかしいですか?
#include <stdio.h>
#include<math.h>
double f(double x){
return sin(x)+x-1;
}
void main(void)
{
double x,z;
for(x=0;x<5;x++){
if(f(x)==0)z=1;
if(z!=0)printf("%d",x);
}
}
980:952
08/10/01 01:22:12
すいませんこっちでした
#include <stdio.h>
#include<math.h>
double f(double x){
return sin(x)+x-1;
}
void main(void)
{
double x,z;
z=0;
for(x=0;x<5;x++){
if(f(x)==0)z=1;
if(z!=0)
{printf("x=%d\n",x);
z=0;
}
}
}
981:デフォルトの名無しさん
08/10/01 01:30:50
>>952
#include <stdio.h>
#include <math.h>
int
main(void)
{
double x = 0.0;
for ( x = 1.0; 1.0E-8 < x; x -= 0.01 ) {
if ( (sin(x)+x-1.0) < 1.0E-8 ) {
printf("x == %f\n", x);
break;
}
}
return 0;
}
982:デフォルトの名無しさん
08/10/01 01:39:01
>>976
>>963 には入力データを配列に詰める処理と、表示処理を書いているんだけど
なぜ >>937 のエッセンスを微妙に混ぜてしまったの?
分からないままとりあえず組み合わせて
> という感じにすればよいのでしょうか。
と締めくくるのは、クマーAAを生むのに必要な技術であって、プログラムを組むには必要ないよ。
983:デフォルトの名無しさん
08/10/01 01:56:40
懐かしいネタがw
void show_histogram(int *data){
int i;
for(i=0;i<10;i++){
while(data[i]!=0){
printf("*");
data[i]--;
}
printf("\n");
}
}
int main(void){
int i, input_value, a[10] = {0};
for(i=0;i<16;i++){
scanf("%d",&input_value);
a[input_value]++;
}
show_histogram(a);
return 0;
}
こうですか!?わかりません!教えてください!
if禁止なので入力チェックは本当にわかりません><
984:デフォルトの名無しさん
08/10/01 07:29:23
次スレ立てました
C/C++の宿題を片付けます 116代目
スレリンク(tech板)
985:946
08/10/01 10:48:55
>>961
ありがとうございました。
986:デフォルトの名無しさん
08/10/01 13:51:59
[1] 授業単元: c++
[2] 問題文(含コード&リンク):
URLリンク(kansai2channeler.hp.infoseek.co.jp)
・「年(西暦)」「月」を入力したら,その月のカレンダーを表示するプログラムを作成しなさい。ただし,下記の条件を満たすものとする。
【条件】
(1)カレンダークラスを作成し,main関数でカレンダークラスの実体を生成し,カレンダークラス内のメンバ関数(show関数)を呼び出してカレンダーを表示する。
(2)カレンダークラスはカプセル化されていること。
(3)カレンダー表示には,年,月および曜日,日を表示すること。
(4)上記以外については自由に作成してよい。
[3] 環境
[3.1] OS: windows
[3.2] コンパイラ名とバージョン: VS2008
[3.3] 言語:C++
[4] 期限: ([2008年10月5日まで]
987:986
08/10/01 13:56:34
もしよければ閏年の表示もお願いします。
988:デフォルトの名無しさん
08/10/01 13:56:54
>>986
>>715-719とかにあった気がする
989:デフォルトの名無しさん
08/10/01 14:39:25
[1] 授業単元: 数理科学C
[2] 問題文: 二分法を用いて√2の近似値を求めるプログラム
[3] 環境
[3.1] OS: Windows/
[3.2] コンパイラ名とバージョン: gcc
[3.3] 言語: C
[4] 期限: [2008年10月2日まで]
[5] その他の制限:特になし
990:デフォルトの名無しさん
08/10/01 15:10:20
>>984
乙!
>>989
#include<stdio.h>
#include<math.h>
double f(double x){
return x*x-2;
}
int main(void){
double a=0.0, b=2.0, x;
while(f(a)*f(b)<0.0){
x=(a+b)/2;
if(f(a)*f(x)<0) b=x;
else a=x;
printf("x=%f f(x)=%f\n", x, f(x));
if(fabs(f(x))<1e-7) break;
}
return 0;
}
>>980
これの関数 f(x) の中身を書き換えればおk
991:デフォルトの名無しさん
08/10/02 16:03:28
質問なのですが、プログラム中に別のプログラムを呼び出す場合は
データをコマンドライン上で受け渡しはできないのでしょうか?
それともtxtデータなどで外部出力したものを読み取るしかないのでしょうか。
992:デフォルトの名無しさん
08/10/02 16:11:49
>>991
LinuxでもWindowsでも引数つきでプログラム起動は出来るだろう
993:デフォルトの名無しさん
08/10/02 16:15:07
引数か標準入力に書き込むか
994:991
08/10/02 16:30:53
調べてみたら標準出力のパイプ処理でうけわたしできるみたいですね。
ありがとうございました。
995:デフォルトの名無しさん
08/10/02 20:05:42
埋めるぜ
996:デフォルトの名無しさん
08/10/02 20:06:28
次スレは >>984
997:デフォルトの名無しさん
08/10/02 20:10:55
オレにとって手ごろな宿題が無くなってきてるな
ストライクゾーンが狭いからしょうがないけど
998:デフォルトの名無しさん
08/10/02 20:23:24
1000取っちゃうぜ?
999:デフォルトの名無しさん
08/10/02 20:24:43
どうぞどうぞ
1000:デフォルトの名無しさん
08/10/02 20:26:11
では遠慮なく
1000ならオレ様勝手にレベルアップ
1001:1001
Over 1000 Thread
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。