トップページ⇒tech
982コメント317KB

<`Д´>C/C++の宿題は私にやらせるニダ!Ver11

■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさんNGNG
私はC++房。
今まで1年*ヶ月、ほとんど毎日休まず一生懸命C++を勉強してきた。
わからない宿題若しくは処理があったら私にやらせてくださいm(_ _)m
ただし四面体の宿題は禁止!
前スレhttp://pc2.2ch.net/test/read.cgi/tech/1057070174/

9代目:http://pc2.2ch.net/test/read.cgi/tech/1055944101/ 150
8代目: http://pc2.2ch.net/test/read.cgi/tech/1055056940/l50
7代目: http://pc2.2ch.net/test/read.cgi/tech/1053963794/l50
6代目: http://pc2.2ch.net/test/read.cgi/tech/1053045530/l50
↓現在5代目スレまでhtml化完了
5代目: http://pc2.2ch.net/tech/kako/1051/10515/1051594046.html
4代目: http://pc2.2ch.net/tech/kako/1045/10450/1045074808.html
3代目: http://pc2.2ch.net/tech/kako/1041/10419/1041992392.html
2代目: http://pc3.2ch.net/tech/kako/1039/10397/1039772622.html
宿題手伝いますYO!!: http://pc3.2ch.net/tech/kako/1038/10380/1038024989.html

ラウンジ:質問が長い時はココを使うと便利
http://do.sakura.ne.jp/%7Ejunkroom/cgi-bin/megabbs/lounge/index.html
0159147&148NGNG
>>158
それがわかってなかったらきてねぇっぺよ
0160デフォルトの名無しさんNGNG
>>157
round(1.005, 2)やってみ
0161デフォルトの名無しさんNGNG
1.perlで正規表現のスクリプトを書く。
2.C/C++から呼ぶ
終了
0162デフォルトの名無しさんNGNG
>>160
round(1.006,2)やってみ
0163128NGNG
後は自力で出来る言ってしまいましたが、
binary_search が call された回数: の出し方が分かりません。
教えてくださいお願いします。
0164デフォルトの名無しさんNGNG
>>163
適当なstaticな変数をインクリメント
0165デフォルトの名無しさんNGNG
>>163
適当なグローバル変数をインクリメント
0166デフォルトの名無しさんNGNG
適当なことばっかいうなよ!
0167デフォルトの名無しさんNGNG
適当なdouble型変数をインクリメント
0168デフォルトの名無しさんNGNG
パスカルの三角形って・・・
組み合わせの数nCmを求める関数combinationを書け。この関数の引数は、整数が二つである。
例題1の関数factを利用して書いても良い。関数combinationを使ってPascalの三角形
(0<=n<=10),0<=m<=nの範囲のnCmの一覧表)を表示するmainを書くこと。
出力は例えば次のようになればよい
1
1 1
1 2 1
1 3 3 1
1 4 6 4 1
1 5 10 10 5 1
...........
この表の出力の仕方がわかりません(´・ω・`)
とりあえずソース書きます
0169デフォルトの名無しさんNGNG
#include <stdio.h>
int fact(int x);
int combination(int n,int m);

int main(void){
int m,n,x,i;

printf("n: ");scanf("%d",&n);
printf("m: ");scanf("%d",&m);
x=combination(n,m);

printf("nCm=%d",x);
return(0);
}

