宿題見てやるよ
■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさん
NGNGただし、「考え方」を教えてやるから「答え」は自分で見つけろよ。
麻衣スレ
http://piza2.2ch.net/test/read.cgi/tech/982853418/
0153151
NGNGそれにしても writefile の引数がファイル名だけってのが謎だ。
一体どういうクラスなんだ?定義をぜんぶ出さんとわからんぞ。
…いやまて、手で打ち込んでタイプミスしてるってことは、
問題は印刷物でしか与えられてないのか?
0154スミマセン
NGNGそのとおりです。
甘えるつもりはないんですが、ほんとになんもわっかてないっす。
今、周りに追いつくので必死なので、
こんな単純な間違いにも気づかない厨房です。
どうかあきらめずに救いの手を。
0155151
NGNG>こんな単純な間違い
って結局どこがちがったんだ?それともちがわないのか?
ともかく、どういう問題かが伝わってくるまで手が出せんぞ。
0156スミマセン
NGNGこちらこそスミマセン。
テキストファイルの読み込み、書き込みの
資料を紙一枚いただいただけです。
問題に関しては2問合わせて4行程度です。
問1の問題は、その2つのメソッドの定義と
2つのファイル名をコマンドオプションから受け取る。
ぐらいしか、情報はありません。
問2の問題も、コマンドオプションからファイル名を
取得せよとのことです。
まだJAVAをはじめて一週間しかたっていなのですが、
よろしくお願いします。
0157156
NGNG単純な間違いとはタイプミスのことです。
すみません。
BufferedReaderとBufferedWriterを
問題の前に説明を受けました。
(2つ合わせて10分ぐらい)
あとtry catch を4回使うとも言ってました。
0158151
NGNGファイルに書き込みをするってことは、
「<あるファイル>に<ある内容>を書き込む」
というふうに、投入口と品物がないと成立しない。
その引数リストでは、どうやって書き込むべき<内容>を指定するのか、
がわからん。
もし長くなければ、writefile の定義を書いてみれ。
0159151
NGNGどうやら「readfile」「writefile」とかいうメソッドは、
呼び出し方だけ定義されていて、内容は自分で埋めなきゃいけないのか?
0160デフォルトの名無しさん
NGNGがんばれ151と156。
0161156
NGNG言われていることは分かるのですが、
問題にはテキストファイルの内容
(ファイル名はコピー元txt(メモ帳に"あああ"と書いたもの)
とコピー先txt2)をコピーしろとしか書いてないので定義と
言われてもこんなことしか分かりません。
0162デフォルトの名無しさん
NGNGまず、問題を一字一句間違いなくこの掲示板にカキコしてみ。
答えてやるから。
0163156
NGNGはい。
呼び出し方しか決まっていません。
すみません。説明が小出し小出しに
なってしまっていて。
0164デフォルトの名無しさん
NGNG読み込んだテキストを String の Vector のインスタンス変数で持つんでないの?
0165151
NGNGなんか講義自体が雑だって言いたいのか?そりゃそうかもしれんが、
おまえの説明もちんぷんかんぷんだ。特に writefile/readfile以降、
不正確な言い回しが目立つ。
>問題にはテキストファイルの内容
>(ファイル名はコピー元txt(メモ帳に"あああ"と書いたもの)
>とコピー先txt2)をコピーしろとしか書いてないので
だから言っとくが、それだけならもうわかってるんだろ。
本当は「それだけしか書いてない」じゃなくて、
「writefileとreadfileを使え」とか「BufferedReaderとPrintWriterを使え」
とか、うるさい条件がついてんじゃなかったのか?
はっきりさせろよ、伝わってないんだから。
0166156
NGNGテキストファイルの内容をコピーするプログラムを作成しなさい。
とにかく習ったものだけでプログラムをつくれとのことです。
BufferedReaderとPrintWriter writerを習いました。
0167156
NGNGすみません。
言葉が軽率でした。
0168151
NGNGじゃあ、writefileとかreadfileとかはなんだったわけ?
0169156
NGNG問題をやる前に
private Vector readfile (String fileName)
private boolean writefile (String fileName, Vector lines)
この2つを使ってやってみろ、という指示が出ました。
0170デフォルトの名無しさん
NGNGimport java.io.*;
public class FileCopy
{
public static void main(String[] args)
{
String from, to;
BufferedReader reader = null;
PrintWriter writer = null;
if (args.length != 2) {
System.err.println("usage: java FileCopy file_from file_to");
return;
}
from = args[0];
to = args[1];
try {
String line;
reader = new BufferedReader(new FileReader(from));
writer = new PrintWriter(new FileWriter(to));
while ((line = reader.readLine()) != null) {
writer.println(line);
}
}
catch (Exception e) {
e.printStackTrace();
}
finally {
try {
reader.close();
writer.close();
}
catch (Exception e) {
e.printStackTrace();
}
}
}
}
0171デフォルトの名無しさん
NGNGimport java.io.*;
public class FileCopy
{
public static void main(String[] args)
{
String from, to;
BufferedReader reader = null;
PrintWriter writer = null;
if (args.length != 2) {
System.err.println("usage: java FileCopy file_from file_to");
return;
}
from = args[0];
to = args[1];
try {
String line;
reader = new BufferedReader(new FileReader(from));
writer = new PrintWriter(new FileWriter(to));
while ((line = reader.readLine()) != null) {
writer.println(line);
}
}
catch (Exception e) {
e.printStackTrace();
}
finally {
try {
reader.close();
writer.close();
}
catch (Exception e) {
e.printStackTrace();
}
}
}
}
0172151
NGNGそれって
「本問題を解く<前>に、練習として〜を使ってまずやってみろ」
なのか?わからんぞイヤマジデ
まあいいや、どのみち使うってことだな。
で、そのふたつを完成させてから、それを組み合わせてコピーするってわけな。
わかった。
じゃあまず。。
0173151
NGNG0174151
NGNGどうよ?>156
0175156
NGNG丁寧にありがとうございます。
>>151
本問題です。
使って頂きたいです。
よろしかったらお願いします。
private Treemap readfile (String fileName)を使って
テキストファイルより任意の人数分の番号、名前、住所を読み込んで
コマンドオプションから受け取った番号に該当する情報を画面表示。
もし、よろしければこちも希望。
0176デフォルトの名無しさん
NGNG0177デフォルトの名無しさん
NGNGまず、その番号、住所などが書かれたテキストファイルの
フォーマットを示せよ。
0178デフォルトの名無しさん
NGNGこんなメソッドを作れって指示する教官はJavaのことを
よくわかっていないので、習うのをやめれ。
0179151
NGNG引っ張っといて悪いが、そろそろ風呂入って寝たいので
ひとこと。
readfileについて:
writefileの「lines」っていう引数名から察するに、
一行を一要素としてファイル全体をVectorオブジェクトに格納していくんだよな。
それ想像できるか?できないならいえよ。
それには「BufferedReaderから一行ずつ読み込む」ってことと、
Vectorオブジェクトの扱い方がわかってればできるはずだよな。
で、どっちがわかんないのかは知らんが、とりあえず
とにかくそこんとこAPIドキュメントを読め。
Javaはじめて一週間ってことは、ひょっとして基本的な構文の理解から
すでにあやしいのか?そこまではちょっとな。。
0180151→風呂
NGNGそれはすでに暗黙の前提。たしかに156は不幸ではある。
0181156
NGNGすみません。
問題の意味もよく分かっていないので
テキストファイル自体にどのように番号、名前、住所を
書き込んだらよいのかも分かっていません。
メモ帳にそれらをずらずらっと書き込んだらよいのでしょうか。
ファイル名はTXT3にしようと考えています。
0182156
NGNG長い時間ありがとうございました。
"もうめんどうくせぇ"
と思いでしょうが、また次の機会もよろしくお願いします。
基本的な構文をきちんと復習します。
本当にありがとうございました。
0183デフォルトの名無しさん
NGNGimport java.io.*;
import java.util.*;
public class Address
{
public static void main(String[] args)
{
String num;
TreeMap map;
String[] item;
if (args.length != 1) {
System.err.println("usage: java Address [number]");
return;
}
num = args[0];
try {
map = readfile(addressFile);
if (!map.containsKey(num)) {
System.out.println("no such number");
return;
}
if ((item = (String[]) map.get(num)) != null) {
System.out.println("number: " + num);
System.out.println("name: " + item[0]);
System.out.println("addr: " + item[1]);
}
else {
System.err.println("no value defined");
}
}
catch (Exception e) {
e.printStackTrace();
}
}
private static TreeMap readfile(String file)
throws FileNotFoundException, IOException
{
BufferedReader reader;
TreeMap map;
StringTokenizer st;
String line;
reader = new BufferedReader(new FileReader(file));
map = new TreeMap();
while ((line = reader.readLine()) != null) {
String num;
String[] item = new String[2];
st = new StringTokenizer(line, ",");
num = st.nextToken();
item[0] = st.nextToken();
item[1] = st.nextToken();
map.put(num, item);
}
return map;
}
private static String addressFile = "TXT3";
}
0184デフォルトの名無しさん
NGNG6,あいうえ花子,東京都3
1,山田太郎,東京都1
2,山田花子,東京都1
3,砂糖太郎,東京都2
4,砂糖花子,東京都2
0185デフォルトの名無しさん
NGNGimport java.io.*;
import java.util.*;
public class Address
{
public static void main(String[] args)
{
String num;
TreeMap map;
String[] item;
if (args.length != 1) {
System.err.println("usage: java Address [number]");
return;
}
num = args[0];
try {
map = readfile(addressFile);
if (!map.containsKey(num)) {
System.out.println("no such number");
return;
}
if ((item = (String[]) map.get(num)) != null) {
System.out.println("number: " + num);
System.out.println("name: " + item[0]);
System.out.println("addr: " + item[1]);
}
else {
System.err.println("no value defined");
}
}
catch (Exception e) {
e.printStackTrace();
}
}
private static TreeMap readfile(String file)
throws FileNotFoundException, IOException
{
BufferedReader reader;
TreeMap map;
StringTokenizer st;
String line;
reader = new BufferedReader(new FileReader(file));
map = new TreeMap();
while ((line = reader.readLine()) != null) {
String num;
String[] item = new String[2];
st = new StringTokenizer(line, ",");
num = st.nextToken();
item[0] = st.nextToken();
item[1] = st.nextToken();
map.put(num, item);
}
return map;
}
private static String addressFile = "TXT3";
}
0186156
NGNGありがとうございました。
基本をまずはしっかり復習して
がんばりたいと思います。
本当にありがとうございます。
0187112です
NGNGよろしくお願いします。
0188
NGNGとりあえず、自分で書いたコードみせてみ。
間違ってるところ教えてやるから。
0189デフォルトの名無しさん
NGNGブロックまでの経路の全通りを作るプログラムを作りたいのですけど
経路の全通りを作る部分がわかりません。教えてください。
ただし一度通過したブロックは通過できない、経路は最短距離
ではない、です。
こんな感じです
●○○○○○○
○○○○○○○
○○○○○○○
○○○○○●○
○○○○○○○
○○○○○○○
↓4回、→5回、↑一回って経路も必要なのです。
0190デフォルトの名無しさん
NGNG迷路をスネークパターンで生成する技術が応用できますね。
0191デフォルトの名無しさん
NGNG0192デフォルトの名無しさん
NGNGあたりまえだろ?
これはその総数を計算で求めるんじゃないの?
0193デフォルトの名無しさん
NGNG総数でいいんだよね?
全通りを「作る」って書いてあるが・・
0194189
NGNG総数は膨大になると思いますが・・・
0195デフォルトの名無しさん
NGNG本当に100×100?
0196デフォルトの名無しさん
NGNGというか、100×100での経路の全通りを求めるのが宿題なの?
もし、それが宿題の自分なりのアプローチの1プロセスだとしたら、
そのアプローチの仕方はまずいと思う。
0197189
NGNG「こういうアルゴリズムで作っていく」
というのが教えてほしいのです。
0198デフォルトの名無しさん
NGNGそういうことだったら。って、言葉で上手くできる自信ないが一応試みてみます。
基本的には再帰。で、一度通ったところは配列作ってチェックしていく。
とりあえず、めんどくさいのでグローバルに定義されている二次元の配列aに、
x,yを通ったか通ってないかを、1か0かで保持しているとしましょう。
また、今までの経路を何か配列か何かにつめてとおきましょう。
地点x,yから、ゴールまでの全ての経路を求める関数f(x,y)を考えるとします。
f(x,y)では、次のような処理をします。
(1)そこがゴールならば、今までの経路が答えの一つなので、それを保持します。
で、一つ前に戻ります(return)。
(2)そこがゴールでないなら、
(2-1) 今居る地点を「通ったと記憶します」(a[x][y]=0)。また経路の配列にも
記憶します。
(2-2) 上、右、左、下、それぞれについて。
選んだ隣接ブロックが存在して、そこにはまだ行ったことがないなら
ax,ayにその隣接ブロックの場所を入れてf(ax,ay)を呼び出します。
(2-3) 一歩もどります。その前に、今いる地点を「通っていない」状態に戻し
ます(a[x][y]=0)、あと経路の配列も一つ戻します。で、return
これで、適当な初期化してfを呼び出せば大丈夫です。
0199198
NGNG高速化するために枝狩りした方がこの場合はいいと思います。
fを呼び出すたびに、「現在の地点からゴールまでたどり着く
可能性があるか」を判定し、それがなければreturnするのが
いいかと思います。
0200198
NGNG記憶します。
a[x][y]=1ですね、わかると思うけど。
0201デフォルトの名無しさん
NGNG(40116600通り)
100x100の全ての経路を数えるだけでも一筋縄では行かない。
まして、全部プリントしたら、一生かかっても終わらない。
0202189
NGNGどうもありがとうございました。
15×15で4千万通り以上ですか・・・
ちょっと考え直してみます。
0203デフォルトの名無しさん
NGNGhttp://www.google.com/search?as_q=%83o%83b%83N%83g%83%89%83b%83N
0204デフォルトの名無しさん
NGNG誰かめんどうみてやれや。
0205五目並べ
NGNGあとはおのずと道が開けていくと思うんたげど。
0206デフォルトの名無しさん
NGNGまあ、そうだねぇ。まず盤面を表すクラスを作って、その中で、3、4,5が何個あるか
を判定するメソッドを書いてみるあたりからはじめるのがよいかねぇ。
0207デフォルトの名無しさん
NGNG0208デフォルトの名無しさん
NGNGO-O
XX-
---
って状態で、Oが次の手をどう打つかっていうのを、
move([[o,-,o],[x,x,-],[-,-,-]], o, B)
と与えると、Bに [[o,-,o],[x,x,o],[-,-,-]] を代入する
みたいなのを作りたいんです。
「i 行目に x が2つ並んでなかったら」とか
「i 列目に x が2つ並んでたら」とかいうロジックを
どうやって書いたらいいっすか。
0209デフォルトの名無しさん
NGNGいろんなやり方あるが
count([Item|Rest], Item, N):-!, count(Rest, Item, M), N is M + 1.
count([_|Rest], Item, N):-!, count(Rest, Item, N).
count(_, _, 0).
futatsu(List, Item):-count(List, Item, 2).
とか使うと簡単では?
3x3なら羅列してもできちゃうけど。
0210デフォルトの名無しさん
NGNG0211デフォルトの名無しさん
NGNG>各列、各列の中央値による行のソートをされた...
というのは>>128あての(順列を求める問題の)回答ではなくて
「ソートせずに中央値を求める」方の問題の回答ですね
これですか。
ttp://www-or.amp.i.kyoto-u.ac.jp/members/ibaraki/algo.shtml
4. 整列のアルゴリズム の
「第p要素を選ぶSELECT」
ttp://www-or.amp.i.kyoto-u.ac.jp/members/ibaraki/shokodo/select.c
全体をソートするのでなくてグループに分けてソートして
それらの中央値を集めて...
なにかやってるみたいですね。
0212
NGNGその、ソースちらっと眺めんですが、何してるのかよくわからんっす(^^;
誰かしっかり読んだ方解説お願いできませんか?
0213212
NGNG>>121
のやり方で、基準とする要素を適当に選ぶのではなく、中間値
の中間値を採用するってこと・・ですよね、多分。
で、最悪でO(N^2)になるのをさけると。
0214デフォルトの名無しさん
NGNGMedian のアルゴリズムは情報系の学生には常識だと思ってたけど,
結構知らない人が多いみたいだね.
ちなみに,茨木先生の本に書いてある5個ずつに分けるアルゴリズムよりも,
徳山先生が情処かどっかに解説書いてたサンプリングによる方法の方が平均的
には圧倒的に速くて実用的.こっちを勉強しなよ.
0216デフォルトの名無しさん
NGNG>>121 の考え方をHaskellで素直に書くとこんな感じだね。
すごく楽だ。
nearest_to_median :: Int->[Int]->[Int]
nearest_to_median k list =
map snd (nth_smaller k distance)
where distance = [(abs(x - median), x) | x <- list]
median = last (nth_smaller (length list)/2 list)
-- 小さい方からn個を求める。
nth_smaller n list :: Int->[Int]->[Int]
nth_smaller n (m:more)
| n == 0 = []
| otherwise = if (length left) < n then
left ++ m:(nth_smaller n - (length left) - 1 right)
else
nth_smaller n left
where left = [x | x <- more, x < m]
right = [x | x <- more, x >= m]
0217216
NGNG○ nth_smaller n list :: (Ord a) => a->[a]->[a]
0218デフォルトの名無しさん
NGNGサンプリングを取るっていうのは、適当に何個か抜き出して、そのMedianを採用
するってこと? この場合何個抜き出せばいいかっていうことに対して何か指針は
あります?
最悪値をo(n)に抑える為に、要素を定数で割った数だけサンプリングすることに
なるんでしょうか。
0219デフォルトの名無しさん
NGNG面白いね。
手続き指向で考えると、盤面を配列に持って手が進むごとに代入によって変化
していく作りになりがちな気がする。っていうかそんな風に作った。
ちょっと工夫が足りなかったと反省。
0220デフォルトの名無しさん
NGNG再帰的なプログラムって関数型言語で書くと綺麗にかけるねぇ。
0221超初心者の名無しさん
NGNG弟ではなく、妹ですがどうぞ、力を貸してください。
3問あるのですが、この問題が試験に出るそうなので、どうかお願いします。
/*
演習課題1.配列と整数nを与えて、その配列の先頭からn個の要素の和を
求める関数テンプレートを定義しなさい。
ヒント:整数配列の和を求める関数
int arraySum(int a[], int n)
{
int s = 0;
for (int i = 0; i < n; i++)
s += a[i];
return s;
}
*/
#include <iostream>
#include <conio>
using namespace std;
//関数テンプレート
int main(void)
{
int a[] = { 1, 2, 3}; //大きさ3の整数配列の例
double b[] = { 4.5, 6.7}; //大きさ2の実数配列の例
cout << arraySum(a, 3) << endl; // 出力は6。 arraySum<int>と書いても同じ。
cout << arraySum(b, 2) << endl; // 出力は11.2。arraySum<double> 〃
cout << "\Press any key to continue... ";
getch();
return 0;
}
0222超初心者の名無しさん
NGNG演習課題2.要素の型をクラスパラメータとした、2次元ベクトルクラステンプレート
を定義しなさい。
参考:要素がdouble型の2次元ベクトルクラスの定義
class Vec {
friend ostream &operator<<(ostream &os, const Vec &v); //フレンド関数の宣言
private:
float x, y;
public:
Vec(double xx = 0, double yy = 0) //コンストラクタ
{
x = xx;
y = yy;
}
Vec operator+(const Vec &b) const // メンバ関数として、+演算子を多重定義
{
return Vec(x + b.x, y + b.y);
}
};
ostream &operator<<(ostream &os, const Vec &v)
{
os << "(" << v.x << ", " << v.y << ")"; // フレンド関数として<<を定義
return os;
}
*/
#include <iostream>
#include <conio>
using namespace std;
//クラステンプレートの定義
int main(void)
{
Vec<int> intVecA(1, 2), intVecB(3, 4), intVecS; //整数ベクトル
Vec<double> doubleVecA(1.1, 2.2), doubleVecB(3.3, 4.4), doubleVecS;
//実数ベクトル
intVecS = intVecA + intVecB;
doubleVecS = doubleVecA + doubleVecB;
cout << intVecS << endl; //出力: (4, 6)
cout << doubleVecS << endl; //出力:(4,4, 6,6)
cout << "\Press any key to continue... ";
getch();
return 0;
}
0223デフォルトの名無しさん
NGNGてぃー あれい_さむ(てぃー *あ、いんと ん)
{
てぃー さむ=0;
ふぉー(いんと い=0;い<ん;い++) {
さむ+=あ「い」;
}
りたーん さむ;
}
0224超初心者の名無しさん
NGNG/*
問題3 スタックのデモプログラム
文字列を入力し、1文字ずつスタックに入れて、逆にスタックから1文字ずつ
取り出すことによって、逆順の文字列を出力するプログラムを作りなさい。
文字列型は使用しないこと。
ヒント:空白を含めて、行末まで1文字ずつ読む部分は次のように記述する
for (;;) { //無限ループ
char ch = cin.get();
if ( ch == '\n' )
break;
// ここで、chをスタックに入れる;
}
*/
#include <iostream>
#include <conio>
#include "stack_tp_l.h"
using namespace std;
int main(void)
{
cout << "\n\nPress any key to continue... ";
getch();
}
これから、私もできないなりに勉強をします。
お願いします。
0225デフォルトの名無しさん
NGNGもう答え書いてあるも同然…
C++とかSTLの本買って嫁嫁。
0226デフォルトの名無しさん
NGNGclass Vec {
private:
T m_x, m_y;
public:
Vec(T x=0, T y=0) : m_x(x), m_y(y) { }
Vec operator+(const Vec& rhs) const
{ return Vec(m_x + rhs.m_x, m_y + rhs.m_y); }
friend ostream &operator<<(ostream& lhs, const Vec& rhs)
{ lhs << "(" << rhs.m_x << ", " << rhs.m_y << ")"; return lhs; }
};
0227デフォルトの名無しさん
NGNGstk.clear();
for (;;) { //無限ループ
char ch = cin.get();
if ( ch == '\n' ) {
break;
}
// ここで、chをスタックに入れる;
stk.push(ch);
}
while ( !stk.empty() ) {
cout<<stk.pop();
}
// 初めてSTL使ったんだけど、これで合ってる?
0228214
NGNGn 個の要素から K 番目に大きい要素を取り出すアルゴリズムは以下の通りです.
1. √n 個のサンプルをデータからランダムに選ぶ.
2. サンプルをソートして,K/√n - 2√√n 番目に大きいサンプル x と,
K/√n + 2√√n 番目に大きいサンプル y を求める.
3. n 個の要素から,y より小さなデータを全て破棄する.K 個未満になって
しまったら 1. からやり直し.
4. その中で x より小さなデータを全て選ぶ.K 個以上になってしまったら
1. からやり直し.
5. y 以上 x 以下のデータをソートして,大きい方からデータを選び,
全体で K 個目選ばれるまで続ける.
6. 終了
上記のアルゴリズム中,ステップ 3., 4. で失敗して 1. からやり直す確率は
4% 以下らしい(チェルノフの不等式より).だから,1.〜4. を繰り返す回数は
平均すれば約 1.04 回.全体に対する処理は全て O(n) で,√n 個のサンプルに
対する処理は O(√n log n).全体に対する処理がさほど多くないので速いと
いうのがこのアルゴリズムの売り.
チェルノフの不等式の他の応用例としては,テレビの視聴率調査が分かりやすい
かな?たった数千軒のサンプルで数千万世帯の推測がかなり高い確率であっている
ということは,チェルノフの不等式が保証してくれます.
参考文献:
徳山豪, "ランダムアルゴリズムの話題から", 電子情報通信学会誌, vol.77,
no.9, pp.957-967, 1994. (いくつか細かいミスがあります.要注意.)
0229218
NGNG細かいところで、5番の処理で残ったデータ数mに対しo(mlog m)になるのが
気になりましたが、可能性としてはこのmが√nより大きいオーダになってしまう
ことがあるとしても、現実的には、4√nくらいを中心に散らばるから問題ない
ということですね。 気になるなら再帰的にやればいいのかな。
勉強になりました。
0230デフォルトの名無しさん
NGNGどのように考えればいいのでしょう?
0231デフォルトの名無しさん
NGNG問題文の意味不明。もう少しわかりやすく書け。
話はそれからだ。
0232デフォルトの名無しさん
NGNG1
__
n-1
2 nに整数値を入力してこの式の答えを出力させなさい
但し
1 1
___ __
0 -3
2 , 2 などにも対応させること、ということです。
0233デフォルトの名無しさん
NGNG2のn-1乗ってしたかったんですが・・。
0234デフォルトの名無しさん
NGNGnの入力を促す
↓
2の(n-1)乗を計算する
↓
結果を表示する
↓
(゚Д゚)ウマー
0235デフォルトの名無しさん
NGNGdouble func(int n)
{
return pow(0.5, (double)n - 1.0);
}
0236名無しですけど
NGNG自然対数の底eは、無限級数eにより次のように定義される。
e≒1+1/1!+1/2!+1/3!+1/4!+…+1/n!
�Aライプニッツの公式により、円周率の近似値を求めるプログラムを作成
しなさい。
ヒント…マイナスとプラスになる項を別々に考えると楽。
さっぱりわかりません。教えてもらえませんか?
0237デフォルトの名無しさん
NGNGvoid main()
{
printf("�@: %lf\n", M_E);
printf("�A: %lf\n", M_PI);
}
0238デフォルトの名無しさん
NGNGとりあえず何がわからないか整理しろ。
以下の項目それぞれについて「わかる」か「わからない」か答えてみろ。
1.自然対数
2.底
3.無限級数
4.n!
5.自然対数の底eの求め方
6.ライプニッツの公式
7.円周率
8.近似値
9.マイナスになる項、プラスになる項
10.円周率の近似値の求め方
0239236ですけど
NGNGいろいろ本とかで調べたのですが、どうしてもエラーがでて・・・
どこが間違ってるのかさえもわかりません。
0240デフォルトの名無しさん
NGNGエラーの出る部分を載せてみ。
0241236ですけど
NGNG円周率=4(1/1-1/3+1/5-1/7+1/9-1/11+…-1/47+1/49)を使わなきゃみたいなんですよ。
それで
main(){
int i,j,k,l,m,sum=0i
for (i=1;i<=49;i=i+4)
sum+=i;
for (j=3;j<47;j=j+4)
k=1/i;
l=-(1/i);
m=4*(k+1);
printf("%d\n",m);
}
といれました。どこが間違ってるんでしょうか?
0242236ですけど
NGNG0243デフォルトの名無しさん
NGNGまず数学の勉強をやり直した方が…
これはプログラム以前の問題…
0244236ですけど
NGNGもうちょっとがんばってみます。ありがとうございました。
0245236ですけど
NGNG0246236ですけど
NGNG7行目のiはjです。8行目の1はlです。間違えまくってすみません。
0247デフォルトの名無しさん
NGNGint では、その計算はできません。float か double にしなさい。
0248デフォルトの名無しさん
NGNGsumは何に使ってるの?
0249デフォルトの名無しさん
NGNGfor文は { } を使って範囲を明確にする方が良いです。そうしなさい。
↓こんな感じで
for( ; ; ){
}
0251236ですけど
NGNGすいません。見落としてました。
floatでやってみます。
0252デフォルトの名無しさん
NGNG修正したら、またソース載せな。
■ このスレッドは過去ログ倉庫に格納されています