ぼるじょあがC/C++の宿題を片づけますYO! 48代目
何もかもスレ違いなんだよボケが
>>887 (・3・)エェー 釣りなんか書くなYO!
だからぼるじょあはやめろとあれほど
あと100レスほどの辛抱だ
>>892 100レスほどで内藤ホライゾンな訳だが
>>885 画像とか読み込み関数とかって全部自前?
画像形式の指定とかないの?
野球.txtがあるなら配列<もしくはリスト>に読む
while("終わり"になるまで)
配列<もしくはリスト>に背番号、名前の入力操作を行う
配列<もしくはリスト>から野球.txtに"消去"以外のものを書き出す
ってだけだ
>>895 >
>>885 > 画像とか読み込み関数とかって全部自前?
はいそうです。
> 画像形式の指定とかないの?
画像形式の指定はR,G,Bがそれぞれ1バイトで表現されているデータということでした。
.rgbファイルです。
追記ですが、ロイドアルゴリズムを用いてコードブックを作るとありますが、
最悪の場合、データからランダムに代表ベクトルを選出したコードブックでもいいので誰か
お願いできませんか。ぜひお願いします。
899 :
863:2005/08/08(月) 14:46:29
なんか偽物がたくさんいるようですが…
>>879さんの言う通りで、できればそのまんま表現していただきたいです
なんとか明日くらいまでには出来ませんでしょうか?
>>899 お前の書き込みはどれだ?番号で言ってくれ
901 :
863:2005/08/08(月) 16:22:18
>>901 こちらからの質問は無視という事か
よくわかった
>>899 (・3・)アルェ〜 まだいたのかYO!
時間が無いという割には質問投げっぱなし。
気分のいいものじゃないな。
>>901 時間をかけて作ったコード出してもらっておいて、そいつを無視かよ!!!
そうは言うがな大佐
性欲をもてあます
電光掲示板をそのまんま表現ってどういう意味?
いい加減スルー汁
だからぼるじょあはやめろとあれほど
[1] 授業単元: プログラミング言語C
[2] 問題文(含コード&リンク):
Cプログラムからすべてのコメントを除去するプログラムを書け。
引用符で囲まれた文字列や文字定数を正しく扱うことを忘れないこと。
Cのコメントは入れ子になっていない。
[3] 環境
[3.1] OS: Windows / Linux
[3.2] コンパイラ(バージョン): LSI C / gcc
[3.3] 言語:ANSI C
[4] 期限:2005年08月10日
[5] その他の制限:どこまで習っているか、等々
>>911 ケータイで書いてたら意味不明になってしまった。(+_+)
#include<stdio.h>
int unko(){
int c=fgetc(stdin);fputc(c,stdout);return c;}
int main(void){int c;
while(1) {
c=fgetc(stdin);
if(c==EOF)break;
if(c=='"'){
fputc(c,stdin);
while(1) {c=unko();
if(c=='\\') fgetc(stdin);
else if(c=='"') break;}continue;}if(c=='\''){
fputc(c,stdout);
c=unko();
if(c=='\\') unko();unko();
}if(c=='/') {
c=fgetc(stdin);
if(c=='/'){while(c==EOF||c=='\n'||c=='\r')c=fgetc(stdin);
if(c!=EOF)fputc(c,stdout);continue;}if(c=='*'){
while(1){while(c!='*')c=fgetc(stdin);c=fgetc(stdin);
if(c=='/')break;
}}fputc('/',stdout);fputc(c,stdout);
}}
return 0;
}
914 :
912:2005/08/09(火) 07:45:35
あーダメだ。間違えまくってる。
>>912 は危ないから実行しないように!
>>918 >引用符で囲まれた文字列や文字定数を正しく扱うことを忘れないこと。
がちゃんと処理されていないようですが。
916 :
913:2005/08/09(火) 10:08:21
917 :
913:2005/08/09(火) 10:16:39
[1] 授業単元:
[2] f(x)=4・x-x・e^(2x)+2=0の根をニュートン・ラフソン法で求めよ。ただし初期値 x1=1 収束判定定数ε=0.00001 とする。
ガウスの単純消去法、ガウスの消去法、改頂コレスキー法、LU分解法のどれかにより次の連立一次方程式の解を求めろ。
│623│ │6│
│234│(x) = │9 │
│347│ │15│
θ=0°、10°、20°、30°、40°〜90°までのsinθの値を与え、線形、ラグランジュ、ニュートン、スプラインのどれかの補間法によりθ=5,15,・・・・・85 °における値を補間して誤差を求めろ。
[3] 環境
[3.1] OS:WindowsXP
[3.2] コンパイラ(バージョン):borland C/C++ 5.5
[3.3] 言語:C/C++どちらでも可
[4] 8月15日
[5] その他の制限:あまりない
3問あります。友達もみんなできません。全員であきらめる前に皆様に頼りに来ました。お願いします。
2問めは行列がずれてますねすいません。
│623│ │6 │
│234│(x)= │9 │
│347│ │15 │
すいません・・・なんどやってもずれます
3行3列X(x) = 3行1列
です。
>>918 とりあえず1問目
double newton_raphson(double x, double (* f)(double), double (* fprime)(double))
{
const double e = 0.00001;
double next = x - f(x) / fprime(x);
if (std::fabs(next - x) <= e) return next;
return newton_raphson(next, f, fprime);
}
double f(double x)
{
return 4 * x - x * std::exp(2 * x) + 2;
}
double fprime(double x)
{
return 4 - (1 + 2 * x) * std::exp(2 * x);
}
おっと、呼び出し(main内?)はこんな感じで
double x = newton_raphson(1, f, fprime);
std::cout << "x = " << x << std::endl << std::endl;
>>918 3問目。ラグランジュ補間法による。
#include <stdio.h>
double lagrange_interpolation(double* data, unsigned int n, double x) {
int i, j;
double result = 0., temp;
for (i = 0; i < n; ++i) {
temp = 1.0;
for (j = 0; j < n; ++j)
temp *= (i == j ? 1 : (x - j) / (i - j));
result += data[i] * temp;
}
return result;
}
int main(void) {
double data[] = {0., 0.17364817766693033, 0.3420201433256687, 0.5, 0.6427876096865393, 0.766044443118978, 0.8660254037844386, 0.9396926207859083, 0.984807753012208, 1.};
int i;
const unsigned int n = sizeof(data) / sizeof(data[0]);
for (i = 5; i <= 85; i += 10)
printf("sin%d°≒%f\n", i, lagrange_interpolation(data, n, i / 10.));
}
925 :
デフォルトの名無しさん:2005/08/09(火) 16:43:58
>>921様
感謝感激です 本当にありがとうございます 3番はそのままコンパイルが通りました。
1番なのですが、
#include<stdio.h>
#include<math.h>
double main(double x = newton_raphson(1, f, fprime);
std::cout << "x = " << x << std::endl << std::endl; )
{
double newton_raphson(double x, double (* f)(double), double (* fprime)(double)) ;
{
const double e = 0.00001;
double next = x - f(x) / fprime(x);
if (std::fabs(next - x) <= e) return next;
return newton_raphson(next, f, fprime);
}
double f(double x)
{
return 4 * x - x * std::exp(2 * x) + 2;
}
double fprime(double x) ;
{
return 4 - (1 + 2 * x) * std::exp(2 * x);
}
return 0;
}
そのまま通らなかったのでいろいろいじったけどなんかエラーが三つでるのです。もしよければアドバイスおねがいします。
エラー E2293 suutikaiseki1.c 4: ) が必要
エラー E2141 suutikaiseki1.c 5: 宣言の構文エラー
エラー E2040 suutikaiseki1.c 5: 宣言が正しく終了していない
すげぇジョークだなぁおい。
main内って、仮引き数リスト内にコード書くなんて思いもつかなかったぜ。
>>925 楽しいネタをありがとよ。
928 :
921:2005/08/09(火) 17:27:38
>>925 #include <iostream>
#include <cmath>
int main()
{
std::cout << "x = " << newton_raphson(1, f, fprime) << std::endl;
return 0;
}
っていうか実はCで書けって話だった?
その場合は
#include <stdio.h>
#include <math.h>
int main() { printf("x = %f\n", newton_raphson(1, f, fprime)); return 0; }
あとは std:: を全て削除で。
929 :
デフォルトの名無しさん:2005/08/09(火) 17:48:57
>>928様
#include <iostream>
#include <cmath>
int main()
{
std::cout << "x = " << newton_raphson(1, f, fprime) << std::endl;
return 0;
}
double newton_raphson(double x, double (* f)(double), double (* fprime)(double))
{
const double e = 0.00001;
double next = x - f(x) / fprime(x);
if (std::fabs(next - x) <= e) return next;
return newton_raphson(next, f, fprime);
}
double f(double x)
{
return 4 * x - x * std::exp(2 * x) + 2;
}
double fprime(double x)
{
return 4 - (1 + 2 * x) * std::exp(2 * x);
}
致命的エラー F1003 c:\Borland\Bcc55\include\stdcomp.h 5: error 指令: Must use C+
+ for STDCOMP.H
なんどもすいません。致命的なエラーが一つです。後期からはしっかり反省して勉強したいです(;・Д・)
CでもC++でもどっちもいいはずです。2年のときにはC言語の授業があって、なんとかそれは単位をとったのですが、
3年の数値解析学からぜんぜんついていってないんですorz。
レポートだけの授業なんでレポートをだせば単位は取れるらしいです。必修ではないけどなんとかしなければ。
>>929 まさか、ファイル末尾が".c"だったりしないだろうな。
>>931 拡張子をcからcppにしましたこっそり。それでもエラーみっつです。orz
エラー E2268 suutikaiseki1.cpp 5: 未定義の関数 'newton_raphson' を呼び出した(関
数 main() )
エラー E2451 suutikaiseki1.cpp 5: 未定義のシンボル f(関数 main() )
エラー E2451 suutikaiseki1.cpp 5: 未定義のシンボル fprime(関数 main() )
*** 3 errors in Compile ***
>>932 関数の順番をfとfprime→newton_raphson→mainの順にしろ。(fとfprimeは順不同)
関数を呼ぶ前までに呼び出す関数が見つかっていなければならないから。
>>933 関数の順番を変えるというのが私にはわからないです。馬鹿ですいませんorz
936 :
918:2005/08/09(火) 18:37:38
学校のパソコン室しまるんで今日は帰ります。自宅だとパソコンあってもネットないんです。
短い間でしたがいろいろアドバイスくれた人に感謝します。
いままでずっと放置だったのに、せっかくやろうとしてるので、締め切りまで頑張ってみたいと思います。
本当に僕みたいなのでも助けてくれようとする人がいて感動しました(;´Д`)
今日はありがとうございました。また明日くるかもしれないです。
>>929 2行目と3行目の間(includeの直後・mainの直前)に以下の3行を挿入してくれ。
double newton_raphson(double x, double (* f)(double), double (* fprime)(double));
double f(double x);
double fprime(double x);
これは
>>933の方法とは別の方法だけど。
あと、エラーの意味もちょっとは考えてみそ(上達したいのなら)。
5行目でエラーでてるわけだけど、それより上の部分(1〜4行目)には
newton_raphson とか f とか fprime とか一度も登場してないでしょ。
だからコンパイラ様にとっては5行目の時点では未定義なの。
コンパイラ様にきちんとわかってもらうために上記の方法か
>>933の方法のどちらかを使う。