C/C++の宿題片付けま ..
[2ch|▼Menu]
159:デフォルトの名無しさん
10/01/25 19:37:27
>>154
さすがにこれに答えちゃいけないでしょう。自力でなんとかしなさい。

160:デフォルトの名無しさん
10/01/25 19:51:47
>>136
遅くなりました
ありがとうございました

161:デフォルトの名無しさん
10/01/25 20:11:44
[1] 授業単元: プログラミング演習(木構造と数式処理)
[2] 問題文(含コード&リンク):

累乗の計算の逆を行うプログラムを作ってください。


x*x*xと入力されればx^3と画面に出力する。

x*x*x*aなどの場合はx^3*aと出力されればよい。

[3] 環境
 [3.1] OS: Linux
 [3.2] コンパイラ名とバージョン: gcc
 [3.3] 言語: C
[4] 期限: 2010年1月28日12:00まで


162: ◆NPjWSW9EXI
10/01/25 20:28:20
103です
>>113
遅くなりました
有難うございました。

どなたか2番を解いてくださいお願いします。


163:デフォルトの名無しさん
10/01/25 20:46:36
>>129
すみません…ありがとうございます。あと、昨日聞き忘れてしまったんですが、
意味的に同じであると思うんですが、この2つを書き方分けてる理由は何ですか?
cout << "{(a+b)c-a(b-c)}/{(c/b)a+abc-ca} = ";
cout << ((a+b)*c-a*(b-c))/((c/b)*a+a*b*c-c*a) << '\n';

164:93
10/01/25 20:51:51
言い忘れてしまいました。これを考察というのをするんですが、この2つを比較でもしようかなと思うんですが、
プログラムの文章の書き方が違うとかそういう事以外で何かありますか?

165:120
10/01/25 22:20:29
>>146
素材はそのまま生かしましたw

URLリンク(kansai2channeler.hp.infoseek.co.jp)

166:デフォルトの名無しさん
10/01/25 22:24:24
>>162
#include <stdio.h>

void mult_array(int a0[4][4],int a1[4][4],int result[4][4]){
int x,y,k;
for(y=0;y<4;y++){
for(x=0;x<4;x++){
for(k=0;k<4;k++){
result[y][x]+=a0[y][k]*a1[k][x];
}
}
}
}
int main(){
int a0[4][4]={0};
int a1[4][4]={0};
int result[4][4]={0};
int y;
for(y=0;y<4;y++)scanf("%d%d%d%d",&a0[y][0],&a0[y][1],&a0[y][2],&a0[y][3]);
for(y=0;y<4;y++)scanf("%d%d%d%d",&a1[y][0],&a1[y][1],&a1[y][2],&a1[y][3]);
mult_array(a0,a1,result);
for(y=0;y<4;y++)
printf("%d %d %d %d\n",result[y][0],result[y][1],result[y][2],result[y][3]);
return 0;
}


167:hoge
10/01/25 23:07:26
上の105ですが、もう一度質問させて頂きます。
なぜなら、課題2対しての回答がないからです。
皆様よろしくお願いします。

[1] データ構造とプログラミング
[2]b01, b001 のように二進数をb で始まるように表記する。二進数の集合を、できるだけ少ないノード数
の二分木に分類するためには、二分木のノードに蓄積する二進数の桁数を可変にすることが有効である。こう
することで二進数表記した値(たとえばキーワードとか、位置とか、日付とか)に紐づけられたデータを少な
い検索で見つけることができる。
扱う二進数の集合を、たとえば
b00, b001, b0011, b00111, b1000, b11100, b0
として、これらを図1に示すようにニ分木に分類して、帰りがけ(ポストオーダ)で次のように出力するプロ
グラム(tree) を作成し、C のソースコードを提出しなさい。
>./tree
>1 1 1 0 0 000 1100 0 1 b
[3] 環境
 [3.1] OS: (Windows)
 [3.2] コンパイラ名とバージョン: (gcc)
 [3.3] 言語: (C++)
[4] 期限: ([2010年1月26日23:59まで])
[5] その他の制限

168: ◆QZaw55cn4c
10/01/25 23:15:59
>>143
コマンドラインで * を入力すると、シェルが解釈していまうので、
実行後、標準入力から式を入力してください。
URLリンク(codepad.org)

169: ◆NPjWSW9EXI
10/01/26 00:39:43
>>166
助かりました
有難うございます

170:homi
10/01/26 00:46:56
>>168
ありがとうございます!!><

171:homi
10/01/26 00:50:11
前にこれを上げたものです。
課題1はすでにやってもらったのですが、
課題2がまだです。
再UPになりますが、もしできる方いらっしゃいましたらよろしくお願いします><

[1] データ構造とプログラミング
[2] URLリンク(www.geocities.jp)
[3] 環境
 [3.1] OS: (Windows)
 [3.2] コンパイラ名とバージョン: (gcc)
 [3.3] 言語: (C++)
[4] 期限: ([2010年1月26日23:59まで])
[5] その他の制限

失礼しました

172:デフォルトの名無しさん
10/01/26 00:56:37
>>171
あなたはそのために単発スレまで建てたんだからそっちでやりなよ

173:137
10/01/26 01:27:20
>>156
返事が遅くなってすいません
全角スペースは対応しなくても大丈夫だと思います
私の独自解釈では、おそらく"in_file"内の整数18個を5*3+3の4行に分け、最も長くなる行に揃えて出力すればいいのかと…
適当に入力した数値が綺麗に並んで出力されたので、問題ないと思います
助かりました
ありがとうございました

174:デフォルトの名無しさん
10/01/26 01:30:22
[1] データ構造とプログラミング
[2]
リングバッファを使って、9個のキューを作り、データを追加したり、
データを取り出すプログラムを完成させなさい。
以下の添付にあるプログラムを完成させろという課題です。
URLリンク(www.geocities.jp)
[3] 環境
 [3.1] OS: (Windows)
 [3.2] コンパイラ名とバージョン: (gcc)
 [3.3] 言語: (C++)
[4] 期限: ([2010年1月26日23:59まで])
[5] その他の制限


