[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 701- 801- 2chのread.cgiへ]
Update time : 06/07 15:56 / Filesize : 283 KB / Number-of Response : 835
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

C/C++の宿題片付けます 137代目



1 名前:デフォルトの名無しさん mailto:sage [2010/06/18(金) 06:27:59 ]
あなたが解けないC言語/C++言語の宿題を片付けもらうスレッドです。気に入らない質問やその他の発言はスルーの方向で。

【質問者へ】
回答者の便宜のため、質問の際は以下を行うことを推奨します。
・質問は【質問テンプレ】を利用してください。
・問題文は、出題されたまま全文を書いてください。
・問題文やコードをリンクするときは、一言内容にについて説明をつけましょう。
・計算問題は数式をあげ、どのような計算をするのか詳しく説明してください。
・エラーは、その詳細と発生した行を書きましょう。エラーメッセージはコピペしてください。
・後から問題に付け足しするのはコラー!!です。付け足しは作業を無駄にしがちです。
・なりすましを防ぐため、トリップを使ってください。名前欄に、「#」に続けて任意の文字列を入力して投稿すると、その文字列を知らない他人に騙られることを防ぐことができます。

【質問テンプレ】
[1] 授業単元:
[2] 問題文(含コード&リンク):
[3] 環境
 [3.1] OS: (Windows/Linux/等々)
 [3.2] コンパイラ名とバージョン: (gcc 3.4 VC 6.0等)
 [3.3] 言語: (C/C++/どちらでも可 のいずれか)
[4] 期限: ([yyyy年mm月dd日hh:mmまで] または [無期限] のいずれか)
[5] その他の制限: (どこまで習っているか、標準ライブラリは使ってはいけない等々)

【アップローダー==ラウンジ】(質問が長い時はココ使うと便利 回答者もコードが長ければここに)
kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/joyful.htm
【C 関数検索 man on WWW】 www.linux.or.jp/JM/index.html
【過去ログ検索】        chomework.sakura.ne.jp/
【wiki】               www23.atwiki.jp/homework/

前スレ
C/C++の宿題片付けます 136代目
pc12.2ch.net/test/read.cgi/tech/1274827528/

207 名前:デフォルトの名無しさん mailto:sage [2010/06/24(木) 22:08:25 ]
>>206
s/\&/\&/g
s/ /\ /g
s/"/\"/g
s/</\</g
s/>/\>/g

208 名前:270 mailto:sage [2010/06/24(木) 22:09:47 ]
すみません、間違えました。
s/\&/\&/g
s/ /\ /g
s/"/\"/g
s/</\</g
s/>/\>/g

209 名前:208 mailto:sage [2010/06/24(木) 22:11:50 ]
んー、うまくいかない。
s/\&/\&amp;/g
s/ /\&nbsp;/g
s/"/\&quot;/g
s/</\&lt;/g
s/>/\&gt;/g
こうか?

210 名前:sage [2010/06/24(木) 22:51:25 ]
[1] 授業単元:C言語入門
[2] 問題文(含コード&リンク):
再帰呼び出しを使い、入力した値の階乗を求めるプログラムを書きなさい。
なお、出来る限り大きな値の計算を出来るように工夫しなさい。
[3] 環境
 [3.1] OS:Windows XP
 [3.2] コンパイラ名とバージョン:Borland C++ 5.5.1
 [3.3] 言語: C言語
[4] 期限: 6月中
[5] その他の制限:指定なし


211 名前: ◆QZaw55cn4c mailto:sage [2010/06/24(木) 23:12:33 ]
>>210
なんの工夫もしていません。
codepad.org/31sqsbvL

212 名前:デフォルトの名無しさん [2010/06/25(金) 00:18:02 ]
[1] 授業単元: 数値解析
[2] 問題文(含コード&リンク): kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/10745.txt
ニュートン・ラフソン法についての問題です。教科書に例題として載っていたプログラミングに今回問題となっている方程式の当てはめ方がわかりません(おそらく初歩的な事だと思われます)
[3] 環境
 [3.1] OS: Windows Vista
 [3.2] コンパイラ名とバージョン: gcc 3.4
 [3.3] 言語:C
[4] 期限:2010年6月25日16:00まで
[5] その他の制限: 半年前に教養の授業として数時間C言語の授業があった程度の知識しかありません
周囲もそのような人ばかりなので深いC言語の知識が必要な問題ではないと思われます
どうかよろしくお願い致します

213 名前:デフォルトの名無しさん [2010/06/25(金) 02:14:39 ]

[1] 授業単元:数値計算
[2] 問題文(含コード&リンク):

以下に示す2階の定係数線形同次微分方程式につ
いて,初期値y(0)=a, y’(0)=bをキーボードから入力し,
t=4における値を出力するプログラムを作成する.

y''(t)+2y'(t)+2y(t)=0
条件 y(0)=2 , y'(0)=-2

答え y(4)=-0.02394

[3] 環境
 [3.1] OS: (Windows/Linux/等々) vista
[4] 期限:6月30日まで

214 名前:デフォルトの名無しさん mailto:sage [2010/06/25(金) 10:25:17 ]
>>213
精度を考慮してルンゲ・クッタ法で解いた

kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/10746.txt

215 名前:デフォルトの名無しさん mailto:sage [2010/06/25(金) 11:43:42 ]
[1] 授業単元: 画像処理

[2] 問題文(含コード&リンク):
入力した2値白黒画像をハフ変換して直線および円を検出し、結果を表示するプログラムを作成せよ。
直線の式はρ= xcosθ + ysinθを、円の式はr2= (x-a)2 + (y-b)2をそれぞれ使用する。