int fact(int x)
{
int f;
f=1;
while(x>0){
f=f*x;
x=x-1;
}
return(f);
}
int combination(int n,int m){
int a;
a=fact(n)/(fact(m)*fact(n-m));
return(a);
}
0170デフォルトの名無しさんNGNG
>>168-169
例題1の関数 fact をキボンヌ。使わなくて何とかなりそうだが。
0171デフォルトの名無しさんNGNG
for (n = 0; n <= 10; n++) {
for (m = 0; m <= n; m++)
printf("%d ", conbination(n, m);
printf("\n");
}
0172デフォルトの名無しさんNGNG
>>168
http://do.sakura.ne.jp/~junkroom/cgi-bin/megabbs/readres.cgi?bo=lounge&vi=1027870433&res=120
0173デフォルトの名無しさんNGNG
>>171
パースエラー
0174デフォルトの名無しさんNGNG
>>171
カッコ悪いな。
0175172NGNG
問題文よく読んでなかったし、無駄な処理も多すぎますね。スマソ。
0176デフォルトの名無しさんNGNG
質問なのですが、

node->data.key < head->data.key
これをless関数で書くと、
less(key2(node),key(head))==1
と書けますが、
node->data.key < p->next->data.key
はless関数で書くとどのようになりますか?

それと、
head->data.key==a_key
これをequal関数で書くと、
equal(key2(head),a_key)==1
と書けますが、
p->next->data.key==a_key
はequal関数で書くとどのようになりますか?

教えて下さい。
0177デフォルトの名無しさんNGNG
less関数、equal関数ってのが何なのか良く知らないけど、
less( key2(node), key(p->next) ) == 1
equal( key2( p->next ), a_key ) == 1
でいいんじゃない?
0178デフォルトの名無しさんNGNG
ノードの問題なんですが教えてください。
ソース:http://do.sakura.ne.jp/~junkroom/cgi-bin/megabbs/readres.cgi?bo=lounge&vi=1027870433&res=121

問題(3)main関数、及びInsertNode(treeT *tptr,string key)を次のように変更しなさい。
これに応じて他の関数についてもif(t<=(treeT)0x00001001)及びif(t>=(treeT)0x00001001)の部分を変更しなさい。

変更するところ:http://do.sakura.ne.jp/~junkroom/cgi-bin/megabbs/readres.cgi?bo=lounge&vi=1027870433&res=122

どういう風に変更するのか教えてください。
0179178NGNG
わかりました
質問は撤回します
0180デフォルトの名無しさんNGNG
標準入力から文字列を読み込み、その中のアルファベットの
出現回数(文字「a」が何回、文字「b」が何回、・・・・)を計算し、
出現回数が1以上の文字について次のように表示(文字・出現回数・
グラフ)するプログラムを作成せよ。
Input string : Tokyo Osaka Nagoya
N --- 1 *
O --- 1 *
T --- 1 *
a --- 4 ****
g --- 1 *
k --- 2 **
o --- 3 ***
s --- 1 *
y --- 2 **
[ヒント1] 
・ASCIIコード256種類分を表す配列変数としてcountを用意する。
・h[i]を入力文字列の各要素の文字とすれば、count[h[j]]++ により、
文字ごとに一回現れるたびにcountを1増やす処理を行う。
・最後に英小文字と英大文字の範囲でカウント回数と*を出力する。
[ヒント2]文字列の代入例
i=0;
while ( (h[i]=getchar()) != EOF) { i++; }
EOFはEnd Of File を意味し、入力ファイルの終わりの文字、すなわち
Ctrl-d という文字に対応した記号である。
Ctrl-d を入力した時点で、それまでに入力した文字情報が対称になる。
お願いします
0181デフォルトの名無しさんNGNG
#include <stdio.h>
#include <stdlib.h>
void showHist(char c,int num){
  int j;
  printf("%1c :",c);
  for(j=0;j<num;j++){
    printf("*");
  }
  printf("\n");
}
int main(){
  char h[BUFSIZ];
  int count[256]={0};
  int i=0,j;
  while ( (h[i]=getchar()) != EOF) { i++; }
  h[i]='\0';

  for(j=0;j<i;j++) count[h[j]]++;

  for(i='A';i<='Z';i++){
    if(count[i]!=0) showHist(i,count[i]);
  }

  for(i='a';i<='z';i++){
    if(count[i]!=0) showHist(i,count[i]);
  }
  return 0;
}
0182デフォルトの名無しさんNGNG
>>181
ありがとうございますm(_ _)m
0183なっちNGNG
はじめまして♪

何度やってもうまく作れないので、教えてください。お願いします。

よくYes/Noで選択肢を選び、あなたは〜〜ですという占いのようなものご存知でしょうか。
今、それを作ろうとしています。
もしよろしければ、作成していただけないでしょうか?
0184デフォルトの名無しさんNGNG
最後の文とその前の文が繋がらんな
0185デフォルトの名無しさんNGNG
>>184
よく〜ご存知でしょうか。
も繋がってない
0186デフォルトの名無しさんNGNG
#inlucde<stdio.h>
#include<string.h>

int main (void)
{
   char buf[5];
   printf("Yes/No");
   scanf("%s",buf);

   if(!strcmp(buf,"Yes"))
   {
      printf("あなたはひきこもりです。\n");
   }
   else if(!strcmp(buf,"No"))
   {
      printf("あなたは厨房です。\n");
   }
   else
   {
      printf("あなたは知障です\n");
   }
   return 0;
}
0187デフォルトの名無しさんNGNG
>>186
Yes/Noって入れて実行したら暴走しますた
0188デフォルトの名無しさんNGNG
>>187
4文字を超えてはならない、
とマジレスしておこう。
0189デフォルトの名無しさんNGNG
int main (void)
{
   char buf[256];
   printf("Yes/No\n");
   scanf("%s",buf);

   if(!strcmp(buf,"Yes"))
      printf("あなたはひきこもりです。\n");
   else if(!strcmp(buf,"No"))
      printf("あなたは厨房です。\n");
   else
      printf("あなたは知障です\n");
   
   return 0;
}
0190デフォルトの名無しさんNGNG
#include <string>
#include <iostream>
using namespace std;
int main(){
  string buf;
  cout << "Yes/No > ";
  cin >> buf;
  if(buf == "Yes")
    cout << "あなたはひきこもりです。" << endl;
  else if(buf == "No")
    cout << "あなたは厨房です。" << endl;
  else
    cout << "あなたは知障です。" << endl;
  return 0;
}
0191デフォルトの名無しさんNGNG
#include <string>
#include <iostream>
#include <map>
using namespace std;
typedef pair<string, string> Pair;
int main(){
  Pair p[] = {Pair("Yes","ひきこもり"),Pair("No","厨房")};
  map<string,string> m(p,p+sizeof(p)/sizeof(Pair));
  map<string,string>::iterator it;
  string in,result;
  cout << "Yes/No > ";
  cin >> in;
  if((it = m.find(in)) == m.end()) result = "知障"; else result = it->second;
  cout << "あなたは" << result << "です。" << endl;
  return 0;
}
0192デフォルトの名無しさんNGNG
>>191
STLって読みづらいよね…
019399NGNG
先日リスト構造について質問した者ですが、↓みたいなのってリスト構造でしょうか・・・?
ttp://www.asahi-net.or.jp/~uc3k-ymd/Sketch/Life/life02.html
0194デフォルトの名無しさんNGNG
>>183
#include <iostream>
#include <map>
#include <utility>
typedef std::pair<std::string,std::string> yesno;
typedef std::map<std::string,yesno> question;
template<class T,int I>T *eoa(T(&a)[I]){return a+I;}
const char *const startques="毎日2chを見る";
const char *data[][3]={
{startques,"一日2時間以上2chを見る","2chはおかしな人の集まりだ"},
{"一日2時間以上2chを見る","2chに書き込むことがある","2chは便所の落書き"},
{"2chはおかしな人の集まりだ","2chなど無くなればいい","2chは見ていて楽しい"},
{"2chは便所の落書き","2chは見ていて楽しい","モナーはかわいい"},
{"2chなど無くなればいい","さては2chで嫌な事がありましたね?","モナーはかわいい"},
{"2chに書き込むことがある","煽りあいは楽しい","2chは見ていて楽しい"},
{"2chは見ていて楽しい","あなたは平均的な2chねらーです。","あなたはまだ2chの素晴しさに気付いていません。"},
{"モナーはかわいい","あなたの世界は色鮮やかなことでしょう。","憂鬱な生活を送っていますね。"},
{"煽りあいは楽しい","コテハンがある","普通の掲示板利用者です。"},
{"コテハンがある","あなたは2ch中毒です。","娯楽をかなり2chに依存していますね。"}
};
main(){
question ques ;
for(const char *const (*ci)[3]=data;ci!=eoa(data);ci++)ques[**ci]=yesno((*ci)[1],(*ci)[2]);
std::cout << "yes/noで答えてね" << std::endl;
std::string current=startques;
do{
std::string ans;std::cout << current << ">";std::cin >> ans;
if(ans.find("n")!=ans.npos||ans.find("N")!=ans.npos) current=ques[current].second;
else current=ques[current].first;
}while(ques.find(current)!=ques.end());
std::cout << "\n" << current << std::endl;
}
0195デフォルトの名無しさんNGNG
Hallo World
0196デフォルトの名無しさんNGNG
#include <stdio.h>
int main(){puts("晴郎ワールド"); return 0;}
0197デフォルトの名無しさんNGNG
シベリア超特急age
0198デフォルトの名無しさんNGNG
世界の車窓から。
だーーーーい好きぃーーーーーーーーーーー♥
0199デフォルトの名無しさんNGNG
世界の社(会の)窓から。
0200デフォルトの名無しさんNGNG
マインスイーパーのボタンを押したときの、周りに爆弾がなかったときに
いっきにボタンが消える処理をキューを使ってやるにはどうすれば?
0201デフォルトの名無しさんNGNG
Q?
0202デフォルトの名無しさんNGNG
>>200
質問が曖昧過ぎます。具体的にどうぞ。

>>201
Q(que)じゃなくて、queueでは?
0203デフォルトの名無しさんNGNG
マインスイーパーのボタンを押したときの、周りに爆弾がなかったときに
いっきにボタンが消える処理するクラス、Q をつくれ。
0204デフォルトの名無しさんNGNG
☆頑張ってまーす!!☆女の子が作ったサイトです☆
       ☆見て見て!!
http://yahooo.s2.x-beat.com/linkvp2/linkvp2.html
0205200NGNG
すいません。表現があいまいでしたね。
queueです。よろしくお願いします
0206200NGNG
すいません。表現があいまいでしたね。
cueです。よろしくお願いします
0207セイラNGNG
http://life.fam.cx/a006/
0208デフォルトの名無しさんNGNG
山崎と広告Uzeeeeeeeeeeeeeeeeeeeee!!!!
0209200NGNG
すいません。表現があいまいでしたね。
sphereです。よろしくお願いします
0210rNGNG
>>200

struct Tile_tag {
unsigned int opened;
unsigned int count;
unsigned int exist;
} Tile;

const static int hoge[] = { -1, 0, 1 };

void OpenTile( Tile* tileArray, int x, int y ) {
    Tile* t= &tileArray[y * WIDTH + x];
    if( ! t -> opened && t -> count == 0 && ! t -> exist ) {
        t -> opened = 1;
        for( i = 0; i < 9; i++ )
            OpenTile( tileArray, x + hoge[i%3], y + hoge[i/3] );
    }
}

キューは使ってないけど、大体こんな感じの処理になるかと。
(疑似コードだと思ってみて下さい)
0211r/210NGNG
あ、そうか、ここで再帰を使うのが嫌だったんだ。
で、キューな訳ね。
0212r/210NGNG
1. 開きたいタイルの座標を、キューに入れる。
2. キューからデータを一つポップし、それを操作対象にする。
3. タイルを開く関数をよぶ。引数には、さっきポップした操作対象と、キューへのポインタを設定。
4. タイルを開く関数では、タイルを開くのに成功し、
タイルの周りの爆弾の数が0だったら、タイルの周辺をキューにPushする。
5. 2に戻る

こんな感じかな。
0213193NGNG
スルーされてる(つД`)
0214r/210NGNG
>>213
長いな。
最初の方しかみなかったのでよくわかんないが、lifeクラスはリストじゃなさそう。
lifeのメンバに、「lifeへのポインタ」は無いでしょ?
0215デフォルトの名無しさんNGNG
ブラウン運動のシミュレーションプログラムが作れる人います?
0216デフォルトの名無しさんNGNG
いません
0217デフォルトの名無しさんNGNG
オレニマカセロ!
0218デフォルトの名無しさんNGNG
/* _list, list, cons, car, cdrの定義をここに挿入 */
struct _list{
int car;
struct _list* cdr;
}typedef struct _list* list;

list cons (int x, list xs){
list ret = (list)malloc(sizeof(struct _list));
ret->car = x; ret->cdr = xs; return ret;
}
int car(list xs){
return xs->car;
}
list cdr(list xs){
return xs->cdr;
}
/* insertの定義をここに挿入 */

(ここに入れるべきプログラムを教えてください。
また、新しい要素(insertの第1引数)をcar成分に持つ
ひとつのconsセル以外は新しいconsセルを作らず、
既存の consセルを破壊的に書き換えるバージョンも定義してください。)

int main(int argc, char** argv) {
list xs = cons(1, cons(4, cons(7, cons(10, NULL))));
xs = insert(atoi(argv[1]), xs);
printf("result: ")
for(; xs; xs=cdr(xs)) {
printf("%d ", car(xs));
} putchar('\n');
}
0219デフォルトの名無しさんNGNG

名前:「マツダ ユウイチ」松田雄一

http://lv3.lib.net/up/img-box/img20030713070131.jpg

年齢:12歳(確定)
身長:約165cm(確定)
住所:長崎市千歳町5番26号 「チトセピア」1201(確定)
両親:父親は調理師、母親は去年まで専業主婦今年からパート(確定)
兄弟:一人っ子(確定)
学校:長崎市立西浦上中学校(確定)、小学校の時には私立→公立に転校(精道小学校?)
学年:中学1年(確定)
所属クラブ:小学校時代パソコンクラブ、現在中学校では無所属(確定)
犯罪歴:過去数回に渡り近隣で児童わいせつなどの事件を起こす。
     また今回の事件現場と同じ立体駐車場で、
     以前に犬を投げ落とし骨折させていた模様。(同一人物とほぼ確定)
0220デフォルトの名無しさんNGNG
cdrを書き換える。
0221デフォルトの名無しさんNGNG
3つ教えてほしいことがあるのですが、
1.演算レジスタの説明
2.ブートストラッパの役割
3.補助記憶から目的プログラムを主記憶にコピーするシステムプログラムの名称

この3つがわからないので、どなたか知っている方は教えていただけないでしょうか
0222デフォルトの名無しさんNGNG
>>221
スレ違い
0223デフォルトの名無しさんNGNG
1は漠然としすぎてると思うけど。
0224rNGNG
>>222
宿題なんじゃない?だったらすれ違いじゃない気がする。
板違いではある
0225デフォルトの名無しさんNGNG
へー
0226デフォルトの名無しさんNGNG
Cの宿題ではないと思う。
0227rNGNG
そだね。
0228デフォルトの名無しさんNGNG
ttp://yougo.ascii24.com/gh/03/000386.html

 「pull oneself up by one's own bootstraps:
自力で進む、自力で向上する」という口語から生まれた言葉で、コンピュータを起動する過程を指す。
たとえばPC互換機では、電源投入時にはまずシステムROM内の小さなコードが実行され、
各種デバイスの初期化が行なわれる。続いてこのコードは、ディスク内にあるOSの初期コードに
制御を移す。このように、より高レベルなソフトウェアを実行するために、段階を追って初期化を
行なうことをブートストラップという。
0229デフォルトの名無しさんNGNG
ローダーとはどう違うんだ?
0230デフォルトの名無しさんNGNG
名前。
0231193NGNG
>>21ありがとうございます、
ttp://mukun_mmg.tripod.co.jp/mmg/bncpp/10/174.html
を見てどんなのがリスト構造なのかってのは何となく分かりました、>>193は違うみたいですね。

今回の宿題は、>>193にあるみたいなライフゲームを、配列を用いて生きているセル、死んでいるセルを管理するのではなく
生きているセルの縦横の位置をリストの要素として持つリスト構造を使って作成せよって物なんですが
考えるといろいろ分からないとこがでてきて混乱してします(;´Д`)

配列使わないでできるもんなんでしょうか・・
0232193NGNG
あ、配列をつかってのライフゲームは前回までの宿題で完成しているます
0233デフォルトの名無しさんNGNG
上下右左のポインタでつないで、
配列でhoge[x-1][y]とかやるかわりに
ポインタでアクセスする。
0234193NGNG
ttp://mukun_mmg.tripod.co.jp/mmg/bncpp/10/174.html
みたいな書き方で言うと

□→□→□→□→□→
■  ■  ■  ■  ■
↓  ↓  ↓  ↓  ↓
□→□→□→□→□→
■  ■  ■  ■  ■
↓  ↓  ↓  ↓  ↓
□→□→□→□→□→
■  ■  ■  ■  ■        (□:ポインタ)
↓  ↓  ↓  ↓  ↓        (■:データ)

って感じでしょうか?
そうするとデータに当たるのはそのセルが生きているか死んでいるか?
>生きているセルの縦横の位置をリストの要素として持つ
ってのはどういう事なんでしょう(´・ω・`)?
0235デフォルトの名無しさんNGNG
各要素が座標データを持っているってことじゃねーの
0236デフォルトの名無しさんNGNG
生きてるセルの座標データをまた別のリストに持つとか?
なんでそんなことするのかわからんけど
0237デフォルトの名無しさんNGNG
>>234の図みたいな座標軸のリストは無しで、
生きてるCellのインスタンスだけつなげてリストにしろって事だろ。
Cellのメンバはx座標とy座標。

でも隣の座標の状態を調べるだけでも全走査するんだろうか…
0238デフォルトの名無しさんNGNG
全走査するんじゃない?
二分木リストとかにするんだろうけど。
0239rNGNG
struct cell_t {
struct cell_t* tonari[8];
int live;
};

とかじゃねーの?
0240デフォルトの名無しさんNGNG
>>239
意味がわからん。
0241193NGNG
じゃあ

□→□→□→□→□→
■  ■  ■  ■  ■

で、データが座標、生きてるセルができるたび追加して死んだら削除すればよいですか?
周り数えたり、死んでるセルについても順番に判定していかないといけないこと考えると配列使うのに比べてすっごい無駄な気がするです・・
0242デフォルトの名無しさんNGNG
全部のセルを持っとくとn次元では地図の一辺のn乗に比例するメモリがいる。
いっぽう、生きてるやつだけ持っておけばその時点で生きてるやつの個数に比例する
メモリしかいらない。Conwayのルールだと全部生きてることは初期値以外あり得ない。

ところで各セルは自分の座標だけ知ってればよいから、2次元なら
typedef size_t Index; // 座標を表すのに必要な整数型にする
struct cell_t { Index x,y; char next_state; };
で良いと思う。こうするとsizeof(Index)を小さくとればより省メモリ。
0243rNGNG
>>242
おおそうか。なるほどな。
しかし>>241の言うことも正しい気がするな。

セルの数がn個、平均個体数がmだとすると、
メモリ
  配列:O(n)
  リスト:0(m)
計算速度
  配列:O(n)
  リスト:O(m^2)
ただし n >> m
って所か。
n > m^2 なら、リストの方が有利かな。
ただ配列の方が定数係数少なそうだから...


実際やってみて、メモリ使用量とか実行速度とか
計ってみないと、なんとも言えないか。
0244デフォルトの名無しさんNGNG
>>243
ライフゲームとチューリング機械が等価だという話があって、
グライダーを使ってワイヤーとゲートを構成するんだけど、
それで少しでも意味のあるTMを組んで実際に動かそうとすると、
セルは疎なのに回路(グライダーの経路)を張るのに馬鹿デカい空間が必要で、
空間全体を保持しようとすれば二次記憶を要することになり、
生きたセルのみを管理する場合と比べて比例係数はむしろ大きい、
とかいう昔話もある。

それとランダムな初期値に関する平均コストの解析は簡単ではないと思われ。
有限の空間では必ず周期運動に落ちるが、空間サイズの関数としての
平均セル数などは知られていないはず。Collatz problem に似た話。
読み筋は Wolfram の class IV や Langton の edge of chaos など。
要するに効率は初期条件に禿しく依存。

>>242
メモリをケチるなら next_state は生死の1ビットにcharを使ってて勿体ないので、
ビットベクトルを別に持ちセルには座標だけ持たせるのが良い。
また速度が欲しければ、セル管理に単純なリストだけでなくハッシュを併用する。
0245デフォルトの名無しさんNGNG
知り合いが高速なConway'sLife作ってたな。
ソース見てみるか。
0246デフォルトの名無しさんNGNG
生きているセルを双方向リストでもって、順番になるようにする。
配列を確保して生きているセルのポインタをいれる。
順番に上下左右のセルがあれば1足すし、無ければ新たにセルをつくる。
双方向にしとけば走査は一回につき一辺の長さの2倍で済む。

俺の考えたのはこんなの。
0247デフォルトの名無しさんNGNG
>順番に上下左右のセルがあれば1足すし、無ければ新たにセルをつくる。
どういう意味?
0248218NGNG
/* insertの定義(問の答)をここに挿入 */

int insert(int x, list xs){
if(xs == NULL || x < (xs->car)){
return cons(x, xs);
}else{
return cons (car(xs),insert(x,cdr(xs)));
}
}

こんな感じでいいのでしょうか?
0249デフォルトの名無しさんNGNG
配列に入れたポインタを順番に実行する。
そのセルの上左と下右のセルを探す。
セルがあれば周りのセルの数を示す数値を1増やす。
なければ作る。
0250アフォNGNG
[0,1]の一様分布に従う互いに独立な2つの乱数an,bnを生成せよ。
お願いします
0251デフォルトの名無しさんNGNG
anは、配列か?関数か?どんな宣言をする?
0252popNGNG
1)以下の式を中央差分を使って計算するプログラムを作成してください。df(x)/dxを
計算する。
f(x)=ax*x+bx+c
係数aは10、bは5、cは2とします。答えは、2ax+bになるはずなので数値的に微分した
結果と解析的に求めた値を比べて、計算が正しく行われていることを示してください。
計算範囲は0から2までとします。分割数は各自決めてください。(十分正確に計算できるように)
2)
台形公式を使って、1)の式を積分計算してください。積分範囲は0から2とします。
解析的な解も計算して、数値計算結果を比較してください。a、b、cの値は1)と同様とします。

以上のプログラムと実行結果をお願いいたします。
0253デフォルトの名無しさんNGNG
>>250とか>>252みたいな数学とかが絡んでくる問題って、
難しいよなぁ。
何をどうすればいいのかさっぱり判らん。

>>250
乱数の種が違ったら、それは「独立した乱数列」と認めるのかえ?
だったらちょー楽勝だが。
0254250NGNG
>>253
一様分布していれば問題ないと思います
0255デフォルトの名無しさんNGNG
The C Language*
*The C Language
e*The C Languag
ge*The C Langua
age*The C Langu
uage*The C Lang
guage*The C Lan
nguage*The C La
anguage*The C L
Language*The C

規則性がある。これに着目してプログラムを作成せよ。
for文でお願いします
0256デフォルトの名無しさんNGNG
#include <stdio.h>
int main(void)
{
const char string[] = "The C Language*";
int i;
for (i = sizeof string - 1; i >= 6; --i) {
printf("%s", string + i);
printf("%.*s\n", i, string);
}
return 0;
}
0257デフォルトの名無しさんNGNG
>>256
あ、printfは使用禁止なんです。
0258デフォルトの名無しさんNGNG
もちろんfprintfもです。
printfと名の付くものは禁止なんです。
■ このスレッドは過去ログ倉庫に格納されています