よろしくお願いいたします


175:デフォルトの名無しさん
10/01/26 02:40:07
いつから質疑応答スレになったんだ?
宿題を依頼し、片付けてもらうスレだろ?

176:デフォルトの名無しさん
10/01/26 02:48:16
>>175
あなたが解けないC言語/C++言語の宿題を片付けもらうスレッドです。気に入らない質問やその他の発言はスルーの方向で。
気に入らない質問やその他の発言はスルーの方向で。
気に入らない質問やその他の発言はスルーの方向で。
気に入らない質問やその他の発言はスルーの方向で。

177:デフォルトの名無しさん
10/01/26 03:18:10
気に入らない依頼やその他の質問はスルーの方向で。

178:デフォルトの名無しさん
10/01/26 05:25:11
>>174
URLリンク(codepad.org)


179:83
10/01/26 07:46:44
>>97,98
遅くなりましたがどうもありがとうございました。

180:デフォルトの名無しさん
10/01/26 08:27:07
問題文の曖昧さと回答の多様性の擦り合わせの先に真の回答が
あるんじゃね?

ことプログラム作文に関しては
問題、回答、終了という気持ちのよいスケジュールが
立てられるとは思わないほうがいいかも
数学問題の影響受け過ぎ(てか数学が異常な学問)

181:デフォルトの名無しさん
10/01/26 09:17:28
>>161
URLリンク(codepad.org)

木構造ってあったから,2分木を使ったけど,
配列を使った方が,入力サイズは限られるが,楽だと思う。
問題文から察するにソートする必要ないし。

エラーチェックは甘いけど,バグってたりしたら,
教えて下さい。治さないかもしれないけど。


182:デフォルトの名無しさん
10/01/26 09:19:50
>>180
が一体何を望んでいるのか、サッパリ分からない。

183:デフォルトの名無しさん
10/01/26 09:23:35
>>161
URLリンク(codepad.org)

ごめん。余分な出力が入ってたので修正した。


184:デフォルトの名無しさん
10/01/26 09:33:44
>>182
>>180の望みをわかることも>>180は望んでいる
んだろう。しかしね。ここは2chでプログラミング
の宿題を片付けるスレで、いろいろと制約も多い
んで、質疑応答形式になってしまっているんだ。

185:デフォルトの名無しさん
10/01/26 09:42:30
>>184
が一体何を望んでいるのか、サッパリ分からない。

186:デフォルトの名無しさん
10/01/26 09:46:52
>>180にもわからないだろね

187:デフォルトの名無しさん
10/01/26 10:19:16
>>180
>問題文の曖昧さと回答の多様性の擦り合わせの先に真の回答が
>ある
そうなんだろうが、誰もがそういう水準に到達出来るわけじゃ
ない。国語の作文の授業みたいに完全に自由か、
数学の入試問題のように極度に不自由かのいずれ
か一つじゃないと皆やらないだろ?

188:デフォルトの名無しさん
10/01/26 10:49:19
>>178
遅くなりましたが
ありがとうございました!

189:デフォルトの名無しさん
10/01/26 10:52:56
[1] データ構造とプログラミング
[2]
ツリーにノードを追加するプログラムを完成させなさい。またプログラム中 に使われている要素 mitsugi, emura, satou, yonemura, murai, nakamura, kwkt がツリー上でどのように配置され ているか書きなさい。
以下の添付にあるプログラムを完成させろという課題です。
URLリンク(www.geocities.jp)
[3] 環境
 [3.1] OS: (Windows)
 [3.2] コンパイラ名とバージョン: (gcc)
 [3.3] 言語: (C++)
[4] 期限: ([2010年1月26日23:59まで])
[5] その他の制限


よろしくお願いいたします

190:デフォルトの名無しさん
10/01/26 11:00:16
[1] データ構造とプログラミング
[2]
以下の添付にあるプログラムを完成させ配列のrotateを完成させろという課題です。
URLリンク(www.geocities.jp)
[3] 環境
 [3.1] OS: (Windows)
 [3.2] コンパイラ名とバージョン: (gcc)
 [3.3] 言語: (C++)
[4] 期限: ([2010年1月26日23:59まで])
[5] その他の制限

よろしくお願いいたします;;

191:デフォルトの名無しさん
10/01/26 11:43:16
>>189
void AddChild(struct NODE** p, char* name){
if (!*p) {
*p = (struct NODE *)malloc(sizeof (struct NODE));
(*p)->left = (*p)->right = 0;
strcpy((*p)->name, name);
} else {
AddChild(strcmp(name, (*p)->name) < 0 ? &(*p)->left : &(*p)->right, name);
}
}

192:デフォルトの名無しさん
10/01/26 13:15:50
>>191
大変ありがとうございます

193:デフォルトの名無しさん
10/01/26 13:23:04
[1] 授業単元:プロトタイプ宣言とか引数
[2] 問題文(含コード&リンク):[3〜6]∫x^2 dx(これだと正解は63)を計算するプログラムを作成せよ。
尚、積分本体(始点と終点)と関数本体f(x)に分けること。dx=1/N N=(10,1000…10000)誤差評価を行う事。積分範囲を変更すること。x^2の関数を変更すること。
[3] 環境
 [3.1] OS:xbuntu
 [3.3] 言語:C++
[4] 期限: 2010年1月25日
[5] その他の制限:出力→cout,入力→cin,あと、簡単にお願いします。始まりは、
#include <iostream>
using namespace std;です。


194:デフォルトの名無しさん
10/01/26 14:15:37
>>193
URLリンク(codepad.org)
積分範囲とか積分関数変えるのは適当に自分でやってくれ
(積分関数:6行目、積分範囲:20〜22行目、厳密解:27行目)

195:デフォルトの名無しさん
10/01/26 14:31:19
>>193
期限後なのに1時間も経たずにやってくれた人が
居たのはラッキーだったと思うべし
つーか期限後の宿題を片付けるのはややルール違反
気味

196:デフォルトの名無しさん
10/01/26 14:33:44
>>195
もういいからお前は消えろ。
二度とこのスレに来るな。