なお、直線について処理後のρθ平面を濃淡画像として出力せよ。
円については処理後のabrパラメータ空間をGnuplotを用いて、
1点のエッジに対する軌跡(円錐)と2点以上のエッジに対する軌跡(円錐)を出力せよ。

また、円と直線両方について、3種類以上に閾値を変化させた実験結果を逆変換し、
その結果を原画像に投影した画像も出力せよ。
 
[3] 環境
 [3.1] OS: Linux
 [3.2] コンパイラ名とバージョン: gcc
 [3.3] 言語: C

[4] 期限: [2010年06月25日23:50まで]

[5] その他の制限: (どこまで習っているか、標準ライブラリは使ってはいけない等々)
画像として出力というくだりについては、RGBそれぞれの値を
変数名[画像サイズ].r/.g/.bという要素を持つ構造体を使って格納してください。



216 名前:デフォルトの名無しさん [2010/06/25(金) 14:26:22 ]
>>147
亀ですがありがとうございました!

217 名前:デフォルトの名無しさん [2010/06/25(金) 14:32:43 ]
[1] 授業単元:プログラミング
[2] 問題文(含コード&リンク):
午前四時から正午までは Good Morning! と、
正午から午後八時までは Good Afternoon! と、
午後八時から午前四時までは Good Evening! と、表示するプログラムを書け。ただし、境界の時刻は前の時間帯に含まれるものとする

[3] 環境
 [3.1] OS:Linux
 [3.2] コンパイラ名とバージョン:gcc 3.4
 [3.3] 言語:C
[4] 期限:2010年6月30日23:55
[5] その他の制限: 特になし

お願いします

218 名前:デフォルトの名無しさん [2010/06/25(金) 16:58:06 ]
[1] 授業単元: プログラム
[2] 問題文(含コード&リンク): 番号 国語 数学 英語のメンバを持っている構造体を作って各教科の平均値と、全平均値を求めてください。(人数は4人とか5人で行ってください。あと番号っていうのは、番号は、4人なら1〜4までで5人なら1〜5までです)
[3] 環境
 [3.1] OS: linux
 [3.3] 言語: C++
[4] 期限: ([2010年6月26日まで]
[5] その他の制限:
#include <iostream>
using namespace std;
struct score {
で始めて、
return文で終わってください


219 名前:デフォルトの名無しさん [2010/06/25(金) 17:13:52 ]
>>214
ありがとうございました^^

220 名前:デフォルトの名無しさん mailto:sage [2010/06/25(金) 17:59:13 ]
>>218
kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/10748.cpp

221 名前:218 [2010/06/25(金) 21:51:05 ]
>>218ですが忘れてました。なるべく簡単にしてください。
あと配列を使います。

222 名前:デフォルトの名無しさん mailto:sage [2010/06/26(土) 01:08:39 ]
>>217
#include <stdio.h>
#include <time.h>

int main()
{
time_t now = time(NULL);
struct tm* local_now = localtime( &now );
const int hour = local_now->tm_hour;

if ( hour>4 && hour<=12 )
printf( "Good Morning!" );
else if ( hour>12 && hour<=20 )
printf( "Good Afternoon!" );
else // ( hour>20 && hour<=4 )
printf( "Good Evening!" );

return 0;
}


223 名前:デフォルトの名無しさん mailto:sage [2010/06/26(土) 02:27:00 ]
【質問テンプレ】
[1] 授業単元:画像処理
[2] 問題文:kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/10749.txt
[3] 環境
 [3.1] OS: (指定なし)
 [3.2] コンパイラ名とバージョン: (gcc)
 [3.3] 言語: (C)
[4] 期限: ([2010年06月28日14:50まで] )
[5] その他の制限:ヘッダファイル"bmp.h"はこちらです
kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/10669.txt

よろしくお願いします。

224 名前: ◆C/HmxiIl0o [2010/06/26(土) 02:42:14 ]
[1] 授業単元: 解析

[2] 問題文(含コード&リンク):
x=1.0, 1.1,...,3.9, 4.0が与えられた時のlogxの値をラグランジュ補間で求め、
その近似値とlogxの真値をそれぞれ出力せよ。
また、求めた値と真値との誤差(絶対値)も求め、一次多項式の誤差と2次多項式の誤差を
それぞれ出力せよ。

[3] 環境
 [3.1] OS: Linux
 [3.2] コンパイラ名とバージョン: gcc
 [3.3] 言語: C

[4] 期限: 本日(26日)中にお願いします

宜しくお願いいたします。

225 名前:デフォルトの名無しさん mailto:sage [2010/06/26(土) 02:59:03 ]
>>223
codepad.org/D3nsJwKm
簡単に試したけど多分こんなん。



226 名前:デフォルトの名無しさん [2010/06/26(土) 03:40:45 ]
[1] 授業単元:プログラミング演習
[2] 問題文(含コード&リンク):
構造体Triangleを下のように定義する。
kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/10750.txt
この構造体により一つの三角形を表現する。
Triangle構造体の構成要素は、三つの頂点のx座標、y座標をメンバとして持つ構造体Pointである。
このTriangle構造体を用いて、以下の使用に従う関数を作成し、任意の三角形の面積、その三角形を適切な2×2行列で線形変換した結果の三角形の座標とその面積、および任意の二つの三角形が合同であるかどうかを表示するプログラムを実装しなさい。
・一つのTriangle構造体の変数を引数とし、その構造体が表す三角形の面積を返す関数。
・一つのTriangle構造体の変数と、double型の二次元配列(2×2行列Aとする)を引数とし、引数で与えた三角形を行列Aによって線形変換した後の三角形を返す関数。
・二つのTriangle構造体の変数を引数とし、その構造体が合同であれば1を、合同でなければ0を返す関数。
[3] 環境
 [3.1] OS:Linux
 [3.2] コンパイラ名とバージョン:gcc
 [3.3] 言語:C
[4] 期限:2010年6月28日まで
[5] その他の制限:特にありません。よろしくお願いします。



227 名前:デフォルトの名無しさん mailto:sage [2010/06/26(土) 07:07:19 ]
double area(Triangle t) {
return fabs((t.p2.x - t.p1.x) * (t.p3.y - t.p1.x) - (t.p2.y - t.p1.x) * (t.p3.x - t.p1.x));
}

Triangle linear(Triangle t, double a[2][2]) {
Triangle ret;
ret.p1.x = a[0][0] * t.p1.x + a[0][1] * t.p1.y;
ret.p1.y = a[1][0] * t.p1.x + a[1][1] * t.p1.y;
ret.p2.x = a[0][0] * t.p2.x + a[0][1] * t.p2.y;
ret.p2.y = a[1][0] * t.p2.x + a[1][1] * t.p2.y;
ret.p3.x = a[0][0] * t.p3.x + a[0][1] * t.p3.y;
ret.p3.y = a[1][0] * t.p3.x + a[1][1] * t.p3.y;
return ret;
}

int isCongruence(Triangle t1, Triangle t2) {
double l1[3], l2[3];
int i, j;
l1[0] = (t1.p1.x - t1.p2.x) * (t1.p1.x - t1.p2.x) - (t1.p1.y - t1.p2.y) * (t1.p1.y - t1.p2.y);
l1[1] = (t1.p2.x - t1.p3.x) * (t1.p2.x - t1.p3.x) - (t1.p2.y - t1.p3.y) * (t1.p2.y - t1.p3.y);
l1[2] = (t1.p3.x - t1.p1.x) * (t1.p3.x - t1.p1.x) - (t1.p3.y - t1.p1.y) * (t1.p3.y - t1.p1.y);
l2[0] = (t2.p1.x - t2.p2.x) * (t2.p1.x - t2.p2.x) - (t2.p1.y - t2.p2.y) * (t2.p1.y - t2.p2.y);
l2[1] = (t2.p2.x - t2.p3.x) * (t2.p2.x - t2.p3.x) - (t2.p2.y - t2.p3.y) * (t2.p2.y - t2.p3.y);
l2[2] = (t2.p3.x - t2.p1.x) * (t2.p3.x - t2.p1.x) - (t2.p3.y - t2.p1.y) * (t2.p3.y - t2.p1.y);
for(i = 0; i < 3; i++) {
for(j = 0; j < 3; j++) if(l1[i] == l2[j]) { l2[j] = 0; break;}
if(j == 3) return 0;}
return 1;
}

228 名前:デフォルトの名無しさん mailto:sage [2010/06/26(土) 11:36:43 ]
ラグランジュ補間で log(x) を求める。?

229 名前: ◆C/HmxiIl0o mailto:sage [2010/06/26(土) 12:07:55 ]
>>228
問題にはそう書いてありました。
log2=0.6931,log3=1.0986 1次多項式で近似
log2=0.6931,log3=1.0986,log4=1.3863 2次多項式で近似

2点(2,0.6931)(3,1.0986)を用いてlog2.5を推定する
logxの1次多項式による補間では、x0=2,x1=3より、
L-zero(x)=(x-3)/(2-3)
L-one(x)=(x-2)/(3-2)
であるから、p1(x)=1.0986(x-2)-0.6931(x-3)
p1(2.5)=1.0986(2.5-2)-0.6931(2.5-3)=0.89585

3点(2,0.6931)(3,1.0986)(4,1.3863)を用いてlog2.5を推定する
logxの1次多項式による補間では、x0=2,x1=3より、
L-zero(x)=(x-3)(x-4) / (2-3)(2-4)
L-one(x)=(x-2)(x-4) / (3-2)(3-4)
L-two(x)=(x-2)(x-3) / (4-2)(4-3)
であるから、p2(x)=0.34655(x-3)(x-4)-1.0986(x-2)(x-4)-0.6931(x-2)(x-3)
p1(2.5)=0.919575

真値=0.91629

誤差を求める式は
e-k(x)=f(x) - p-k(x) = (f^(k+1)(クサイ) / (k+1)!)*(x-x0)・・・(x-xk)
だそうです。

宜しくお願いします。


230 名前:デフォルトの名無しさん [2010/06/26(土) 12:17:47 ]
[1] 授業単元:C++プログラミング
[2] 問題文(含コード&リンク):三目並べのプログラムにCPとの対戦をつけろ。
codepad.org/wfwkEbVP
[3] 環境
 [3.1] OS:WinodwsVista
 [3.2] コンパイラ名とバージョン:Visual C++ 2008 Express Edition
 [3.3] 言語:C++
[4] 期限:6/27(水)8時半まで
[5] その他の制限:C++初心者です。インライン関数は使わない方向でお願いします。

実行結果としてはこんな感じにしてほしいです。
1Pと2Pとの交互に対戦しますか?
1Pとコンピュータとの対戦にしますか?
プレイヤ同士の対戦なら1を、コンピュータとの対戦なら2を入力してください:

こんな感じで選らばせて対戦できるようにしてほしいです。

※1Pのマスは○でコンピュータのマスは×でお願いします。

231 名前:デフォルトの名無しさん [2010/06/26(土) 12:19:15 ]
>>230
ミス。

6/27(月)でした

232 名前:デフォルトの名無しさん [2010/06/26(土) 12:20:03 ]
>>231

日曜でした。すいませんでした。

233 名前:デフォルトの名無しさん mailto:sage [2010/06/26(土) 14:54:26 ]
> であるから、p2(x)=0.34655(x-3)(x-4) - 1.0986(x-2)(x-4) - 0.6931(x-2)(x-3)
> p1(2.5)=0.919575
であるから、p2(x)=0.34655(x-3)(x-4) - 1.0986(x-2)(x-4) + 0.6931(x-2)(x-3)
p1(2.5)=0.9105875
物理のかぎしっぽ:計算物理学:補間法:ラグランジュ補完
moondial0.net/archives/www12.plala.or.jp/ksp/computPhys/lag-hokan/index.html

234 名前:デフォルトの名無しさん mailto:sage [2010/06/26(土) 15:11:16 ]
[1]授業単元:システムプログラミング
[2]課題:kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/10751.txt
[3] OS:Windows Vista コンパイラ:CygWin上のgcc 言語 C
[4] 7/1迄
[5] 授業は殆ど出ておらず単位を落としそうですんでよろしくお願いしまつ

235 名前:デフォルトの名無しさん mailto:sage [2010/06/26(土) 21:49:42 ]
>>229
ラグランジュ補間は手持ちの本「科学技術計算ハンドブック」に
掲載されているので、一次補間も二次補間も意味はわかるけど、
logxの近似をしたかったら、x=1.0から4.0まで近似したいなら、
もっと数表x[], y[]の標本が必要だよ

というのは、ラグランジュ補間は極めて振動しやすいという欠点を
持っていて、その欠点を埋め合わせるには数表の取り方を工夫
しなければならない

少なくとも、[x,y]の組み合わせが多数欲しい

今1.0〜4.0の範囲で近似しようとしているのだから、xが0.0から5.0
の範囲で5点ほどは欲しい



236 名前:デフォルトの名無しさん mailto:sage [2010/06/26(土) 21:58:22 ]
> 今1.0〜4.0の範囲で近似しようとしているのだから、
x=2.5 のだけで。

237 名前:デフォルトの名無しさん [2010/06/26(土) 22:13:54 ]
>>218を誰か簡単にお願いします

238 名前:デフォルトの名無しさん mailto:sage [2010/06/26(土) 22:31:31 ]
>>224
ideone.com/6f9pM

239 名前:デフォルトの名無しさん mailto:sage [2010/06/26(土) 22:39:35 ]
>>229
kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/10752.txt

数表が与えられていないので勝手に作ったよ。
logxはx=1.0未満になるとぐっとマイナスの方へ振れてしまい
標本としてはあまり好ましくないので、x=1.0以下の部分は
標本間隔を詰めた。

240 名前:デフォルトの名無しさん mailto:sage [2010/06/26(土) 22:40:49 ]
あ、ごめん>>236が見えてなかった。
>>239の取り扱いは好きなようにしてください。

241 名前:デフォルトの名無しさん mailto:sage [2010/06/26(土) 22:48:41 ]
>>237
>>218

codepad.org/3jK2ScYK
簡単というのがSTLを使いまくることだったらすまない。

242 名前: ◆C/HmxiIl0o mailto:sage [2010/06/26(土) 23:51:34 ]
>>239
ありがとうございます。>>236は偽者です。

問題文には数表は全く書かれていなかったのですが、授業で使うスライドを見ていったところ、
1枚だけ、端っこの方に小さくy=f(x)= 1/(1+25*x^2)と書かれていました。
宜しくお願いします。

243 名前:デフォルトの名無しさん mailto:sage [2010/06/26(土) 23:55:23 ]
よろしく

244 名前:デフォルトの名無しさん mailto:sage [2010/06/27(日) 00:37:41 ]
>>242
kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/10753.txt

うーん標本の取り方がいまいちかな・・・
一次補間が振動しちゃってます
適当に数表をいじって誤差が少なくなるようにトライしてみてください

245 名前:デフォルトの名無しさん mailto:sage [2010/06/27(日) 00:47:15 ]
数値計算理論の問題でC/C++のコーディング技術の問題じゃなさそう



246 名前:デフォルトの名無しさん mailto:sage [2010/06/27(日) 03:08:48 ]
[1] 授業単元:計算機とアルゴリズム
[2] 問題文(含コード&リンク):数列と漸化式を表示できるように9行目からお願いします。kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/10754.txt
[3] 環境
 [3.1] OS:Windows
 [3.2] コンパイラ名とバージョン:
 [3.3] 言語:C
[4] 期限: 2010年6月28日
[5] その他の制限:whileを使うと思います。

お願いします。

247 名前:デフォルトの名無しさん mailto:sage [2010/06/27(日) 08:46:12 ]
>>246
#include <stdio.h>

main()
{
int n, m, an, sum;

m = 5;
printf("数列 an = n*n とその和を %d 項目まで表示します\n", m);

n = 1;
sum = 0;
while (n <= m)
{
an = n * n;
sum += an;
printf("a[%d] = %d, sum = %d\n", n, an, sum);
n++;
}
}

248 名前:デフォルトの名無しさん mailto:sage [2010/06/27(日) 08:50:58 ]
>>246
#include <stdio.h>

main()
{
int n, m, an;

m = 5;
printf("漸化式 a(n) = 2*a(n-1), a1 = 2 で生成される数列を %d 項目まで表示します\n", m);

n = 1;
an = 2;

while (n <= m)
{
if (n == 1)
{
printf("a[%d] = %d\n", n, an);
n++;
continue;
}
an = 2 * an;
printf("a[%d] = %d\n", n, an);
n++;
}
}

249 名前:デフォルトの名無しさん mailto:sage [2010/06/27(日) 10:35:20 ]
>>224
ideone.com/vVi7u
期限すぎてるけど、いいどらえもんがかけた。

250 名前: ◆QZaw55cn4c mailto:sage [2010/06/27(日) 16:20:11 ]
>>210
codepad.org/2uVp97hy
100! まで確認しています。#define で指定している定数を増加させれば、もっと大きな数値にも対応できるかもしれません。

251 名前:デフォルトの名無しさん mailto:sage [2010/06/27(日) 16:39:40 ]
【質問テンプレ】
[1] 授業単元: プログラミング演習
[2] 問題文(含コード&リンク): 入力した2つの整数の間 (入力した数も範囲に含める) にある
 「2の倍数でない」かつ「3の倍数でない」かつ「5の倍数でない」
の条件を満たす整数を順に表示し,最後にその個数を表示するプログラムを作成せよ
[3] 環境
 [3.1] OS:VineLinux
 [3.2] コンパイラ名とバージョン: gcc
 [3.3] 言語: C
[4] 期限: 2010年7月4日
[5] その他の制限:なお,整数の入力には get_int() を用いること。
# define BUFFER_SIZE (256)//get_int()です

int get_int(void)
{
char buf[BUFFER_SIZE];

fgets(buf, BUFFER_SIZE, stdin);

return atoi(buf);
}

よろしくおねがいします


252 名前: ◆QZaw55cn4c mailto:sage [2010/06/27(日) 16:46:14 ]
>>251
codepad.org/kofHJzGi

253 名前:251 mailto:sage [2010/06/27(日) 17:12:01 ]
>>252

迅速な回答本当にありがとうございます

254 名前:デフォルトの名無しさん mailto:sage [2010/06/27(日) 20:04:24 ]
[1] 授業単元:情報処理学
[2] 問題文(含コード&リンク):
do-while文を用いて、キーボードから入力された値が素数であるかどうかを
判別するプログラムを作成せよ。入力された値が素数の場合は"素数"と出力し、
素数でない場合は最小の因数を出力せよ。
[3] 環境
 [3.1] OS:Linux
 [3.2] コンパイラ名とバージョン:すいませんがわからないです。
 [3.3] 言語:C
[4] 期限:2010年6月30日まで

255 名前:デフォルトの名無しさん mailto:sage [2010/06/27(日) 20:17:03 ]
1] 授業単元:情報処理学
[2] 問題文(含コード&リンク):
1次元配列に34 57 45 21 89 63 39 48 78 68 76 84 92 53 62 のデータをセットして、
これらの平均値を求めよ。さらにint eval[3]という1次元配列を用意して
eval[0]には0〜60の数の個数
eval[1]には61〜80の数の個数
eval[2]には81〜100の数の個数
を格納するようにし、それらを出力するプログラムを作成せよ。(配列、for文、if文を使って)
[3] 環境
 [3.1] OS:Linux
 [3.2] コンパイラ名とバージョン:gcc
 [3.3] 言語:C
[4] 期限:2010年6月30日まで




256 名前:デフォルトの名無しさん mailto:sage [2010/06/27(日) 20:30:25 ]
>>254

#include <stdio.h>
int main(){
int i,n,f;
printf("> ");
scanf("%d",&n);

f=1; i=1;
do{
++i;
if(n%i==0){
f=0;
break;
}
}while(i*i<=n);
if(f)printf("素数\n");
if(!f)printf("%d\n",i);
}


257 名前:デフォルトの名無しさん mailto:sage [2010/06/27(日) 20:33:36 ]
>>255
#include <stdio.h>

int main(void)
{
int array[] = {34, 57, 45, 21, 89, 63, 39, 48, 78, 68, 76, 84, 92, 53, 62}, eval[3] = {0}, i;
double ave;

for(i = 0, ave = 0.0; i <sizeof array / sizeof *array; i++) {
ave += array[i];
if(array[i] < 0) continue;
else if(array[i] <= 60) eval[0]++;
else if(array[i] <= 80) eval[1]++;
else if(array[i] <= 100) eval[2]++;
}

printf("平均値:%f\n", ave / (sizeof array/ sizeof *array));
printf("0〜60の数の個数:%d\n", eval[0]);
printf("61〜80の数の個数:%d\n", eval[1]);
printf("81〜100の数の個数:%d\n", eval[2]);

return 0;
}

258 名前:デフォルトの名無しさん mailto:sage [2010/06/27(日) 21:44:01 ]
[1] 授業単元:C言語入門
[2] 問題文(含コード&リンク):
次のように表示するプログラムを作りなさい。

私の学籍番号は0000000Aです。
氏名は aaaaa aaaaaaaaです。
       ↑半角スペース
[3] 環境
 [3.1] OS:Windows XP
 [3.2] コンパイラ名とバージョン:C++
 [3.3] 言語: C言語
[4] 期限: 6月28日午前0時
[5] その他の制限:
char型の配列no name を使う。
noに学籍番号、nameに氏名を格納し表示に使う。
自分の学籍番号、氏名はchar型の配列、no nameを初期化して配列に格納する。


259 名前:デフォルトの名無しさん mailto:sage [2010/06/27(日) 21:52:25 ]
#include <stdio.h>

int main(void)
{
char no[] = "0000000A", name[] = "aaaaa aaaaaaaa";

printf("私の学籍番号は%sです。\n", no);
printf("氏名は %sです。\n", name);

return 0;
}

260 名前:デフォルトの名無しさん mailto:sage [2010/06/27(日) 22:23:44 ]
>>256
ありがとうございます。

261 名前:デフォルトの名無しさん mailto:sage [2010/06/27(日) 22:35:45 ]
>>257
ありがとうございます。

262 名前:デフォルトの名無しさん [2010/06/27(日) 22:45:00 ]
>>241
>>241で書いてもらったみたいな感じです。ありがとうございました

263 名前:デフォルトの名無しさん mailto:sage [2010/06/27(日) 23:22:42 ]
a

264 名前:デフォルトの名無しさん mailto:sage [2010/06/27(日) 23:25:25 ]
>>259
本当に助かります(涙)ありがとうございます!!!!

265 名前:デフォルトの名無しさん mailto:sage [2010/06/27(日) 23:45:11 ]
>>264
いえいえ



266 名前:デフォルトの名無しさん mailto:sage [2010/06/28(月) 00:33:27 ]
お礼を言われると返って心苦しくなるなw

267 名前:デフォルトの名無しさん [2010/06/28(月) 00:41:58 ]
>>241
忘れてました
全部の平均ってどういう意味なんですかね?これがいまいちわからないです

268 名前:デフォルトの名無しさん mailto:sage [2010/06/28(月) 00:47:00 ]
>>267
例えば、
英数国合計の平均=(Aさんの英数国合計点+Bさんの英数国合計点+Cさんの英数国合計点)/3

269 名前:268 mailto:sage [2010/06/28(月) 00:56:58 ]
これのほうがまだわかるかな
(Eavg)
+(Mavg)
+(Javg)

=(Aさんの英語の点+Bさんの英語の点+Cさんの英語の点+Dさんの英語の点)
+(Aさんの数学の点+Bさんの数学の点+Cさんの数学の+Dさんの数学の点点)
+(Aさんの国語の点+Bさんの国語の点+Cさんの国語の点+Dさんの国語の点)

=(Aさんの英数国合計点+Bさんの英数国合計点+Cさんの英数国合計点+Dさんの英数国合計点)/4


=英数国合計の平均

270 名前:みすった mailto:sage [2010/06/28(月) 00:58:13 ]
(Eavg)
+(Mavg)
+(Javg)

=(Aさんの英語の点+Bさんの英語の点+Cさんの英語の点+Dさんの英語の点)
+(Aさんの数学の点+Bさんの数学の点+Cさんの数学の+Dさんの数学の点点)
+(Aさんの国語の点+Bさんの国語の点+Cさんの国語の点+Dさんの国語の点)

=(Aさんの英数国合計点+Bさんの英数国合計点+Cさんの英数国合計点+Dさんの英数国合計点)


これを人数分で割ると
(Aさんの英数国合計点+Bさんの英数国合計点+Cさんの英数国合計点+Dさんの英数国合計点)/4
=英数国合計の平均

271 名前:デフォルトの名無しさん mailto:sage [2010/06/28(月) 01:15:43 ]
すみっこつつきで申し訳ないけど、変数名がavgなのがちょっと変かもね。
質問者がそれで理解できてるようだからいいけれど。

272 名前:デフォルトの名無しさん mailto:sage [2010/06/28(月) 06:33:29 ]
>>271
うざいです(>_<)

273 名前:デフォルトの名無しさん [2010/06/28(月) 07:26:32 ]
[1] 授業単元:プログラミング演習
[2] 問題文(含コード&リンク):
社員の情報を管理するプログラムを作りたい。
そこで、以下の例のような構造体Employeeを考える。
以下の構造体Employeeの例は、社員の名前を保存するchar型の配列変数name、年齢を保存するint型の変数age、年譜を保存するint型の変数salaryを有している。
名前は、アルファベットで記述することとし、この構造体では名字だけを管理することとする。(ただし、この構造体のメンバは変更してもかまわない。)
kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/10756.txt
このような構造体を用いて、下の実行例のような社員データベースを処理するプログラムを実装しなさい。
kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/10757.txt
[3] 環境
 [3.1] OS:Linux
 [3.2] コンパイラ名とバージョン:gcc
 [3.3] 言語:C
[4] 期限:2010年6月29日まで
[5] その他の制限:特にありません。よろしくお願いいたします。



274 名前:デフォルトの名無しさん mailto:sage [2010/06/28(月) 10:31:05 ]
1] 授業単元: プログラム入門
[2] 問題文(含コード&リンク): 2つの自然数 n と m を入力し、その積 n×m を
たし算のみで計算するプログラムを作成せよ。
[3] 環境
 [3.1] OS: Windows
 [3.2] borland c++ compiler 5.5
 [3.3] 言語: C