197:よろしくお願いします(m_m)
10/01/26 14:55:29
[1] 計算機概論
[2] 8bit整数が8つ与えられている。これをunsigned char配列と
みなしa[]と名付ける。
unsigned char 整数のor,not演算だけを用いて1<=n<=8からa[n]を
計算するC計算式を出力するプログラム
例:a[]={1,2,3,4,5,6,7,8}; 出力 return n;
a[]={1,0,1,0,1,0,1,0}; 出力 return !(!n or 11111110b);
[3.1] OS:Mac OS-X
[3.2] XCode 3.0(gcc 4.0)
[3.3] C言語
[4] 1/25 正午(厳守)
[5] 出来るだけ短いコードを出力するプログラムを書く事

198:デフォルトの名無しさん
10/01/26 16:41:15
仕切り男が不快だから、次のスレのテンプレから期限を外そうじゃないか。

199:デフォルトの名無しさん
10/01/26 17:15:36
気に入らない質問やその他の発言はスルーの方向で。

200:デフォルトの名無しさん
10/01/26 17:29:34
[1] 授業単元: プログラミング
[2] 問題文(含コード&リンク):
A組、B組、C組にそれぞれn人の生徒がいて、
A組の生徒が一列に並んでいる。
このとき、B組の生徒をA組の生徒の隣に並ばせたいが
なるべく隣同士で身長に差がないようにしたい。
どうやって計算すればいいでしょう?
加えて、C組の生徒もB組の隣に並ばせたい場合はどうすれば?
(身長の配列) double height_a[n], height_b[n], height_c[n];
[3] 環境
 [3.1] OS: WindowsXP
 [3.2] コンパイラ名とバージョン: gcc
 [3.3] 言語: C++
[4] 期限: 2010年1月28日(木)16:00
[5] その他の制限: 特にありません

B組だけを考える場合はn!、C組も考える場合はn!×n!の並び方を生成して、
身長差の合計を計算して最小ならその並び方を保存って感じでいいと思うんだけど
そのやり方が思いつかない・・・

B組のみの場合
(B組をn!通り並ばせるループ){
diff = sum(n人の身長差の合計);
if(diffが最小){
B組の並び順を保存
}
}

こんな感じになると思うんだけど・・・
お助けください。

201:デフォルトの名無しさん
10/01/26 17:30:10
>>197
意味不明だな・・・


202:デフォルトの名無しさん
10/01/26 17:34:13
>>201
a[n-1] と等価となる  NOT, AND, OR の連結で得られる式を作るプログラムを作れ
だと思うが… 俺には難しい。 a[n] が 0〜255 を取り得るからなぁ

203:デフォルトの名無しさん
10/01/26 17:36:59
>>200
A<Bの時
A:1 2 3 4 5 6
B:1 2 3 4
こういう並びはアリですか?
ナシならA=Bの時と同じで
Bがどのように並んでも身長差の合計は同じですよね


204:デフォルトの名無しさん
10/01/26 17:41:09
★期限の過ぎた問題を依頼してはいけません

205:デフォルトの名無しさん
10/01/26 17:48:42
>>202
オレは加算演算子や添え字を使わずに
a[n],*(a+n)をnot,orのみで表現しろと言う事か
添え字が1からなので減算も必要だしめんどくさそうだね

206:200
10/01/26 17:54:01
>>203
すいませんA<Bっていうのがよくわかりません
B組のほうが平均身長が高いという意味でしょうか?
身長の値については定まったものではなく任意です。

A,B,C組で人数は同じn人です。n=6だとすると下のようになります。
A:1 2 3 4 5 6 は固定で隣同士の身長差の和が最小となる
B:5 1 6 2 4 3 みたいな並び方をn!で総当りで調べる・・・

B組の並び順をint narabi_b[n]として、
narabi_b[n]にn!通りの1〜nの数字を入れる?
うーん・・・

207:デフォルトの名無しさん
10/01/26 18:02:27
>>206
人数の事ね。
不等号が逆だったごめん。

A,B,C組で人数は同じn人で
身長差の和が最小となる
という条件ならどう並んでも同じだよ。

(A1-B1)+(A2-B2)+(A3-B3)=(A1+A2+A3)-(B1+B2+B3)

208:デフォルトの名無しさん
10/01/26 18:04:18
>>207
絶対値を取る可能性もあるぞ

209:デフォルトの名無しさん
10/01/26 18:05:09
>>202
添字n(1,2,3,4,5,6,7,8)から対応するa[n](これは任意の0~255
となり得る)をor とnotからなる式で表す。nと定数は
使っても良い。
(n or (! n or 11110011b) ) or !( !n or 10110111b) ....
という式のn=1,2,3,4,...,8 に対する値が指定したものに
なるように式を選ぶプログラムを作れ
って意味じゃないかなと思うが、これは多分不可能じゃないかと...
a[n] = n >> 1 とかの場合はどーすんだ?
ネタじゃないかとは思ってはいるが...

210:デフォルトの名無しさん
10/01/26 18:05:42
>>208
あぁ、それなら納得

211:200
10/01/26 18:07:01
>>207
確かにその通りです。
ちょっと私の書き方がよくなかったです。
身長差の絶対値の和というべきでした。
すいません。

212:デフォルトの名無しさん
10/01/26 18:52:01
よろしくお願いします。
[1] 授業単元: Cプログラミング入門演習U
[2] 問題文(含コード&リンク):URLリンク(kansai2channeler.hp.infoseek.co.jp)
[3] 環境
 [3.1] OS: WindouwsVista
 [3.2] コンパイラ名とバージョン: gcc
 [3.3] 言語: C
[4] 期限: 2010年1月28日(木)
[5] その他の制限: 特にありません

213:デフォルトの名無しさん
10/01/26 18:57:51
[1] 授業単元: プログラミングとコンパイラ
[2] 問題文:kadai.cを単項演算子の+-、剰余演算子%に対応するように改造せよ
  サイトURLリンク(kansai2channeler.hp.infoseek.co.jp)のC/C++の宿題片付けます132代目の10446.zip