[4] 期限: 2010年06月28日14:30まで
[5] その他の制限: 特になし

よろしくお願いします

275 名前:デフォルトの名無しさん mailto:sage [2010/06/28(月) 10:36:05 ]
#include <stdio.h>

int main(void)
{
int n, m, ans;

scanf("%d%d", &n, &m);

printf("%d * %d = ", n, m);

for(ans = 0; m; m--) ans += n;

printf("%d\n", ans);

return 0;
}



276 名前:246 mailto:sage [2010/06/28(月) 11:02:07 ]
>>247
>>248
ありがとうございます。
助かりました。

277 名前:274 mailto:sage [2010/06/28(月) 12:02:00 ]
>>275
ループ変数使用して、printf 文をまとめた方がよくないですか?

278 名前:デフォルトの名無しさん mailto:sage [2010/06/28(月) 14:05:40 ]
[1] 授業単元: C言語プログラミング入門
[2] 問題文:関数の再帰的呼び出しによりAckermann(アッカーマン)関数を計算するプログラムを作れ。同じプログラムを繰り返し処理(ループ計算)により実現できるか考えよ。Ackermann関数は次式で定義される。
[3] 環境 
 [3.1] OS: Mac OS
 [3.2] コンパイラ名とバージョン: gcc
 [3.3] 言語: C
[4] 期限: 2010年6月30日
[5] その他の制限: 特にはないです。

よろしくお願いします。

279 名前:278 mailto:sage [2010/06/28(月) 14:07:58 ]
Ackermann関数は次式で定義される。の次式を書き忘れてましたすいません。
n+1 m=0 and n>_0
ack(m,n)= ack(m-1,1) m>0 and n=0
ack(m-1,ack(m,n-1)) m>0 and n>0


280 名前:デフォルトの名無しさん mailto:sage [2010/06/28(月) 14:19:21 ]
>>277 足し算で
#include <stdio.h>
int main(void)
{
int a,b,c;
scanf("%d %d",&a,&b);
if (a<b){c=a;a=b;b=c;}c=0;b=-(b);
while (b++)printf(b?"%d + ":"%d = %d\n",a,c+=a);
return 0;
}

281 名前:デフォルトの名無しさん mailto:sage [2010/06/28(月) 14:20:10 ]
>>274
#include <stdio.h>
int main(void) {
  int i, n, m, ans;

  printf("input:"); scanf("%d", &n);
  printf("input:"); scanf("%d", &m);
  if(n<0 || m<0) { printf("error"); return 1; }
  ans = 0;
  if(n < m){
    for(i=n; i > 0; --i)
      ans += m;
  }else{
    for(i=m; i > 0; --i)
      ans += n;
  }
  printf("\nans:%d * %d = %d", n, m, ans);
  return 0;
}