[3] 環境
 [3.1] OS:Linux
 [3.2] コンパイラ名とバージョン:gcc
 [3.3] 言語:C
[4] 期限:2010年1月29日まで
[5] その他の制限:パーサがどのようにして解析コード生成されていくかの説明も添付

214:デフォルトの名無しさん
10/01/26 19:37:47
>>212
#include <stdio.h>
#include <stdlib.h>
int average(int *nums, int size) {
int i, sum = 0;
for (i = 0; i < size; i++) sum += nums[i];
return size ? sum / size : -1;
}
static int min_distance_target;
int min_distance_cmp(const int *a, const int *b) {
int diff = abs(min_distance_target - *a) - abs(min_distance_target - *b);
return diff ? diff : (*a - *b);
}
void min_distance_sort(int *nums, int size, int target) {
min_distance_target = target;
qsort(nums, size, sizeof (int), (int (*)(const void*, const void*))min_distance_cmp);
}
void scan(int *nums, int size) {
int i, tmp;
for (i = 0; i < size; i++) {
scanf("%d", &tmp);
nums[i] = tmp;
}
}


215:デフォルトの名無しさん
10/01/26 19:39:49
>>212つづき
void print(int *nums, int size) {
int i;
for (i = 0; i < size; i++) printf("%s%d", i ? " " : "", nums[i]);
puts("");
}
int main() {
int size, nums[100];
scanf("%d", &size);
if (100 < size) size = 100; // (最大で100とする)
scan(nums, size);
min_distance_sort(nums, size, average(nums, size));
print(nums, size);
return 0;
}


注:肝心のソートが手抜き(qsort頼り)だから先生によっては怒られるかも。
やむをえずstatic int min_distance_target; というグローバル変数も使ってしまってる。

216:備忘録
10/01/26 20:49:27
★関連スレ

大学のプログラミング演習の課題を添削するスレ
スレリンク(tech板)

217:デフォルトの名無しさん
10/01/26 21:33:02
C++でOpenGLの勉強してます。OpenGLなんですが、言語はC++なのでこちらで質問していいのかな?


218:デフォルトの名無しさん
10/01/26 21:40:03
OpenGLに限らずそういう専門的なものはあんまり期待しない方が良いよ。
ダメとは言わないけど

219:誘導
10/01/26 21:46:59
OpenGLスレ Part14
スレリンク(tech板)
でどーぞ

220:デフォルトの名無しさん
10/01/26 21:47:03
[1] 再帰リスト構造
[2] 問題文(含コード&リンク): URLリンク(kansai2channeler.hp.infoseek.co.jp)
[3] 環境
 [3.1] OS: (Windows)
 [3.2] コンパイラ名とバージョン: (gcc)
 [3.3] 言語: (C)
[4] 期限: (1月29日0時まで)
[5] その他の制限: (特になし)
上のソースでプログラムは実行しますが、
name、emailに2文字以下だと大丈夫なのですが、3文字以上入力すると
出力のテンプレートが崩れてしまいます。
どこがおかしいかお願いします。

221:デフォルトの名無しさん
10/01/26 21:58:12
>>212
URLリンク(kansai2channeler.hp.infoseek.co.jp)



222:デフォルトの名無しさん
10/01/26 22:03:21
>>220
age2 = (char*)malloc(sizeof(char));
これでは、char一文字分しか確保されない。
文字数nの文字列の場合、
age2 = (char*)malloc(sizeof(char) * n + 1);
と書く。+1は終端文字'/0'のために準備。

getline(age2, sizeof(age2));
これでは、int nとして渡すには不十分。
sizeof (char *)の意味になる。
文字数nの文字列の場合、
getline(age2, n);
と書く。getlineが実際にどう動くかは想像しかしてないけど。

223:212
10/01/26 22:13:29
>>214-215
素早い回答感謝します

224:デフォルトの名無しさん
10/01/26 22:16:39
やはりここでOpenGLの質問は、あまりよくないようですねorz

>>219様の誘導先は質問スレではないのでダメかな?
って思ってやめておいたのですが、そちらのスレに質問を書かせていただきました。

もしOpenGLのことも分かる方が居ましたらOpenGLの掲示板に書かせていただきましたので
ご回答していただけるとすごく嬉しいです><


225:デフォルトの名無しさん
10/01/26 23:00:20
[1] 授業単元:情報科学U
[2] 問題文(含コード&リンク):URLリンク(www.f.csce.kyushu-u.ac.jp)
[3] 環境
 [3.1] OS: Windows Vista
 [3.2] コンパイラ名とバージョン: gcc
 [3.3] 言語: C
[4] 期限: 2010年1月27日23:59まで
[5] その他の制限:特にありません

どうしてもわかりません。すみませんがよろしくお願いします。

226:デフォルトの名無しさん
10/01/26 23:15:18
>>225
void DspArray(int *p,int n){
while(n--){
printf("%d ",*(p++));
}
printf("\n");
}

こう言う事?

227:デフォルトの名無しさん
10/01/26 23:15:23
[1] 授業単元:(大学専門課程某講座)
[2] 問題文(含コード&リンク):URLリンク(kansai2channeler.hp.infoseek.co.jp)
[3] 環境
 [3.1] OS: Windows XP
 [3.2] コンパイラ名とバージョン:Visual studio .NET
 [3.3] 言語: C
[4] 期限: 2010年1月31日まで
[5] その他の制限:特にありません

228:226
10/01/26 23:19:42
>>225
よく読んでなかった。
void DspArray(int array[],int n){
int i;
for(i=0;i<n;i++){
printf("%d ",array[i]);
}
printf("\n");
}


229:デフォルトの名無しさん
10/01/27 00:19:45
>>222
ありがとうございます。

230:デフォルトの名無しさん
10/01/27 01:00:28
>>213
URLリンク(kansai2channeler.hp.infoseek.co.jp)


231:デフォルトの名無しさん
10/01/27 01:17:34
>>194
ありがとうございました。