282 名前:224 ◆C/HmxiIl0o mailto:sage [2010/06/28(月) 16:02:40 ]
>>224について、教えていただいたプログラムで提出したのですが、
logxの真値と補間で求めた値の誤差を比較していないとのことで受理されませんでした。

>>249さんのような結果を出さないといけないようなのですが、c++だったので、
Cに作り直そうとしたのですが、うまくできませんでした。

大変申し訳ないのですが、Cで作り直していただけないでしょうか?
宜しくお願い致します。

283 名前: ◆/91kCCQXBo mailto:sage [2010/06/28(月) 16:05:01 ]
いいよCで作り直して。
>>280 文章よめ

284 名前:デフォルトの名無しさん mailto:sage [2010/06/28(月) 16:16:58 ]
>>282
ideone.com/Kc5i7

285 名前:224 ◆C/HmxiIl0o mailto:sage [2010/06/28(月) 16:26:08 ]
>>284
ありがとうございました。



286 名前:デフォルトの名無しさん mailto:sage [2010/06/28(月) 17:36:30 ]
[1] プログラミング1
[2] 現在のインターネットを実現しているTCP/IP通信プロトコルでは主にIPv4
  を用いており、コンピュータを一意に識別するために32ビットのIPアドレスを
  用いている。これを踏まえ、IPアドレスの4つの数字を入力させ、これらを32ビットの
  データ型であるunsigned int型の変数にIPアドレスを示す2進数の数値として保存せよ。
  保存したIPアドレスがunsigned intの整数値として解釈するといくつとなるか表示する
  プログラムを作成せよ。
[3] 環境
 [3.1] OS Linux
 [3.2] gcc
 [3.3] 言語 C言語
[4] 期限:2010年6月30日19:00まで
[5] 特に制限はありませんが、while文は習っていません。
  if文、for文、配列など基本的なものを習いました。

どうぞよろしくお願いします。

287 名前:デフォルトの名無しさん mailto:sage [2010/06/28(月) 18:07:05 ]
>>286
int main(int argc, char* argv[])
{
int i;
unsigned int val;
unsigned int addr = 0;

for (i = 0; i < 4; i++)
{
printf("%d:", i + 1);
addr <<= 8;
scanf("%d", &val);
addr |= val;
}

printf("addr=%u\n", addr);

return 0;
}


288 名前:デフォルトの名無しさん [2010/06/28(月) 18:24:56 ]
[1] 応用プログラミング
[2] 問題文(含コード&リンク):  
  kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/10758.txt 
[3] 環境
 [3.1] OS: WindowsXP
 [3.2] コンパイラ名とバージョン:Microsoft Visualstadio 2008
 [3.3] 言語:C
[4] 期限:30日まで
[5] その他の制限:プログラミング経験はほとんどないです。
         構造体の授業での宿題です。
         構造体はまだわかるのですがそれに苦手なポインタが加わるとどうにもわかりません。
         宜しくお願いします。

289 名前: ◆QZaw55cn4c mailto:sage [2010/06/28(月) 18:35:59 ]
>>278
codepad.org/P5qj1UBe

290 名前:デフォルトの名無しさん mailto:sage [2010/06/28(月) 18:40:17 ]
>>287
ありがとうございました!

291 名前: ◆QZaw55cn4c mailto:sage [2010/06/28(月) 18:46:34 ]
>>288
codepad.org/boZTLkkn

292 名前:デフォルトの名無しさん mailto:sage [2010/06/28(月) 18:49:03 ]
>>288
codepad.org/XnGsYKmG

293 名前:デフォルトの名無しさん mailto:sage [2010/06/28(月) 18:59:13 ]
>>292
> scanf("%s",p[i].name);
buffer overrun...