232:デフォルトの名無しさん
10/01/27 01:27:49
[1] 授業単元:プロトタイプ宣言とか引数
[2] 問題文(含コード&リンク): 得点を入力して以下のルールに従った成績を返す関数を実装せよ。
90点以上 S
80点以上 A
60点以上 B
それ未満 C
()の中に何か入るらしいです () score(int sc) {
[3] 環境
 [3.1] OS:xbuntu
 [3.3] 言語:C++
[4] 期限: 2010年1月28日
[5] その他の制限:出力→cout,入力→cin,あと、簡単にお願いします。始まりは、
#include <iostream>
using namespace std;です。


233:デフォルトの名無しさん
10/01/27 01:29:01
[1] 授業単元:プロトタイプ宣言とか引数
[2] 問題文(含コード&リンク): 入力された数字が偶数なら、trueを返す関数。それ以外ならfalse
()の中に何か入るらしいです () even(int sc) {
[3] 環境
 [3.1] OS:xbuntu
 [3.3] 言語:C++
[4] 期限: 2010年1月28日
[5] その他の制限:出力→cout,入力→cin,あと、簡単にお願いします。始まりは、
#include <iostream>
using namespace std;です。

234:デフォルトの名無しさん
10/01/27 02:29:00
>>227
URLリンク(codepad.org)
左端の数字は元の行数。修正した行には/*修正*/
修正内容は
・後半のソートの呼び出しの引数が逆になっていたのを修正(26行目)
・ & を && に変更(42行目)
・ ++p などを p++ に変更(11,42-45行目)

N=10000だと表示がアレなんだがN=100くらいだとちゃんと表示される

235:デフォルトの名無しさん
10/01/27 02:30:50
>>232
char score(int sc){
if(sc>=90) return 'S';
if(sc>=80) return 'A';
if(sc>=60) return 'B';
return 'C';
}

236:デフォルトの名無しさん
10/01/27 02:31:52
>>233
bool even(int sc){
return (sc%2 == 0);
}

237:デフォルトの名無しさん
10/01/27 03:28:16
>>235
実行してみたんですが、できないんですが、どうしてでしょうか

238:デフォルトの名無しさん
10/01/27 04:37:48
>>237
「できないんです」 は禁句
何を期待したか、どんな操作をしたか、そしてどんな結果になったかの 3 点を書かないと
何が問題なのか見た人には分からない

239:デフォルトの名無しさん
10/01/27 07:51:08
>>230
ありがとうございました!

240:227
10/01/27 12:07:55
>>234
ありがとうございます。大変面倒な課題のほうたった2時間余りで
迅速にやって頂けて試験前なので助かりました。
(1月31日位になるかと思ってました)
実はもっと長いもの(数値計算関連で長さ約300行)も出てい
るので(そちらのほうは必須ではないですが試験が出来なかっ
た場合に提出していれば不可になる確率がずっと低くなるそうで)
そちらもやって頂けると非常に嬉しいのですがよろしいでしょうか?

241:147
10/01/27 13:09:03
147をどなたかお願いできないでしょうか?
よろしくお願いします。

242:デフォルトの名無しさん
10/01/27 13:37:16
>>232
#include <iostream>
using namespace std;
char score(int sc){
if(sc>=90) return 'S';
if(sc>=80) return 'A';
if(sc>=60) return 'B';
return 'C';
}
fatal error LNK1120: 外部参照 1 が未解決です。
未解決の外部シンボル _main が関数 ___tmainCRTStartup で参照されました。
とでるんですが…


243:デフォルトの名無しさん
10/01/27 13:38:14
>>238でしたすみません。

244:デフォルトの名無しさん
10/01/27 14:22:57
>>147
URLリンク(kansai2channeler.hp.infoseek.co.jp)
URLリンク(kansai2channeler.hp.infoseek.co.jp)

245:デフォルトの名無しさん
10/01/27 17:23:10
[1] 授業単元: プログラミング
[2] 問題文(含コード&リンク):
キーボードから正の整数nを入力し、n!を計算して画面表示するプログラムを
作成せよ。ただし、階乗を計算する関数のプロトタイプを「void kaiyo(int , int *)」
とし、第1引数にnを、第2引数に計算結果を格納する変数のポインタを指定すること。
[3] 環境
 [3.1] OS: Linux
 [3.2] コンパイラ名とバージョン: gcc
 [3.3] 言語: C++
[4] 期限: 2010年1月28日木
[5] その他の制限: よろしくお願いします

246:デフォルトの名無しさん
10/01/27 17:32:11
>>245
#include <iostream>
void kaiyo(int , int *);
int main() {
int n, ret;
std::cin >> n;
kaiyo(n, &ret);
std::cout << ret;
}
void kaiyo(int n, int *ret) {
*ret = 1;
for (int i = 1; i <= n; i++) {
*ret = *ret * i;
}
}

247:デフォルトの名無しさん
10/01/27 17:47:37
>>246
ありがとうございます!

248:デフォルトの名無しさん
10/01/27 17:55:11
>>234
よくこんな糞問題に手を出すなぁw

show()が2つあるのはソート前後の比較用でしょ
ソート途中を示すものじゃないと思うよ
N=10000でもエディタの設定で折り返しなしにすれば
見れないことは無いけど1行8000バイトだからひどいもんだ

249:デフォルトの名無しさん
10/01/27 18:02:03
>>242
main() を書きましたか?

250:デフォルトの名無しさん
10/01/27 20:23:38
[1] 授業単元:情報処理演習
[2] 問題文(含コード&リンク):
次のプログラムで作成される縞パターンを縦にした画像を作成するプログラムを作成せよ
URLリンク(kansai2channeler.hp.infoseek.co.jp)
[3] 環境
[3.1] OS: (Windows/Linux/等々)
Linux
[3.2] コンパイラ名とバージョン: (gcc 3.4 VC 6.0等)
gcc 3.4
[3.3] 言語: (C/C++/どちらでも可 のいずれか)
C
[4] 期限: ([yyyy年mm月dd日hh:mmまで] または [無期限] のいずれか)
提出期限2010年1月29日
[5] その他の制限: (どこまで習っているか、標準ライブラリは使ってはいけない等々)
特にないです

よろしくお願いします。

251:デフォルトの名無しさん
10/01/27 21:09:22
>>250
txtでうpしてるのに何でインデント潰すの?
必要なスペースまで潰すのは嫌がらせ?

//if(i>=75 && i<=125){
if(j>=150 && j<=250){ //元々の数字がマジックナンバーなので好きに替えてくれ

252:デフォルトの名無しさん
10/01/27 21:11:05
sin のマクローリン展開とコンピュータ定義のsinとの誤差を求めよとの問題なのですが
エントリーポイントを定義しなければならないとエラーが出ているのですが解決方法がわかりません
#include <stdio.h>
#include <math.h>
#define gosa 0.00001
double sa(double x){
double d,dt;
int k;
k=1;
d=0;
dt=x;
d=d+dt;
while(1){
if(fabs(sa(x)-cos(x))<gosa)break;
}
dt=dt*(-1)/((k+1)*(k+2))*x*x;
k=k+2;
return fabs(sa(x)-cos(x));
}
int main(){
double x;
x=0.00;
while(1){
printf("x=%3f cosの差=%12f\n",x,sa(x));
x=x+0.01;
if(x<=1.00)break;
}
}
どうかよろしくお願いします
計算式が間違ってる・・・とかはスルーして貰って結構です
[3] 環境 [3.1]windows vista[3.2] visual C++ 2008[3.3] C++[4] [無期限]

253: ◆QZaw55cn4c
10/01/27 21:21:49
>>145
URLリンク(codepad.org)
期限切れでしたか。残念です。

254:デフォルトの名無しさん
10/01/27 21:34:44
>>249
#include <iostream>
using namespace std;
char score(int sc){
if(sc>=90) return 'S';
if(sc>=80) return 'A';
if(sc>=60) return 'B';
return 'C';
}
mainをどこに入れるんですか?

255:デフォルトの名無しさん
10/01/27 21:35:57
依頼者が見てるか確認してから貼るのがマナーだよん
見てるかどうか確かめても返事がない場合や、見てそうにも
ない場合で、世間を騒がせたまま逃げ出した依頼者の尻拭い
をしたいという気持ち(大抵の場合は杞憂)でコードを貼る
場合はアンカーは>>1にしようぜ

256:デフォルトの名無しさん
10/01/27 21:43:16
>>252
スレタイ嫁
hello worldからやり直して貼り付けろカス

257:デフォルトの名無しさん
10/01/27 21:44:21
>>254
URLリンク(codepad.org)
問題自体は関数を実装せよ、ということでしたから、回答者は関数 score() だけを回答した(と思います)のですが、
実際に score() の動作を確かめたいというのであれば、こんな感じで main() から書かないといけないでしょうね。

>>255
> 依頼者が見てるか確認してから貼るのがマナーだよん
そんなマナーがあるのですか?そんなマナーにどんな意味があるのですか?

258:デフォルトの名無しさん
10/01/27 21:49:36
>>252
エラーは要約しないで、丸ごとコピペしろ。


259:デフォルトの名無しさん
10/01/27 22:05:15
>>257
プログラムを作成せよじゃないから多分そうですね。一応、>>236はどうすると実行ができますか?

260:デフォルトの名無しさん
10/01/27 22:23:44
>>253
いえいえ!ありがとうございます!!

261:デフォルトの名無しさん
10/01/27 22:33:34
>>200
順列を生成するクラスだけで十分そうなので、後はご自分でどうぞ。
URLリンク(kansai2channeler.hp.infoseek.co.jp)

262:デフォルトの名無しさん
10/01/27 22:38:52
>>261
next_permutation使えば?
C限定ならまだ分かるけど。

263:デフォルトの名無しさん
10/01/27 22:48:15
>>262
それは>>200の人に言ってあげてください。

264:デフォルトの名無しさん
10/01/27 22:49:39
>>263
>[3.3] 言語: C++
>[5] その他の制限: 特にありません
え?

265:デフォルトの名無しさん
10/01/27 22:50:58
>>264
だから>>200の人に言ってあげてください。

266:200
10/01/27 22:54:07
>>261
うおおーありがとうございます!
Cの最低限しか学んでないんで
C++っぽいclassとかの使い方の勉強にもなります。

>>262
ぐぐるとそれ使えばいけそうですね。ありがとうございます!

いやーそうか、やりたいことのキーワードで検索すれば
ライブラリであったりするんだな。
今回は順列でpermutationか。
そういった意味でも勉強になりました。ありがとうございました!

267:デフォルトの名無しさん
10/01/27 22:58:38
>>252
これで動くと思うけど問題の意味を取り違えてるような
あとなぜかcosが出てきたけどsinに書き換えといた。
#include <stdio.h>
#include <math.h>
#define gosa 0.00001
double sa(double x){
double d,dt;
int k;
k=1;
d=0;
dt=x;
d=d+dt;
while(1){
if(fabs(d-sin(x))<gosa)break;
dt=dt*(-1)/((k+1)*(k+2))*x*x;
d=d+dt;
k=k+2;
}
return fabs(d-sin(x));
}
int main(){
double x;
x=0.00;
while(1){
printf("x=%3f sinの差=%12f\n",x,sa(x));
x=x+0.01;
if(x>1.01)break;
}
}

268:デフォルトの名無しさん
10/01/27 22:58:43
>>265
え?理由は?

269:デフォルトの名無しさん
10/01/27 23:40:40
>>268
理由は、必要としているのは私ではないから。
便利な道具があることを教えるのもいいことだと思います。
個人的には、(テーマが「宿題」ということもあり)ブラックボックスのままよりは、
多少勉強のネタになる状態で提供するのも、悪くはないかなという意見ですが。

270:200
10/01/27 23:52:51
わたし非常に勉強になりましたのでいいじゃないですか!

271:デフォルトの名無しさん
10/01/28 00:15:16
>>269
えと、あなたのレスに疑問を抱いたのに
質問者にあれこれ問い質しても意味不明ですよね?
自分が学生時代のころは
特に明記の無い限り標準関数の車輪は減点対象でしたので。


272:デフォルトの名無しさん
10/01/28 01:07:12
>>270
私もちょっと困惑気味…

>>271
「next_permutation使えば?」と言われましたが、使う機会の無い私に言われるのも
意味不明ですから、質問者へのアドバイスとして言われればよいと判断したまでです。
また、何が減点対象で何が加点対象かは、時代背景も無いとはいいませんが、主には
講義や目的や教授の方針に依るよるでしょうから、質問者が適切に判断されれば良いと
思いますけれど。車輪を自分で発明をするのも勉強のうちですし。

273:デフォルトの名無しさん
10/01/28 01:12:27
「講義や目的や」は「講義の目的や」の間違いです。すみません。

274:デフォルトの名無しさん
10/01/28 01:24:25
基本的にここ、質疑応答スレじゃないんで。
知力、実力共に実態が質問者と教授回答者
であっても、形式的かつ論理的かつ法的には
依頼者と作業実行者の関係になります。

275:デフォルトの名無しさん
10/01/28 01:32:55
要するに宿題代行を依頼する人もコード記述を代行する人も
かかる行為が世に100%賛同されているとは
言い切れないという認識は常に頭の片隅にでも...

276:デフォルトの名無しさん
10/01/28 02:09:45
>>272
明らかな糞ソースを張って突っ込みが入ったとしても
苦情は質問者に言ってくれ!ってことね。おkw

277:デフォルトの名無しさん
10/01/28 02:10:52
誰か>>259を教えてください

278:デフォルトの名無しさん
10/01/28 02:18:28
依頼者が代行者のコードに苦情を言うのはマナー違反
だが程度問題

偶然の別代行者が代行者のコードを見てあれこれ
アドバイスするのは美徳でないとは言い切れない。

別の代行者からコードを受け取ったことがわかって
いる時点でコードを渡すのは美徳とは言い切れない。

複数の代行者が同調していたとしても
依頼者の依頼の仕方が悪いと決めつけられ
るかは状況依存

279:デフォルトの名無しさん
10/01/28 02:33:20
>>278
不毛だな
宿題スレ代行者のレスを添削するスレ
とか出来そうだ

280:233
10/01/28 03:01:29
>>236で回答もらったんですがboolってやつを習ってないんですよね…double.int.charとかは習ったんですが…しかしそれ以外だと出来ないとするとそれが正解ですよね

281:デフォルトの名無しさん
10/01/28 07:41:59
>>280
bool を int に置き換えればOK

282:デフォルトの名無しさん
10/01/28 16:20:52
>>281
それをintに変えたんですが>>257で書いてもらった感じで実行もするんですよね…

283:257
10/01/28 18:04:29
>>282
ん、そうです。自力でかけば力がつくことでしょう。

284:デフォルトの名無しさん
10/01/28 18:16:16
>>283
これじゃダメなんですよね…

#include <iostream>
using namespace std;
int even(int num) {
if(0 == sc%2) {
return true;
}
return false;
}


285:デフォルトの名無しさん
10/01/28 18:25:57
>>284
int main() から実行されますから、int main() を書かなくてはいけません。>>257 をちょっと変えればいいです。がむばってください。

286:デフォルトの名無しさん
10/01/28 18:26:41
>>284
じれったいw
boolをintに書きかえれ、と教えてもらってるでしょうに。
booをintに。
bool even(int sc){
return (sc%2 == 0);
}

int even(int sc){
return (sc%2 == 0);
}
に。

287:デフォルトの名無しさん
10/01/28 18:26:56
>>284
//int even(int num) {
int even(int sc) {
にしましょう

true/falseで返すなら
bool even(int sc) {
にしたほうがいいと思います。

int even(int sc) {
ならば
return 1;
return 0;
としたほうがいいと思います。


288:286
10/01/28 18:30:39
あ、失礼。
元々、
>>233
> [2] 問題文(含コード&リンク): 入力された数字が偶数なら、trueを返す関数。それ以外ならfalse
>  [3.3] 言語:C++

なのか。だったら
bool even(int sc){
return (sc%2 == 0);
}
か。

289:デフォルトの名無しさん
10/01/28 18:33:01
>>288
return に括弧はいらない。

290:デフォルトの名無しさん
10/01/28 18:41:19
自分で書いて使うだけなら括弧はいらないが、
省略する癖はつけないほうが良い

291:デフォルトの名無しさん
10/01/28 18:43:15
だからといって
return (0)とか
return (1.0)とか
return ("aho-desuka?")
とかはやり過ぎ
式には括弧を付ける癖をつけましょう

失礼しました

292:デフォルトの名無しさん
10/01/28 18:50:37
#include <iostream>
using namespace std;
int even(int sc){
return (sc%2 == 0);
}
int main() {
int num;
cout << "> ";
cin >>num;
cout << even(num);
return 0; }

これじゃダメなんですよね…boolっていうの使えないからもう滅茶苦茶ですよね

293:デフォルトの名無しさん
10/01/28 18:52:44
return 0とかreturn 1とかは何か習ったみたいですがboolとかどこにもないんですよね

294:デフォルトの名無しさん
10/01/28 19:14:32
>>292
#include <iostream>
using namespace std;
bool even(int sc){
return sc%2==0;
}
int main(){
int num;
cout << ">";
cin >> num;
cout << boolalpha << even(num) << endl;
return 0;
}

習っていようがいまいが、true/falseで返せってのはboolを使えと言う事だから使うしかない。

295:デフォルトの名無しさん
10/01/28 19:55:20
1] 授業単元:プログラミング演習
[2] 問題文(含コード&リンク):
URLリンク(kansai2channeler.hp.infoseek.co.jp)
[3] 環境
[3.1] OS:Windows Vista
[3.2] コンパイラ名とバージョン: gcc
[3.3] 言語: C++
[4] 期限:2010年1月29日16:00まで
[5] その他の制限: 特にありません
よろしくお願いします。

296:デフォルトの名無しさん
10/01/28 19:57:42
[1] 授業単元:プログラミング演習
[2] 問題文(含コード&リンク):
10個の要素を持つ動的な整数配列を作るプログラムを作成しなさい。
動的な配列へのポインタを整数ポインタに代入しなさい。
次に、ポインタ算術または配列の添字を使って、1から10までの値を配列を構成する整数に代入しなさい。
最後に、代入した値を表示し、メモリを解放しなさい。
[3] 環境
[3.1] OS:Windows Vista
[3.2] コンパイラ名とバージョン: gcc
[3.3] 言語: C++
[4] 期限:2010年1月29日16:00まで
[5] その他の制限: 特にありません
よろしくお願いします。

297:デフォルトの名無しさん
10/01/28 20:01:53
>>294
三行目に書いたところは、scじゃなくてnumでした。すみません。boolalphaってなんですか?

298:デフォルトの名無しさん
10/01/28 20:04:45
>>296
#include <iostream>
int main() {
int *p = new int[10]; // 動的な配列へのポインタを整数ポインタに代入
for (int i = 0; i < 10; i++) {
p[i] = 1 + i; // ポインタ算術または配列の添字を使って、1から10までの値を配列を構成する整数に代入
}
for (int i = 0; i < 10; i++) {
std::cout << p[i] << std::endl; // 代入した値を表示し
}
delete p; // メモリを解放
return 0;
}

299:デフォルトの名無しさん
10/01/28 20:28:30
[1] 授業単元:コンピュータリテラシー
[2] 問題文(含コード&リンク):
あるファイルの名簿を呼びだし、名前もしくは名字で検索しその結果を新しいファイルに保存する。あるファイルの名簿は特に決められていない。
URLリンク(kansai2channeler.hp.infoseek.co.jp)
[3] 環境
[3.1] OS:Windows Vista
[3.2] コンパイラ名とバージョン:BCC Developer Borland C++ 5.5.1
[3.3] 言語:C++
[4] 期限:2010年1月29日12:00まで]
[5] その他の制限: 上記のプログラミングの他に fp while float else puts gets
strlen strcpy strcat  以外は使用しないでください。授業で習っていないので…
よろしくおねがいしまつ。
PC規制で携帯からですみません…

300:デフォルトの名無しさん
10/01/28 20:38:42
>>295
URLリンク(kansai2channeler.hp.infoseek.co.jp)


301:デフォルトの名無しさん
10/01/28 20:40:23
>>193
今更なんですが、『厳密解』って所に『double exact=63』ってあるんですが、これを計算するプログラムを作るんじゃないんですか?これをプログラムに書いてもいいんですかね?

302:301
10/01/28 20:42:52
でも
//厳密解 の部分は出力される結果は同じですね。入れるとどう違うんですか

303:298
10/01/28 20:43:48
て、訂正! >>296さん気をつけて。

×delete p; // メモリを解放
○delete[] p; // メモリを解放


304:デフォルトの名無しさん
10/01/28 20:44:22
>>301
大丈夫?中学校からやり直す?

305:デフォルトの名無しさん
10/01/28 20:52:41
>>304


306:デフォルトの名無しさん
10/01/28 20:56:54
ごめんなさい。納得しました

307:デフォルトの名無しさん
10/01/28 20:57:01
[1] Cプログラミング入門:
[2] URLリンク(kansai2channeler.hp.infoseek.co.jp)
[3] 環境
 [3.1] OS: Linux
 [3.2] gcc(すいませんバージョンがわかりません)
 [3.3] 言語:C
[4] 期限: 2010年1月31日23:59まで
[5] その他の制限: 特にないです。

お願いします。

308:デフォルトの名無しさん
10/01/28 21:10:31
>>299
> fp while float else puts gets
>strlen strcpy strcat  以外は使用しないでください。
その条件じゃオレには無理。

//(前略)
fin=fopen(filename1,"r");//fout=fopen(filename1,"r");
fout=fopen("kojin.txt","w");//fin=fopen("kojin.txt","w");

for(i=0;i<100;i++)
if(fscanf(fin,"%s%s%s%s",&date[i].myouji,&date[i].name,&date[i].jusho,&date[i].denwa)==EOF)break;

fclose(fin);//fclose(fout);
printf("名前もしくは名字=");
scanf("%s",&ss);
for(i=1; i<=5; i++){
if(strcmp(ss,date[i].myouji)==0){
//printf("%s %s %d %d\n",date[i].myouji,date[i].name,date[i].jusho,date[i].denwa);
fprintf(fout,"%s %s %d %d\n",date[i].myouji,date[i].name,date[i].jusho,date[i].denwa);
k=k+1;
}

if(strcmp(ss,date[i].name)==0){
//printf("%s %s %s %s\n",date[i].myouji,date[i].name,date[i].jusho,date[i].denwa);
fprintf(fout,"%s %s %s %s\n",date[i].myouji,date[i].name,date[i].jusho,date[i].denwa);
k=k+1;
}
}
fclose(fout);//fclose(fin);
}


309:デフォルトの名無しさん
10/01/28 21:21:00
[1] C言語プログラミング演習(大学任意科目)
[2] コマンドラインで指定された各テキストファイルに対して個別に以下の処理を行うCプログラムを作成
☆テキストファイルを通読し、各行のインデント深度の最大値を求める(それをNとおく)
☆テキストファイルの先頭から再度読み出し、それぞれの行についてインデント深度がnなら
ば、インデント深度をN-nに変更したものを標準出力する。
☆新しいテキストファイルのNが判明した時点で、その改行とファイル名、改行を標準出力する。
ここでインデント深度とは、行頭からタブ、空白以外の文字が現れるまでがn回(n>=0)現れた場合
深度=nとする。
[3]
[3-1] Windows XP Professional Edition
[3-2] Visual-C++ 6.0 SP6
[3-3] C言語
[4] 2/1迄
[5] stdio.hを使用可 (他は暗黙的にNG)


次ページ
最新レス表示
スレッドの検索
類似スレ一覧
話題のニュース
おまかせリスト
▼オプションを表示
暇つぶし2ch

4946日前に更新/264 KB
担当:undef