294 名前:デフォルトの名無しさん mailto:sage [2010/06/28(月) 19:07:57 ]
元がそうなってんだからそっちに文句つけろよw

295 名前:デフォルトの名無しさん mailto:sage [2010/06/28(月) 19:15:50 ]
>>294
氏ねといわれたら氏ぬんですね、よくわかります。



296 名前:デフォルトの名無しさん mailto:sage [2010/06/28(月) 19:19:18 ]
長すぎる文字列入れたら正しく動作しないのは>>291もかわらないしw

297 名前:デフォルトの名無しさん mailto:sage [2010/06/28(月) 19:36:54 ]
>>295
原要求を無視したらテンプレの意味が(ry

298 名前:デフォルトの名無しさん mailto:sage [2010/06/28(月) 19:50:14 ]
>>291 = >>293か?

299 名前: ◆QZaw55cn4c mailto:sage [2010/06/28(月) 20:05:36 ]
>>296
たしかにうまく処理できませんね。標準で入力バッファをクリアする方法はなんでしょうかね。

>>298
違います。

300 名前:デフォルトの名無しさん mailto:sage [2010/06/28(月) 20:46:00 ]
[1] 授業単元:情報処理学
[2] 問題文(含コード&リンク):
例1は、3教科5人の生徒の合計得点を求めるプログラムである。
これを実行し、動作を説明せよ。さらに、教科毎の平均点、
生徒毎の平均点を計算して表示できるようにプログラムを修正し、
結果とともに示せ。
[3] 環境
 [3.1] OS:Linux
 [3.2] コンパイラ名とバージョン:gcc
 [3.3] 言語:C
[4] 期限:2010年6月30日

よろしくお願いします。

301 名前:デフォルトの名無しさん mailto:sage [2010/06/28(月) 20:47:24 ]
>>300の例1
例1
#include<stdio.h>
#define KAMOKU 3
#define SEITO 5
int main()
{
int ten[][KAMOKU]={{ 80, 65, 70},
{ 70, 55, 75},
{ 75, 80, 70},
{ 80, 60, 60},
{ 90, 80, 75}};
int j,k,s;
printf(“ kokugo sugaku eigo gokei\n”);
printf(“------------------------------------------------\n”);
for (j=0;j<SEITO;j++) {
s=0;
for (k=0;k<KAMOKU;k++) {
printf(“%8d”,ten[j][k]);
s=s+ten[j][k];
}
printf(“%8d\n”,s);
}
return 0;
}


302 名前:デフォルトの名無しさん mailto:sage [2010/06/28(月) 21:18:08 ]
>>300

> これを実行し、動作を説明せよ。
codepad.org/EfWyhSTD

> 教科毎の平均点、生徒毎の平均点を計算して表示できるようにプログラムを修正し、
結果とともに示せ。
codepad.org/9EYyajom

303 名前:デフォルトの名無しさん mailto:sage [2010/06/28(月) 21:29:23 ]
[1] 授業単元:プログラミング演習
[2]問題文:長いので次のレスに書かせていただきます
[3] 環境
 [3.1] OS:Linux
 [3.2] コンパイラ名:gcc
 [3.3] 言語:C
[4] 期限:2010年6月29日17:00まで
[5] その他の制限:特に制限はありませんが、なるべく簡単な文法で書いていただけるとありがたいです


304 名前:303 mailto:sage [2010/06/28(月) 21:31:23 ]
次レスにまとめても規制されてしまったので・・・・
[2] 問題文:[1],[2]のプログラムを作成せよ。
      [1]多項式の次数nと係数a,(i=0,1・・・・,n)を入力し、
その多項式f(x)=a_nx^2+a_n-1x^n-1+・・・+a_2x^2+a_1x+a_0と
       その微分の多項式f'(x)を出力するプログラムを作成せよ。
       ただし、nはint型,a_iはdouble型の配列とせよ。n<100と仮定してよい。
       以下に入力例を示す
n=5
a5=1
a4=0
a3=2
a2=0
a1=3
a0=0
f(x)=x^5+2x^3+3x
f'(x)=5x^4+6x^2+3

305 名前:303 mailto:sage [2010/06/28(月) 21:32:41 ]
続きです
[2]以下の要領で、平均点、分散、標準偏差、最小値、最大値を求めるプログラム
        を作成せよ。
        (1)100人分の点数(int型)を記憶するための配列変数aを定義する
        (2)人数(int型)を記憶するための変数nを定義する。
        (3)人数nの初期値を0とする
        (4)点数をa[n]に入力する
        (5)点数が負の数ならば終了する
        (6)人数nを1つ増やす
        (7)全員の点数を空白で区切って表示する。例:83 52 64
        (8)平均点を出力する
        (9)分散を出力する
        (10)標準偏差を出力する
        (11)最小値を出力する
        (12)最大値を出力する
        (13)(4)へ戻る
        ※標準ライブラリのsqrt関数を使わずニュートン法によって平方根を
         求める自作の関数を使え。
        ※平均点、分散、標準偏差を求めるとき、キャスト演算子を用いてdouble型へ
         型変換せよ。
多いですがどうぞよろしくお願いします



306 名前:デフォルトの名無しさん mailto:sage [2010/06/28(月) 21:38:30 ]
>>210
やっと規制が解けた。
3000!の桁数=9131なので、#define文を変えればもう少しいけるはず。
codepad.org/6S9o89xk

307 名前:デフォルトの名無しさん [2010/06/28(月) 21:56:52 ]
>>273もどなたかお願いいたしますm(_ _)m






[ 続きを読む ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<283KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef