C/C++の宿題片付けます 156代目at TECH
C/C++の宿題片付けます 156代目 - 暇つぶし2ch1:デフォルトの名無しさん
12/02/03 22:43:17.22
あなたが解けないC言語/C++言語の宿題を片付けもらうスレッドです。気に入らない質問やその他の発言はスルーの方向で。

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

2:デフォルトの名無しさん
12/02/03 22:43:42.78
【質問テンプレ】
[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] その他の制限: (どこまで習っているか、標準ライブラリは使ってはいけない等々)
【アップローダー==ラウンジ】(質問が長い時はココ使うと便利 回答者もコードが長ければここに)
URLリンク(s2.etowns.slyip.net)
URLリンク(codepad.org) ←遅い時間は重い事があります
URLリンク(ideone.com)
URLリンク(pastebin.com) ←たまにテンポるので上の2つが混んでいる時以外はなるべく使わないで下さい
【C 関数検索 man on WWW】 URLリンク(www.linux.or.jp)
【過去ログ検索】        URLリンク(chomework.sakura.ne.jp)
【wiki】               URLリンク(www23.atwiki.jp)
前スレ
C/C++の宿題片付けます 155代目
スレリンク(tech板)

3:デフォルトの名無しさん
12/02/03 22:51:40.33
>>1-2
おつかれさまー

4:デフォルトの名無しさん
12/02/03 22:53:59.82
NG推奨:◆QZaw55cn4c
自分勝手な仕様変更をしたり正常に動作しないコードを書くなどするうえに
無駄な煽りを行う要注意人物

5:デフォルトの名無しさん
12/02/04 08:49:40.39
幹より太くなる枝はない。「本木に勝る末木なし」で検索

6:デフォルトの名無しさん
12/02/04 09:09:53.01
テンプレは>>1-2だけです。できる限り、問題の提出と解答だけが
並ぶように運用しましょう。これレスも含めて余計なちょっかいには
スルーを。

7:デフォルトの名無しさん
12/02/04 20:08:51.74
[1] 授業単元:C言語
[2] 問題文 初期状態をファイルより読み込みライフゲームを実行しなさい
[3] 環境
 [3.1] OS: Windows7
 [3.2] コンパイラ名とバージョン: VisualStudio2010
 [3.3] 言語: C言語
[4] 期限: 2/5
[5] その他の制限: ライフゲームの作成です。セルの生死を判定するための条件付けをうまく記述することができません。
他にもツッコミどころ満載ですがどなたか指摘していただけると助かります。お願いします
URLリンク(ideone.com)
次スレがあるにもかかわらず前スレに書き込んでしまいました。こちらに再度書き込みさせていただきます

8:デフォルトの名無しさん
12/02/04 22:00:37.56
>>7
URLリンク(ideone.com)

9:デフォルトの名無しさん
12/02/05 00:00:07.14
>>7
>次スレがあるにもかかわらず前スレに書き込んでしまいました
前スレがまだ埋まってないにもかかわらず次スレに書き込んでしまいました
だろ なんでこっちに書くんだよ

10:デフォルトの名無しさん
12/02/05 14:37:42.77
>>7です。申し訳ありませんいただいたコード参考にさせていただきます有難うございました

11:デフォルトの名無しさん
12/02/05 16:48:15.28
[1] 授業単元:C言語
[2] 問題文:狼と山羊とキャベツと男 (深さ優先探索)
[3] 環境
 [3.1] OS: ubuntu linux
 [3.2] コンパイラ名とバージョン:gcc
 [3.3] 言語: C言語
[4] 期限: 2/5
よろしくお願いします。

12:デフォルトの名無しさん
12/02/05 16:49:35.29
>>11です。
リンク貼るのを忘れました。
URLリンク(ideone.com)

13:デフォルトの名無しさん
12/02/05 16:50:59.10
>>11
>[2] 問題文:狼と山羊とキャベツと男 (深さ優先探索)

これじゃあ無理。
問題文は、出題された内容をそのまま書け。

14:デフォルトの名無しさん
12/02/05 17:25:16.49
>>13
問題は詳しく載っていませんでしたが、このサイトが詳しかったです。
URLリンク(www.geocities.jp)
すいません...

15:デフォルトの名無しさん
12/02/05 18:39:53.33
>>14
>>1
>・問題文は、出題されたまま全文を書いてください。

重要なのは仕様。
他言語で書いてるのと、今回の宿題とが同じ仕様かどうか判断ついてないだろ?

16:デフォルトの名無しさん
12/02/05 18:46:38.54
狼と山羊とキャベツと男

17:デフォルトの名無しさん
12/02/05 18:54:34.80
URLリンク(r27.jp)
Problem of the Wolf, Goat, and Cabbage. - 旅人と狼と山羊とキャベツ : クイズ&パズルの部屋「Quizzical Days.」
URLリンク(r27.jp)

18:デフォルトの名無しさん
12/02/05 19:56:20.34
>>15>>本当に他に説明ないのですよ。


19:デフォルトの名無しさん
12/02/05 20:45:06.26
どうやって出題されたんだよw
無言でソース渡されたのかw

20:デフォルトの名無しさん
12/02/05 22:23:48.58
>>19
こういうことですかね・・・

、「狼・山羊・キャベツ・男」の問題を幅優先探索を使って解くプログラムを作成してもらいます。
プログラムはC言語で作成してもらえればどのようなものでも構わない。
0: [ 男狼山羊キャベツ] [ ]
1: [ 狼キャベツ] [ 男山羊]

?: [ ] [ 男狼山羊キャベツ]
のように移動する過程が分かるように左岸と右岸にいるものをステップごとに表示するようにしてください。

21:デフォルトの名無しさん
12/02/05 22:27:14.89
>>20
お前がそのように想像するなら、その想像にしたがって作ってやればいいじゃないか。

22:デフォルトの名無しさん
12/02/05 22:42:26.57
URLリンク(ideone.com)
これを直せと言うことじゃない?


23:デフォルトの名無しさん
12/02/05 22:46:34.85
要するに、
そこのperlスクリプトを移植してくれ!!!!!
って話だろ
話の中身はカンタンだよ

24:デフォルトの名無しさん
12/02/05 22:59:10.57
>>11,20
URLリンク(ideone.com)

25:デフォルトの名無しさん
12/02/05 23:12:21.45
前スレ975です

「標準ライブラリ」は使わないっていう条件は間違えです。すみません。

改めてお願いします。


[1] 授業単元:プログラミング
[2] 問題文(含コード&リンク):2つの文字列(s[1][3]={"abo"},t[3][1]={"b","c","a"})の中で同じ文字があったらその文字を表示し、
                 なかったら同じ文字はないことを表示するプログラムを作れ。
[3] 環境
 [3.1] OS: Windows
 [3.2] コンパイラ名とバージョン: gcc 3.4
 [3.3] 言語: C
[4] 期限: 2月6日まで


26:デフォルトの名無しさん
12/02/05 23:47:46.75
>>24
ありがとうございます。
感謝しきりです。
拙い説明で誤解や説明足らずで申し訳ありませんでした。

27:デフォルトの名無しさん
12/02/05 23:53:46.04
>>25
このsとtの定義の仕方すごく気持ち悪い
特にtのほうはRAM破壊してるんじゃないかと疑ってしまう
tはchar*にすべきだったのか?
URLリンク(ideone.com)

28:デフォルトの名無しさん
12/02/05 23:55:53.55
>>27
お前さんの勉強不足

29:デフォルトの名無しさん
12/02/05 23:58:28.71
>>28

30:デフォルトの名無しさん
12/02/06 00:06:13.63
>>25の問題考えたやつプログラミングしたことないだろ
3決めうちとか'\0'どこ行くんだよとか
またクズ養成校か

31:デフォルトの名無しさん
12/02/06 00:12:47.98
>>28
まじか、不足してる点が分かるなら何を調べればいいか教えてほしい
疑問はtの定義で右辺の'\0'の行き場が左辺にないことなんだけど

32:31
12/02/06 00:38:50.45
おお、JISを読んでたら確かに正しそうということが分かった
ヌル文字は空きがあるときだけくっつくのね

以下引用(JISX3010 6.7.8 初期化)
>文字型の配列は,単純文字列リテラルで初期化してもよい。それを波括弧で囲んでもよい。単純文字列
>リテラルの文字(空きがある場合又は配列の大きさが分からない場合,終端ナル文字も含めて。)がその配
>列の要素を前から順に初期化する。

33:デフォルトの名無しさん
12/02/06 00:39:58.59
#include<stdio.h>
#define N 10
#define M 3
char s[1][N]={"abo"};
char t[M][1]={"b","c","a"};
int main(){
  int i,j,count=0;
  for(i=0;i<N;i++) for(j=0;j<M;j++)
    if(s[0][i]==t[j][0]){
      printf("%c ",s[0][i]);
      t[j][0]='\0';
      count++;
    }
  if(count==0) printf("*not match*");
  printf("\n"); return 0; }

34:デフォルトの名無しさん
12/02/06 00:57:26.52
[1] 授業単元:C言語
[2] 問題文:狼と山羊とキャベツと男 (幅優先探索)
URLリンク(ideone.com)
[3] 環境
 [3.1] OS: ubuntu linux
 [3.2] コンパイラ名とバージョン:gcc
 [3.3] 言語: C言語
[4] 期限: 2/6
何卒よろしくお願いします。
よろしくお願いします。

35:デフォルトの名無しさん
12/02/06 01:00:16.04
>>34
>>11
>>24

この先生って本当に無言で問題を出したのだろうか・・・?

36:デフォルトの名無しさん
12/02/06 01:04:11.56
>>34
おお間違えたすまん
今度は幅優先なのね

37:デフォルトの名無しさん
12/02/06 05:13:08.91
[1] 授業単元:C言語 演習
[2] 問題文:
目的:do文とwhile文の使い分けができる.
e^xをマクローリン展開すると
e^x= Σ[n=0,∞] x^n/n^2
となる.これより,x=1とすると,自然対数の底eの値を求めることができる.
そこで,マクローリン展開を用いて,eの値を小数第7位まで求めなさい.
また,math.hに含まれている関数exp()より求められる値と比較しなさい(差も求めること).
※n番目までの合計とn+1番目までの合計の差の絶対値 (fabs())がε=1.0*10^-8
(C言語では1.0e-8)以下になるまで繰り返し計算すれば良い.
実行結果には各nのときのeの値も表示しなさい.
[3] 環境
 [3.1] OS:Linux
 [3.2] コンパイラ名とバージョン:gcc
 [3.3] 言語: C言語
[4] 期限: 2/13
お手数ですがよろしくお願いします。



38:デフォルトの名無しさん
12/02/06 11:59:33.24
>>37
>e^xをマクローリン展開すると
>e^x= Σ[n=0,∞] x^n/n^2
n=0だと∞になるけどこの式あってる?
分母はn!じゃなかったか?

39:デフォルトの名無しさん
12/02/06 13:03:43.88
>>34
>>20みたいに移動ステップ数を表示しようとすると
「/*** この部分を自分で作成する ***/」以外の箇所まで触る必要があるね
URLリンク(ideone.com)

40:デフォルトの名無しさん
12/02/06 13:18:42.35

[1] 授業単元:プログラミング
[2] 問題文(含コード&リンク):
URLリンク(codepad.org)
 [3.1] OS: Linux
 [3.2] コンパイラ名とバージョン: gcc
 [3.3] 言語: C
[4] 期限: 2月6日まで

クイックソートの問題です。
centerの値がうまく出力されません、どうぞよろしくお願いします。

41:デフォルトの名無しさん
12/02/06 13:39:36.68
>>25
本当にWindowsでgcc3.4なのかがあやしいんだけど。
意地悪な人だとその環境でしか動かせないコードを上げる場合があるよ

42:デフォルトの名無しさん
12/02/06 13:42:02.73
>>40
>・問題文は、出題されたまま全文を書いてください。
問題文は?何の説明もなく埋めろと言われたの?
centerとpivotてどう違うの?

43:デフォルトの名無しさん
12/02/06 14:54:07.99
>>40
大幅に書き換えれば動くだろう。
宿題じゃなく、自作プログラムのデバッグならそう書いてくれ。


44:デフォルトの名無しさん
12/02/06 15:41:45.61
>>42
問題文がこれだけです
「クイックソートを完成させなさい.
ただし,以下の仕様を満たすものとする.

・最も左側の要素を軸とする.
・軸と等しい値は右側に移動する.
・関数void quick(int a[], int left, int right)の中で,leftがright以上になったときに,再帰処理を終了する.



あとはヒントとしてpartitionの例が示されていました

例が
1 iを数列の左端、jを数列の右端と設定
2数列を右に操作していき軸以上の数字がある位置iをみつける
3数列を左に操作していき軸以上の数字がある位置jをみつける
4i>=jならループを抜ける
5ij項を交換し2にもどる
6左端の軸とj項を交換する

return i;


とだけ書いてありました。

本当にこれ以外情報がありませんが、何卒よろしくお願いします。

45:デフォルトの名無しさん
12/02/06 17:21:45.18
[1] 授業単元: 情報処理
[2] 問題文(含コード&リンク):
(1)再帰を使って、異なるn個の整数からr個の整数を取り出す組み合わせの数 nCr を求める関数 int combination( int n, int r)を作成せよ
またこの関数を用いて 5Cr (r=0 ~ 5)を出力するプログラムを作成せよ。なお次の関係式を用いること。
nCr=n-1Cr-1+n-1Cr,nC0=nCn=1,nC1=n

(2) 3つのint型整数 n1, n2, n3を昇順( n1 < n2< n3 )に並べ替える関数 void sort3(int *n1, int *n2, int *n3)を作成せよ。 
この関数を用いて、main内で宣言された3つのint型整数 a1, a2, a3 の値を並べ替え 、その結果を表示するプログラムを作成せよ。 a1, a2, a3の初期値は、 a1=3, a2=1, a3=0とする。

(3)要素数n個のint型配列 a の各成分の値を2倍したものを別の配列bに代入する関数 void atob(int *a, int *b, int n) を作成せよ。ここでa,bにはポインタを用いること。
この関数を用いてint型配列 va=(1, 2, 1) の各成分の値を2倍したものを別の配列 vbに代入し、vbの各成分を出力するプログラムを作成せよ。

[3] 環境
 [3.1] OS: Windows
 [3.2] コンパイラ名とバージョン:
 [3.3] 言語: C++
[4] 期限:できれば今日中にお願いします。
[5] その他の制限:

よろしくお願いします。

46:デフォルトの名無しさん
12/02/06 17:34:23.39
[2] 問題文(含コード&リンク):
URLリンク(ideone.com)
上の物と、JISコード表(C言語風表記)のものを参考にして、小文字アルファベット(a~z)から成る文字列を読み取り、a~z各文字の出現回数を数えてその結果を出力するプログラムを作成せよ。
aから数えて n 番目の小文字アルファベットを出力するには putchar(‘a’+n) とすればよい。

[3] 環境
 [3.1] OS: Windows
 [3.2] コンパイラ名とバージョン:
 [3.3] 言語: C++
[4] 期限: すみませんが今日中でお願いします。
[5] その他の制限

この問題を貼るの忘れてました。よろしくお願いします。

47:デフォルトの名無しさん
12/02/06 17:44:43.43
[1] 授業単元:
[2] 問題文(含コード&リンク):
URLリンク(ideone.com)
上を参考にして、2次元配列として宣言された文字列 st[][6]に含まれる英字を全て大文字に変換する関数 strary_toupper( char st[][6], int n)を作成せよ、
ここで n は2次元配列stの行数を指定するものとする。
そして、strary_toupperを用いて、次のように宣言された文字列 char cs[][6] = {“turbo”, “na”, “dohc”}; の英字を全て大文字に変換し、変換後の文字列を表示するプログラムを作成せよ。

[3] 環境
 [3.1] OS: Windows
 [3.2] コンパイラ名とバージョン: (gcc 3.4 VC 6.0等)
 [3.3] 言語: C++
[4] 期限:
[5] その他の制限
お願いします。


48:デフォルトの名無しさん
12/02/06 18:10:16.62
>>45
URLリンク(ideone.com)

49:デフォルトの名無しさん
12/02/06 18:19:44.36
>>46
URLリンク(ideone.com)

50:デフォルトの名無しさん
12/02/06 18:31:45.90
>>48

ありがとうございます。
ただ申し訳ないのですが、コンパイルできません。
(1)を試してみたのですが、コンパイルできず下のようなメッセージが出ました。
なぜこうなるのかわかるようでしたら、教えてください。すみません。


Borland C++ 5.5.1 for Win32 Copyright (c) 1993, 2000 Borland
en11-01.cpp:
Turbo Incremental Link 5.00 Copyright (c) 1997, 2000 Borland
Error: 外部シンボル '_main' が未解決(Z:\DOCUMENTS\C\BCC55\LIB\C0X32.OBJ が参照)


51:デフォルトの名無しさん
12/02/06 18:40:55.50
<<49

ありがとうございます。
申し訳ないのですが、コンパイルはできたのですが、その後の動作させたところ
文字列の読み取りができません。お手数ですが、どうしてこうなるのか教えてください。

52:デフォルトの名無しさん
12/02/06 18:42:24.89
>>47
URLリンク(ideone.com)

53:デフォルトの名無しさん
12/02/06 19:05:07.64
>>51
読取終了は、Ctrl+D

54:デフォルトの名無しさん
12/02/06 19:06:10.32
>>48
>>49

お騒がせしました。解決しました。
本当にありがとうございました。

55:デフォルトの名無しさん
12/02/06 19:07:37.24
>>50
ideone.comでは動作してるから、環境の問題じゃないか?

56:デフォルトの名無しさん
12/02/06 19:22:21.40
2倍と2乗の区別はつけようぜ

57:デフォルトの名無しさん
12/02/06 19:30:16.70
>>54ですが、>>45に関してはうまくいったのですが、やはり>>46に関してうまく読み取りができません。
>>53の方がおっしゃるCtrl+Dも試しましたが、^Dとなるだけで読み取れませんでした。
やはり>>55の方がおっしゃるように環境の問題でしょうか?
わかる方がいましたら教えてください。
何度もすみません。

58:デフォルトの名無しさん
12/02/06 19:50:41.78
>>57
ファイル名にハイフンが入っているからとかじゃない?

59:デフォルトの名無しさん
12/02/06 20:13:15.12
Windowsだったら Ctrl-Z リターン

60:デフォルトの名無しさん
12/02/06 20:18:31.30
>>40ですが
URLリンク(ideone.com)
このようにプログラムをくんだのですが
partitionで右からの探索のときpivotと同じ値のときはよみすすめよるような
構造に変えたいのですが
60: while(j>=left && a[j]>=p) j--;
とかきかえると無限ループしてしまいます。
これを解消するためにはどこを直せばいいでしょうか?

61:デフォルトの名無しさん
12/02/06 20:22:27.90
>>59
ありがとうございます。
できました!

62:デフォルトの名無しさん
12/02/06 21:24:16.00
>>60
j > left

63:デフォルトの名無しさん
12/02/06 21:26:08.54
ああん、書き忘れ!

これと
if(0)
while(j>=left && a[j]>p) j--;
else
while(j>left && a[j]>=p) j--;

これを用意して
check(a, left, right, p, center);
printf(" quick(a=%p, left=%d, center-1=%d);\n", a, left, center-1);
quick(a, left, center-1);
printf(" quick(a=%p, center=%d, right=%d);\n", a, center, right);
quick(a, center, right);

出力の変化で違いを見ていったらすぐ分かったよ

64:デフォルトの名無しさん
12/02/06 21:34:07.58
もう、もうね、色々書き忘れ。

main() に return 0;がなかったのと、

int a[N] = {3, 8, 6, 0, 1, 7, 2, 9, 4, 5};
こうやってa[]を初期化した方が楽でしょうというのと、

scanf()で入力を読み取る場合でも、
こういうのを用意しておいて、
tech40.txt
3
8
6
0
1
7
2
9
4
5

gcc -Wall tech40.c -o tech40 -g && ./tech40 < tech40.txt
こうやって毎回入力する手間を省きましょう。

65:デフォルトの名無しさん
12/02/06 21:37:04.84
>>64
ありがとうございます、無事解決しました!!

66:デフォルトの名無しさん
12/02/06 21:39:31.02
個人的には>>62よりも>>63-64のdebugの仕方の方が重要なので、
debugの仕方を身につけて下さい。

67:デフォルトの名無しさん
12/02/06 21:39:57.56
話それるけど、ideaoneで無限ループ入ったらどうなるんだろうと
思ってやってみたら、ちゃんと実行時間で切ってるのね。。
log inなしユーザーだと5sなのか。disabledなチェックボックスは
そう言う意味だったのね。。
URLリンク(ideone.com)

クソレスでした

68:デフォルトの名無しさん
12/02/06 21:47:04.21
いや、出力の大きさっぽいよ
Usage

SIGXFSZ is sent to a process when it causes a file to grow larger than
the maximum allowed size, as determined by the ulimit system call and shell builtin.

69:デフォルトの名無しさん
12/02/06 22:21:57.03
>>64
書き忘れじゃなくて、後から見つけただけじゃないの?

70:デフォルトの名無しさん
12/02/06 22:24:17.88
>>67-68
URLリンク(ideone.com)

71:デフォルトの名無しさん
12/02/06 22:32:00.87
>>39さん
ありがとうございます。
感謝してます。
ただ、出力が
0: [ 男 狼 山羊 キャベツ ] [ ]
1: [ 狼 キャベツ ] [ 男 山羊 ]
2: [ 男 狼 キャベツ ] [ 山羊 ]
3: [ キャベツ ] [ 男 狼 山羊 ]
5: [ 男 山羊 キャベツ ] [ 狼 ]
7: [ 山羊 ] [ 男 狼 キャベツ ]
8: [ 男 山羊 ] [ 狼 キャベツ ]
9: [ ] [ 男 狼 山羊 キャベツ ]
6の数字が飛ばされて表示されるのですが、直してもらえないでしょうか。
自分では分かりませんでした。
URLリンク(ideone.com)



72:デフォルトの名無しさん
12/02/06 22:35:11.78
>>70
どっちもかな?
出力の大きさがある一定の大きさ以上になった場合と
経過時間が一定時間よりも長くなった場合

73:デフォルトの名無しさん
12/02/06 22:46:52.05
どっちも

74:デフォルトの名無しさん
12/02/06 22:52:22.67
>>72
そう

75:デフォルトの名無しさん
12/02/06 22:54:29.52
[2]問題文
次の1から3の全てを利用した自作ツールをひとつ作成してください。テーマは自由とします。
1 ポインタの利用
2 構造体の利用
3 Makefileを利用した分割コンパイル
簡単なところでは、UNIXコマンドの自作です。例えば、headやtailなど。
あるいは簡単な統計処理ツールの自作です。
ファイル処理やコマンドライン処理を使えば、ほぼ条件はクリアされます。
[3.1] OS: unix
[3.2] コンパイラ名とバージョン: gcc
[3.3] 言語: C
[4] 期限:2月7日(出来れば早めにお願いします)

この条件であれば何でも良いので良い例のプログラムを一つお願いします。

76:67
12/02/06 22:55:33.41
>>70
にゃるほどね。

77:デフォルトの名無しさん
12/02/06 22:58:18.76
>>67は出力の大きさ
>>70は実行時間の長さ

78:デフォルトの名無しさん
12/02/06 23:03:07.66
>>75
例えばdiffは
URLリンク(www.openbsd.org)
このページの
「Revision 1.57: download - view: text, markup, annotated - select for diffs」
のところのview: textでソース

URLリンク(www.openbsd.org)

79:デフォルトの名無しさん
12/02/06 23:15:58.10
>>75
その条件を満たしていれば「死ね」と表示するツールでもいいのだな。

80:デフォルトの名無しさん
12/02/07 01:07:32.40
>>71
>>39
>>>20みたいに移動ステップ数を表示しようとすると
>「/*** この部分を自分で作成する ***/」以外の箇所まで触る必要があるね
普通に考えると上記のとおり別の箇所で対応すべきだと思うが
/*** この部分を自分で作成する ***/の箇所のみで対応するとこんなとこか
URLリンク(ideone.com)

81:デフォルトの名無しさん
12/02/07 01:42:24.57
>>80さん
ありがとうございます。
こんなに懇切に対応してくださって感謝しきりです。
ありがとうございましたm(_ _)m

82:デフォルトの名無しさん
12/02/07 18:09:37.71
[1] C言語演習
[2] URLリンク(codepad.org) のプログラムを参考にして
次のようなプログラムを作成せよ。
① 名前の昇順に並べ替えるプログラム (A → Z)
② 3人分のデータをキーボード入力し、
 1.身長
 2.体重
 3.奨学金
それぞれの「昇順」と「降順」を選択して表示するプログラム
実行例 URLリンク(codepad.org)
[3.1] Windows7
 [3.3] C言語
[4] 2/8(水) 19時まで
どなたかよろしくお願いします。

83:デフォルトの名無しさん
12/02/07 21:06:50.73
[1] 授業単元: プログラミング
[2] 問題文(含コード&リンク):
自然数は4個の整数の立方数で表すことができると予想されている。 例えば70=(-21)^3+20^3+11^3、72=4^3+2^3。
このことを1000までの整数に対して確かめるプログラムを作成せよ。
効率よく探索しないとプログラムが停止しないので注意せよ。
[3] 環境
 [3.1] OS:Windows7
 [3.2] gcc 4.5.3
 [3.3] C
[4] 2月末まで

n = 1..1000
if (n is cubic) n = a^3; end;
else
_a=-n..n
_if(n-a^3 is cubic) n-a^3 = b^3; end;
_else
__b=-n..a
__if(n-a^3-b^3 is cubic) n-a^3-b^3 = c^3; end;
__else
__c=-n..b
___if(n-a^3-b^3-c^3 is cubic) n-a^3-b^3-c^3 = d^3; end;
のような感じにやってみたり総当たり戦くらししか思いつかないのですが
どちらもかなり時間が掛かってしまう上、n=31の場合など取りこぼしもしてしまいます
何か効率の良い方法はありませんでしょうか?長文で失礼致します


84:デフォルトの名無しさん
12/02/07 22:12:11.69
>>83
// 実行時間 13秒 これ以上早くする方法は分からない
#include <stdio.h>
#define NITEM(arr) (sizeof(arr)/sizeof(arr[0]))
typedef struct{
int element_num;
int element[4];
}answer_t;
int cubic[200];
answer_t answer[5000000]; // 571 を計算できるサイズ
void update(int from, int to, int new_elm){
if(to<0 || NITEM(answer)<=to) return;
if(answer[to].element_num>=0) return;
answer[to]=answer[from];
answer[to].element[answer[to].element_num++]=new_elm;
}
int main(void){
int i, j, k;
for(i=0;i<NITEM(cubic);i++) cubic[i]=i*i*i;
for(i=1;i<NITEM(answer);i++) answer[i].element_num=-1;
for(i=0;i<4;i++){
for(j=0;j<NITEM(answer);j++){
if(answer[j].element_num!=i) continue;
for(k=0;k<NITEM(cubic);k++){
update(j, j+cubic[k], k);
update(j, j-cubic[k], -k);
}
}
}
for(i=1;i<=1000;i++) printf("%4d : %.0d %.0d %.0d %.0d\n", i, answer[i].element[0], answer[i].element[1], answer[i].element[2], answer[i].element[3]);
return 0;
}

85:デフォルトの名無しさん
12/02/07 22:18:25.74
>>83
QZさんが解いてくれる。

86:デフォルトの名無しさん
12/02/07 22:31:14.16
ラグランジュの四平方定理
ヤコビの四平方定理

あたり

87:デフォルトの名無しさん
12/02/07 22:56:51.98
>>86
的外れすぎる

88:デフォルトの名無しさん
12/02/07 22:57:17.87
>>82
URLリンク(ideone.com)

89: ◆QZaw55cn4c
12/02/07 23:32:56.43
>>37
URLリンク(codepad.org)

>>85
>>84 が最速

90:デフォルトの名無しさん
12/02/07 23:37:12.94
>>89
ideoneのほうがいいよ
実行時間出るから

URLリンク(ideone.com)

91:デフォルトの名無しさん
12/02/08 00:09:34.53
>>84
こんなに早くありがとうございます
非常に助かりました

92:デフォルトの名無しさん
12/02/08 00:15:01.44
>>88
ありがとうございます。できれば①の方もお願いします。
(キーボードから入力する必要はありません。)

93: ◆QZaw55cn4c
12/02/08 00:36:05.64
>>90
たしかに。
標準入力を要求するコードでは特に便利で時々使っています。
スレリンク(tech板:839番)

94:デフォルトの名無しさん
12/02/08 00:39:42.81
>>93
ふつーにご存知ですよね。。失礼した

95:デフォルトの名無しさん
12/02/08 01:53:31.18
[1] ビット操作
[2] 問題文
入力された数値の先頭ビットを判定し、プラス/マイナスを表示する
*入力する変数はchar型で%d入力*
実行結果
数値入力==>10↓
プラスの値です

---------------
実行結果
数値入力==>-2↓
マイナスの値です

[3] 環境
 [3.1] OS:Windows
 [3.2] コンパイラ名とバージョン:CPad for Borland ver2.31
 [3.3] 言語:C
[4] 期限: 2012年2月8日16:00

よろしくお願いします

96:デフォルトの名無しさん
12/02/08 02:44:45.87
/* >>95 */
#include <stdio.h>

int main(void)
{
   char c;
   printf("数値入力==>");
   scanf("%hhd", &c);
   printf("%sの値です\n", (c & 128) ? "マイナス" : "プラス");
   return 0;
}


97:デフォルトの名無しさん
12/02/08 03:08:23.86
>>92
URLリンク(ideone.com)

98:デフォルトの名無しさん
12/02/08 07:20:40.57
>>96
ありがとうございます

99:デフォルトの名無しさん
12/02/08 08:46:52.37
>>97
ありがとうございました。助かりました。

100:25
12/02/08 18:40:20.08
ありがとうございました。

101:デフォルトの名無しさん
12/02/08 19:02:51.47
[1] 授業単元:C言語演習
[2] 問題文(含コード&リンク):文字列{"Osaka","Kyoto","Tokyo"}
関数①を2回呼び出して文字列(二次元配列)から2つの別々の文字列(一次元配列)を抜き出し、その文字列と文字数を表示せよ。
              また、その2つの文字列を関数②に渡し、2つの文字列内に同じ文字があればその文字を表示せよ。

              関数①x行目のy番目の文字からz個の文字を抜き出し、その抜き出した文字数を返す関数。
              (抜き出した文字数はNULL文字を含んだ文字数)
              関数②2つの文字列内に同じ文字があればその文字を返し、なければNULL文字を返す関数。
              x、y、zの値は自分で決めてよい。
[3] 環境
 [3.1] OS:Windows
 [3.2] コンパイラ名とバージョン:gcc
 [3.3] 言語:C
[4] 期限:2月9日まで
[5] その他の制限:文字列処理の標準関数は使用しないこと。

よろしくおねがいします。
何か質問があったら言ってください。

102:デフォルトの名無しさん
12/02/08 19:25:21.13
[2]問題文
次のソースプログラムをMakefileを利用した分割コンパイルで実行出来るよう組み替えなさい
URLリンク(codepad.org)
[3.1] OS: unix
[3.2] コンパイラ名とバージョン: gcc
[3.3] 言語: C
[4] 期限:2月8日 23時まで
分割コンパイルのコマンドもよくわからないため一緒に解説できたらおねがいします


103:デフォルトの名無しさん
12/02/08 19:34:12.42
>>102
それC言語プログラムの問題じゃないだろ。プログラムはすでに出来てるんだろ。
makeコマンドの使い方調べろ。

104:デフォルトの名無しさん
12/02/08 19:45:13.31
>>103
言葉足りませんでした このプログラムを2つのファイルに分割してa.outを生成するよう指示されています
分割したプログラムの作成がよく解らないのです

105:102
12/02/08 19:46:27.38
名前入れ忘れました >>104>>102です 連投すみません

106:デフォルトの名無しさん
12/02/08 20:46:38.66
>>104
>2つのファイルに分割して
どういう基準で分割するんだ
それによって話が変わる

107:102
12/02/08 21:01:20.04
>>106 すみません特になにも指示されておりません
ただmakefileを利用した分割コンパイルするために一つのプログラムを二つに分割してコンパイル出来るようにしろといわれてます

108:デフォルトの名無しさん
12/02/08 21:17:56.88
>>107
「a.out」を作ればいいってことだから、必要なソースファイル(.cのファイル)は1つだ
これを「a.c」としよう ←main関数をコピって入れとけ

それから構造体kyuuyo、syain_dtの宣言文をヘッダファイル「a.h」に移動させろ
んで、a.c側で#include "a.h"
ソースはそれで完成

makefileには
a.exe:
gcc a.c
とでも書いとけ

あとはmakeしたら「a.out」と「a.exe」ができるだろ、たぶん

109:デフォルトの名無しさん
12/02/08 21:19:25.33
何でa.exeなんだよ


110:デフォルトの名無しさん
12/02/08 21:22:42.53
コンパイルオプション指定すんのが面倒だったからだよ

111:デフォルトの名無しさん
12/02/08 21:27:56.81
話にならん

112:デフォルトの名無しさん
12/02/08 21:36:31.97
elf

113:デフォルトの名無しさん
12/02/08 21:42:40.32
>>101

疑問1:
>>関数①x行目のy番目の文字からz個の文字を抜き出し、その抜き出した文字数を返す関数。
「文字列を返す」だと思うが?
文字数を返すとなると、
>>また、その2つの文字列を関数②に渡し、2つの文字列内に同じ文字があればその文字を表示せよ。
の部分の、②に渡す文字列をどうやって取得するか不明。


疑問2:
関数②に、"yoto","kyo"を渡した場合、返す文字は"oo"?


114:102
12/02/08 21:51:29.41
>>108 ありがとうございました ぶじ完成しました

115:デフォルトの名無しさん
12/02/08 21:53:50.41
>>113
X >関数②に、"yoto","kyo"を渡した場合、返す文字は"oo"?
O >関数②に、"yoto","kyo"を渡した場合、返す文字は"yoo"?


116:デフォルトの名無しさん
12/02/08 22:05:38.03
>>101
URLリンク(ideone.com)

117:デフォルトの名無しさん
12/02/09 04:28:20.72
>>108
最低限依存関係は書いたほうがいいよ

118:名無し
12/02/09 16:31:20.52
URLリンク(www.wakayama-u.ac.jp)
このラジコンティーポットの動かすプログラミングをお願いします

119:デフォルトの名無しさん
12/02/09 16:39:31.27
>>118
バカがたくさんいるからバカ山大学なのか
覚えたぞ

120:名無し
12/02/09 16:58:06.58
ばかだから教えてください

121:デフォルトの名無しさん
12/02/09 16:59:24.84
>>118
後輩よ、焦る気持ちはわかるがまずはテンプレを読もうぜ

122:デフォルトの名無しさん
12/02/09 17:12:16.57
よそでも聞いてるからほっといていいよ

123:名無し
12/02/09 17:36:58.99
GLUTの宿題は無理ですか?

124:デフォルトの名無しさん
12/02/09 17:39:56.44
お前の態度が気に入らないだけだよ。

125:名無し
12/02/09 17:41:05.87
すみません

126:名無し
12/02/09 18:14:57.01
宿題お願いします

127:デフォルトの名無しさん
12/02/09 18:31:45.07
良さげな先生なので、床井研究室にメールだせばいいのかね?

128:名無し
12/02/09 18:53:05.63
[1] 授業単元:GLUT
[2]URLリンク(www.wakayama-u.ac.jp)ラジコンティーポットの操作
[3] 環境
 [3.1] OS: ubuntu linux
 [3.2] コンパイラ名とバージョン:gcc
 [3.3] 言語: C言語
[4] 期限: 2/9(今日)
よろしくお願いします。


129:デフォルトの名無しさん
12/02/09 19:37:18.04
おことわりします

130:名無し
12/02/09 19:40:29.09
そうですか

131:デフォルトの名無しさん
12/02/09 20:30:41.47
ubuntuに最初からopenGLとか入ってるモンなのか?
もしかすると環境構築からはじめなきゃあ行けないとかいうアホな相談を持ちかけてんのかこのアホクズは?

132:デフォルトの名無しさん
12/02/09 20:46:33.52
大学のURLを貼るとか馬鹿かよ
知恵袋でカンニングして逮捕されたアホと同じだわ

133:デフォルトの名無しさん
12/02/09 21:27:57.05
>>131
研究室サイトには、インストール方法載ってるから、がんばれ

134:デフォルトの名無しさん
12/02/09 21:35:38.86
どこのページだよwww
そんくらい載せろよkswwwww
そんなんだからAFOなんだよw
めんどくせーなー
とか言われて投げられるのがオチだろ


135:デフォルトの名無しさん
12/02/09 21:38:20.69
弱い者たちが夕暮れさらに弱い者を叩く

136:デフォルトの名無しさん
12/02/09 21:41:08.22
>>134
URLリンク(www.wakayama-u.ac.jp)
教えたぞ、頼むw

137:デフォルトの名無しさん
12/02/09 21:44:48.32
これ暗黙のうちにサラリとvisualstudio2008インストールしろとか言ってるよな?
その説明サイトはどこよアホ
ぬかりなくやれよ 時間と資源の無駄だ葛


138:デフォルトの名無しさん
12/02/09 21:45:37.91
>>131
$ sudo apt-get install freeglut3-dev
するだけじゃね?1分も掛からないよ

139:デフォルトの名無しさん
12/02/09 21:47:44.08
>>138
そうならそうとそれを初めっから書けばいいじゃんwwww


140:デフォルトの名無しさん
12/02/09 21:49:40.33
>>139
deb系OSでGLUT使うなら常識じゃん
それすら知らない人に聞いたってしょうがないじゃん

141:デフォルトの名無しさん
12/02/09 21:54:23.14
>>140
アホじゃねおめー
それなら>>138の文言はいらねーだろwww

分かる人ならすでに入っているしやり方も知ってる、
そんな人間に>>138なこと書いても意味が無いと自分?で言ってる、
おめーの脳みそアホの塊で出来てんのか?


142:デフォルトの名無しさん
12/02/09 21:55:32.91
で、やるのかね、やらないのかね

143:デフォルトの名無しさん
12/02/09 22:01:05.80
>>141
140は質問する立場からしたらってこと
138は単に131を馬鹿にしてるだけ

144:デフォルトの名無しさん
12/02/09 22:08:53.43
やるべき事はやっといた。
URLリンク(marina.sys.wakayama-u.ac.jp)

145:デフォルトの名無しさん
12/02/09 22:16:56.83
説明読んで、とりあえず、仮想ジョイスティックまでは組んだが、
眠いので寝るw


146:デフォルトの名無しさん
12/02/09 22:26:01.57
[1] 授業単元:C言語
[2] 問題文(含コード&リンク):
URLリンク(codepad.org)
ハッシュ表を用いて単語とその出現回数を登録し、
さらに単語の出現回数順にソートするソート関数を作成せよ。
[3.1] OS:Mac
[3.2] コンパイラ名とバージョン:gcc
[3.3] 言語:C
[4] 期限:2月11日まで

基本的な骨格は出来ましたが、ソートの関数が作れませんでした。
よろしくお願いします。

Macのターミナルを利用してテキストファイルを読み込み、単語(基本的に英単語)を登録します。

147:デフォルトの名無しさん
12/02/09 22:27:35.69
コードでエラーが出てますが、最初に定義したSIZEという数をMAXWORDに変えるのを忘れたために起こってます。

148:デフォルトの名無しさん
12/02/09 22:28:20.84
サンプルテキストくらい付けろks

149:デフォルトの名無しさん
12/02/09 22:51:49.95
>>146
間違っていたら悪いけれど、
ハッシュ表を用いてないように思える。
連想リストになってる?

150:デフォルトの名無しさん
12/02/09 23:00:22.03
perlerならハッシュはハッシュとしか言いよう無い
この文脈ではハッシュはハッシュ関数


151: ◆g/ZMVdytmo
12/02/09 23:12:05.16
[1] 授業単元:プログラミング演習
[2]複数の人の名前と体重、身長を質問してBMI値を計算して、「名前、体重、身長、BMI値、判定結果(やせている、普通、肥満、等)」をファイルに保存しなさい。
人数は最初に質問して入力させること。
実行の結果作成されたファイルは、メモ帳などで開いて内容を確認すること。
BMI値が20未満なら「やせています」、20~24未満なら「普通です」、24~26.5未満なら「やや肥満です」、26.5以上なら「肥満です」と判定すること。
身長と体重は小数点以下まで扱えるものとする。

BMI値=体重(kg)/(身長(m))^2
[3] 環境
 [3.1] OS:Windows Vista Home Premium
 [3.2] コンパイラ名とバージョン:bcc
 [3.3] 言語: C言語
[4] 期限: 2/10 AM08:00(今日)
[5]if文,for文、while文は習いました。
よろしくお願いします。


152:デフォルトの名無しさん
12/02/09 23:16:49.44
予言しよう
次の宿題は「身体測定のファイルを開いてBMIを計算しろ」になるはずだ

153:デフォルトの名無しさん
12/02/09 23:18:42.63
マクロスとかガンダムのBMIだろJK

154:149
12/02/09 23:41:21.64
ハッシュ値が被ったときのために連想リストを使うこともあるのか。
ハッシュ表なんて実装したことがなかったから全然知らなかった。

155:デフォルトの名無しさん
12/02/09 23:47:28.08
そんなの情報処理技術者試験の問1レベルの話だしCの初歩の授業でもやるだろ・・・

156:デフォルトの名無しさん
12/02/10 00:03:42.21
チェイン方法ていう。
オープンアドレス方だとむずいのよ・・・いろいろ。

157:デフォルトの名無しさん
12/02/10 00:19:51.69
>>141
でもお前は知らなかったんだろ

158:146
12/02/10 00:59:43.71
サンプルテキストです
URLリンク(www.dotup.org)

159:デフォルトの名無しさん
12/02/10 01:16:26.03
こっち貼れ
URLリンク(www.dotup.org)

160:デフォルトの名無しさん
12/02/10 01:17:58.64
ついでに聞くけど単語のカウントはできてんだよな?
その結果はどーーーーーなのよ


161:デフォルトの名無しさん
12/02/10 01:20:51.15
>>151
URLリンク(ideone.com)

162: ◆g/ZMVdytmo
12/02/10 01:42:19.28
>>161
こんなに早くありがとうございます。
すごく助かりました 。

163:デフォルトの名無しさん
12/02/10 03:01:19.15
[1] 授業単元:プログラミング演習
[2]n個の要素からなる配列[V1,V2, V3,...,Vn]がある。
i番目の要素をViと表す。Viはそれぞれ1~100の値を持つ。
最少値を持つViを1つ取り出せ。
同値の要素があった場合、要素番号の小さい方を取り出すこと。
(nや要素の値は適当に入れてよい)
[3] 環境
 [3.1] OS:Linux
 [3.2] コンパイラ名とバージョン:gcc
 [3.3] 言語: C言語(アルゴリズム)
[4] 期限: 2/10中
[5]if、for、while程度まではわかります。
よろしくお願いします。

164:デフォルトの名無しさん
12/02/10 03:17:47.61
>>163
URLリンク(ideone.com)

165:164
12/02/10 03:20:36.93
ミスった。すまんなしで。

166:デフォルトの名無しさん
12/02/10 04:33:02.76
>>163
URLリンク(ideone.com)

167:デフォルトの名無しさん
12/02/10 05:25:49.16
[1] 情報科学入門
[2] (1)1から1000までの間に、3と7の倍数の値がいくつ含まれているのか求めるプログラムを書け。
   (2)キーボードから西暦年を入力し、その年がサッカーワールドカップ開催年かどうかを判定するプログラムを作成せよ。
[3] 環境
 [3.1] WindowsXP
 [3.2] すいません分かりません
 [3.3] C++
[4] 2月14日まで
[5] if、forなど初歩的なコマンドを用いて作成せよ
一応自分で作ってみたんだけど、
(1)
#include<stdio.h>
int main(void){
int i,n=0;
for(i=1;i<=1000;i++){
if(i%(3*7)==0)n++;
}
printf("%d\n",n);
return 0;
}
(2)
#include<stdio.h>
int main(void){
int y;
printf("西暦年:");scanf("%d",&y);
if(y<1930){printf("1930年以前には開催されていません。\n");return -1;}
if((y-1930)%4==0){printf("開催年です。\n");}
else printf("開催年ではありません。\n");
return 0;
}
これでうまく表示されない・・・どこが間違ってますかねえ・・・

168:デフォルトの名無しさん
12/02/10 06:14:17.10
[1] プログラミング
[2][A1,A2,A3,B1,B2,B3]の6つの要素から、2つを合わせたペアを全通り出力せよ
ただし、同じ記号と数字を含む要素はペアにはできない
(例:A1A2やA1B1は×、A1B2やA1B3は○)
[3] 環境
 [3.1] OS:Linux
 [3.2] コンパイラ名とバージョン:gcc
 [3.3] 言語: C

169:デフォルトの名無しさん
12/02/10 06:32:37.39
もう寝ろよ

170:デフォルトの名無しさん
12/02/10 08:18:59.23
>>168
#include <stdio.h>

int main(void)
{
int i, j;

for(i = 1; i <= 3; i++) for(j = 1; j <= 3; j++) if(i != j) printf("A%dB%d ", i, j);

return 0;
}

171:デフォルトの名無しさん
12/02/10 11:19:24.13
>>167
>これでうまく表示されない・・・どこが間違ってますかねえ・・・

期待する結果を書けよ。


>[2] (1)1から1000までの間に、3と7の倍数の値がいくつ含まれているのか求めるプログラムを書け。

「3または7の倍数の値」なら
X if(i%(3*7)==0)n++;
O if((i%3==0)||(i%7==0))n++;


> [3.3] C++
ソースはCみたいだが?


172:デフォルトの名無しさん
12/02/10 15:56:11.47
どこに質問すべきか悩むのですが、人が多そうなのでここでさせて頂きます。
焼きなまし法で巡回セールスマン問題を解いているのですが、近傍の選択方法について悩んでいます。
1. ランダムにある1つの都市を選び、そこからの訪問先の都市と順序を入れ替えた場合
2. ランダムにある2つの都市を選び、訪問順序を入れ替えた場合
と2つの近傍を考えました。
ランダムに訪問順序を決めた時に総距離が30000程度である時、
1の近傍だと総距離が13000程度、2の近傍だと8500程度まで短くなりました。
なお最適解が既に知られており、最小総距離が7542だそうです。
一般にヒューリスティックな方法を採用した場合に、13000や8500というのはおよそ良い近似解と見なせるのでしょうか?

173:デフォルトの名無しさん
12/02/10 16:24:13.92
すみません
上のレスでは判断しようがありませんね
無視でお願いします

174:デフォルトの名無しさん
12/02/10 17:30:26.90
>>172,173
スレ立てるまでもない質問はここで 117匹目
スレリンク(tech板)


175:デフォルトの名無しさん
12/02/10 18:05:50.29
>>174
ありがとうございます
そちらで質問してみます

176:デフォルトの名無しさん
12/02/10 19:09:54.43
>>101です。
>>116ありがとうございます。


参考にして自分でやってみたのですが上手くいきません。
おかしいところがあれば修正をお願いします。
URLリンク(codepad.org)

177:デフォルトの名無しさん
12/02/10 20:21:57.72
>>176
>URLリンク(codepad.org)

コンパイルエラーになってる。

178:デフォルトの名無しさん
12/02/10 22:38:00.45
>>176
> printf(" 文字列¥n%s¥n 文字列の個数¥n%d¥n",a1,cnt+1);

これをz回実行する意図は?

179:デフォルトの名無しさん
12/02/11 19:49:41.79
[1] 授業単元: メタヒューリスティック
[2] 問題文(含コード&リンク):
 TSPの問題ライブラリサイトTSPLIB (URLリンク(www.iwr.uni-heidelberg.de))内
のkroA100.tsp,kroA150.tsp,kroA200.tsp,tsp225.tspの4種類の問題について,ランダム探索,シミュレーティド・ア
ニーリング法の3つを実装し,それらの性能の違いを議論せよ.
[3] 環境
 [3.1] OS: Windows Vista
 [3.2] Vidual studio C++(指定されていないので何でもOKかな)
 [3.3] C
[4] 期限: (2012年2月13日13:00まで)
[5] その他の制限: 情報系の学生なら誰でも習得しているべきC言語の基本的なものはわかっているつもりです。

よろしくお願いします

180:デフォルトの名無しさん
12/02/11 20:05:03.89
> ランダム探索,シミュレーティド・アニーリング法の3つ

181:デフォルトの名無しさん
12/02/11 21:17:19.27
>>172です
後日談になりますが、最終的に最適解の1.001倍の近似解が得られるようになりました

182:176
12/02/11 22:04:52.23
>>178
> printf(" 文字列\n%s\n 文字列の個数\n%d\n",a1,cnt+1);

これをz回実行するのはおかしいですね
ありがとうございます。

183:デフォルトの名無しさん
12/02/11 22:33:42.28
インライン関数は関数呼び出しのオーバーヘッドを無くすとなっているけれど、
この関数呼び出しのオーバーヘッドは何クロックサイクルなのでしょうか。

184:デフォルトの名無しさん
12/02/11 22:35:02.92
組み込みか?

185:デフォルトの名無しさん
12/02/11 22:37:46.73
PCです。

186:デフォルトの名無しさん
12/02/11 22:38:48.06
>>182
今一、やりたいことが判らんないんだが、実行例を書いてみたら?
あと、x,yに範囲外(マイナスとか大きすぎる値)を指定した時はどうする?

187:デフォルトの名無しさん
12/02/12 02:18:18.48
>>183
関数の呼び出し規約によって変わるのでは
詳しくないけど。

188:デフォルトの名無しさん
12/02/12 03:50:23.19
>>167 (1)
#include <stdio.h>
int main(){
  int i,n=0;
  for(i=1;i<=1000;i++){
    if(i%3==0||i%7==0)
      n++;
  }
  printf("3の倍数[%d]+7の倍数[%d]-3の倍数かつ7の倍数[%d]=3の倍数または7の倍数[%d]\n",
    1000/3,1000/7,1000/(3*7),n);
  return 0;
}

189:デフォルトの名無しさん
12/02/12 04:38:08.45
>>188
1000/3+1000/7-1000/21
でよくね?

190: ◆jPpg5.obl6
12/02/12 05:16:05.84
[1] 授業単元:C言語
[2] リスト構造を使ったアドレス帳の作成。 
リスト構造で管理し次の機能が実現できること。
•追加(データの新規登録)
•削除(任意のデータの削除)
•探索(任意のデータの詳細表示)
•一覧表示
•データのソー扱うデータは氏名、住所、電話番号、eメールアドレス
URLリンク(ideone.com)
[3] 環境
 [3.1] OS:Windows7
 [3.2] コンパイラ名とバージョン:gcc
 [3.3] 言語: C言語(アルゴリズム)
[4] 期限: 2/12中(今日)
[5]これ以上どうやって良いかわからないのでよろしくお願いします




191:デフォルトの名無しさん
12/02/12 09:22:35.95
前スレ>>675
>CのIDEで良いものはありません

確かに良いものは少ない。特に最近のWindowsのIDEは
学習者向けじゃない。うNIXでは、IDE使うな主義だし。

Windowsじゃコンソールでカタカタすることは非常にやりにくい
からやっぱりIDEじゃないと苦しいかも

OpenWatcomは学習者用にお勧め.
特に16bit環境でプログラミングすると、コンピュータ特有の
メモリ量制約の問題がわかりやすく「やってはいけないこと」
とかの理解がしやすい。
LSI-Cとかでもできなくもないが同じコードで16bitと32bitの
比較が出来たりするのがWatcom

192: ◆QZaw55cn4c
12/02/12 09:41:22.50
>>191
lsi-c のスモールモデル限定(ただし far ポインタはあり)というのも捨てがたいですね。
lsi-c 、オープンソースにならないかな‥‥‥。

193:デフォルトの名無しさん
12/02/12 09:45:39.74
>>179です。 >>180さんのご指摘がありましたので、訂正します。
[1] 授業単元: メタヒューリスティック
[2] 問題文(含コード&リンク):
 TSP(巡回セールスマン問題)の問題ライブラリサイトTSPLIB (URLリンク(www.iwr.uni-heidelberg.de))内
のkroA100.tsp,kroA150.tsp,kroA200.tsp,tsp225.tspの4種類の問題について,ランダム探索,山登り法,
シミュレーティド・アニーリング法の3つを実装し,それらの性能の違いを議論せよ.
[3] 環境
 [3.1] OS: Windows Vista
 [3.2] Vidual studio C++(指定されていないので何でもOKかな)
 [3.3] C
[4] 期限: (2012年2月13日13:00まで)
[5] その他の制限: 情報系の学生なら誰でも習得しているべきC言語の基本的なものはわかっているつもりです。

よろしくお願いします

194:デフォルトの名無しさん
12/02/12 11:10:20.53
それぐぐればわかるんじゃ・・・

195:デフォルトの名無しさん
12/02/12 11:56:16.64
>>190

>>1
>・問題文は、出題されたまま全文を書いてください。

削除、探索、ソートのパラメータ指定は?(名前で削除、など)


196: ◆jPpg5.obl6
12/02/12 12:27:49.78
>>195
個人データを管理するアドレス帳を作ってください。
•扱う個人データ
–氏名,住所,電話番号,eメールアドレス
•プログラムの内部では,リスト構造を使用して実現してください。
リスト構造で管理し次の機能が実現できること。
•追加(データの新規登録)
•削除(任意のデータの削除)
•探索(任意のデータの詳細表示)
•一覧表示
•データのソート

基本的に名前で削除、探索です。

これで大丈夫でしょうか?


197:デフォルトの名無しさん
12/02/12 12:39:40.08
さんざん世話になっておいてこれか

URLリンク(dixq.net)

198: ◆jPpg5.obl6
12/02/12 12:50:49.20
時間がないことで焦っており、これを元にどうにかできないかと思い、質問してしまいました。
大変、申し訳ありませんでした

199:デフォルトの名無しさん
12/02/12 13:46:40.80
時間が無いもクソも
Name: astrea Date: 2011年12月12日(月) 13:33
2ヶ月経ってるじゃねーかよ

なんなんだこのゴミは?

200:デフォルトの名無しさん
12/02/12 13:51:37.02
マルチは干すっていう伝統がこのスレにはあってだね。

201:デフォルトの名無しさん
12/02/12 14:34:11.30
>>198
あの掲示板じゃ答えをくれないから逃げてきたってこと?

202:デフォルトの名無しさん
12/02/12 14:40:53.42
答えをくれないから見限った だろうwwwww


203:デフォルトの名無しさん
12/02/12 14:41:30.55
なぜ逃げになるんだろうねw

204:デフォルトの名無しさん
12/02/12 14:42:10.67
原則丸投げ禁止の掲示板で答えをもらおうとして、もらえなかったから「見限った」ってこと?

205:デフォルトの名無しさん
12/02/12 14:43:19.62
ゴメンネとかwww
あっちの掲示板にも詫びいれてこいよwww
下種がwwwww


206:デフォルトの名無しさん
12/02/12 14:46:54.45
別に詫びなんていらないでしょ。
日常茶飯事

207:デフォルトの名無しさん
12/02/12 14:50:52.53
>>193=>>206 か?wwww


208:デフォルトの名無しさん
12/02/12 14:52:37.11
こりゃまた予想外な方向に。
>>193でもないし、>>190でもないよ。
QZにしてみる?

209:デフォルトの名無しさん
12/02/12 15:19:26.01
諦めた

210:デフォルトの名無しさん
12/02/12 15:26:21.23
締めた

211:デフォルトの名無しさん
12/02/12 15:33:11.57
matrix(1, 10000*10000)をWindowsで高速に特異値分解したいのですが。どんなライブラリも使用可です。

212:デフォルトの名無しさん
12/02/12 15:35:21.22
[1] 授業単元:プログラム
[2] 問題文(含コード&リンク):
HashAlloc: 入力した数だけハッシュテーブルを動的に生成する.メモリ確保に成功すれば EXIT_SUCCESS,
失敗すればEXIT_FAILURE を返す.
HashFree: HashAlloc関数で確保したメモリを解放する
HashAdd: キーにレコードを追加する(return SUCCESS),キーが使用中ならば上書きしない(return FAIL).
HashDelete: 入力したキーを削除する.(return SUCCESS:データ削除成功, return FAIL:データなし)
HashGet: 入力したキーに対応するデータを返す.(return SUCCESS:データ取得成功, return FAIL:データなし)

URLリンク(ideone.com)
[3] 環境
 [3.1] OS: Linux
 [3.2] コンパイラ名とバージョン: gcc 3.4
 [3.3] 言語: C
 [4] 期限:2/13迄
よろしくお願いします。

213:デフォルトの名無しさん
12/02/12 15:36:11.41
[1] 授業単元:プログラム
[2] 問題文(含コード&リンク):
HashAlloc: 入力した数だけハッシュテーブルを動的に生成する.メモリ確保に成功すれば EXIT_SUCCESS,
失敗すればEXIT_FAILURE を返す.
HashFree: HashAlloc関数で確保したメモリを解放する
HashAdd: キーにレコードを追加する(return SUCCESS),キーが使用中ならば上書きしない(return FAIL).
HashDelete: 入力したキーを削除する.(return SUCCESS:データ削除成功, return FAIL:データなし)
HashGet: 入力したキーに対応するデータを返す.(return SUCCESS:データ取得成功, return FAIL:データなし)

URLリンク(ideone.com)
[3] 環境
 [3.1] OS: Linux
 [3.2] コンパイラ名とバージョン: gcc 3.4
 [3.3] 言語: C
 [4] 期限:2/13迄
よろしくお願いします。

214: ◆PyroL3rnqg
12/02/12 15:37:06.61


215:デフォルトの名無しさん
12/02/12 15:39:43.66
大事なことなので3回目も予定してます

216:デフォルトの名無しさん
12/02/12 15:40:48.48
>>211
はい、頑張ってください。

217:デフォルトの名無しさん
12/02/12 15:55:23.79
お前ら、プログラミング以外だと生き生きしてるなw

218:デフォルトの名無しさん
12/02/12 16:37:27.13
予定を立てるだけで守れないプログラマーが多いと聞きましたので、
僕は予定するだけでなく実行しました。

[1] 授業単元:プログラム
[2] 問題文(含コード&リンク):
HashAlloc: 入力した数だけハッシュテーブルを動的に生成する.メモリ確保に成功すれば EXIT_SUCCESS,
失敗すればEXIT_FAILURE を返す.
HashFree: HashAlloc関数で確保したメモリを解放する
HashAdd: キーにレコードを追加する(return SUCCESS),キーが使用中ならば上書きしない(return FAIL).
HashDelete: 入力したキーを削除する.(return SUCCESS:データ削除成功, return FAIL:データなし)
HashGet: 入力したキーに対応するデータを返す.(return SUCCESS:データ取得成功, return FAIL:データなし)

URLリンク(ideone.com)
[3] 環境
 [3.1] OS: Linux
 [3.2] コンパイラ名とバージョン: gcc 3.4
 [3.3] 言語: C
 [4] 期限:2/13迄
よろしくお願いします。

219:デフォルトの名無しさん
12/02/12 17:19:15.72
日本には 四度目の正直 という格言がある

220:デフォルトの名無しさん
12/02/12 17:20:32.40
正しくは、三度目の正直ですが

221:デフォルトの名無しさん
12/02/12 17:22:06.10
いいや ホトケの顔も三度まで だ


222:デフォルトの名無しさん
12/02/12 17:23:00.92
仏様は三度

223:デフォルトの名無しさん
12/02/12 17:23:38.27
日本には 三度あることは四度ある という格言がある

224:デフォルトの名無しさん
12/02/12 17:25:34.29
一匹いたら百匹いる

225:デフォルトの名無しさん
12/02/12 20:52:45.50
予定を立てるだけなのがアマグラマー
予定を守れてプログラマー

と聞きました。このスレッドにプログラマーの方はいらっしゃいますか?

226:デフォルトの名無しさん
12/02/12 21:10:41.14
予定も立てないからアマグラマですらない

227:デフォルトの名無しさん
12/02/12 21:17:19.98
達成不可能なよっていを立てるのが上じゃねの?
職業プログラマーなら引退してますが。

228:デフォルトの名無しさん
12/02/12 21:34:29.02
日本語はおk?

229: ◆QZaw55cn4c
12/02/12 22:56:08.11
>>212
URLリンク(codepad.org)

230:デフォルトの名無しさん
12/02/12 23:26:35.54
明日の10時半から12時までc言語のテストがあります
そのテストは持ち込み可で会話以外なにしても大丈夫なのですが(2chでスレ立ててもなにしてもよいとのこと)
テストうpしたら解いてもらえますか?
ちゃんと自分でも解きます

231:デフォルトの名無しさん
12/02/12 23:33:02.60
別にセンセにチくらててもよければ…
glutのセンセんとこに報告するよーな場所ですが・・・OK?

232:デフォルトの名無しさん
12/02/12 23:34:42.35
>2chでスレ立ててもなにしてもよい

わらた


233:デフォルトの名無しさん
12/02/12 23:37:27.64
なんのためのテストだよw

234:デフォルトの名無しさん
12/02/12 23:38:40.23
>>230
それは全く構わないが初めっからそう言う話であるとバラすと
全くの間違いを教える人間がワンサカ湧く
むしろあなたを落第させようと画策するようなコードが山のように出てくるはずだ

それで範囲はどのあたりだ
そこらへんが分かれば色々仕込んだコードを今から入念に用意できる


235:デフォルトの名無しさん
12/02/12 23:46:27.54
まあつまるところこういうこった

嘘を嘘と見抜けないと(掲示板を使うのは)難しい by ひろゆき

236:デフォルトの名無しさん
12/02/12 23:48:19.92
俺はやめとけって書いたからな。あとは知らん。自己責任で

237:デフォルトの名無しさん
12/02/12 23:49:10.01
ばらすもなにも教授が2chにスレ立てても知恵袋で聞いてもなにしてもいいと言ってました

スマホもPCも使用おkです



238:デフォルトの名無しさん
12/02/12 23:51:36.14
>>237
どれが正解か、先生に見てもらってから答えに採用すると間違いがないかも

239:デフォルトの名無しさん
12/02/12 23:54:49.08
どこの大学か教えてくれたら考えるけど?

240:デフォルトの名無しさん
12/02/13 00:04:05.52
>>237
授業時間がそういう区切りなのは高専か?


241:デフォルトの名無しさん
12/02/13 01:11:58.79
高卒?

242:デフォルトの名無しさん
12/02/13 01:22:01.61
別にスレ立てなくともここでいいと思うが、、、スレが乱立したらそれはそれでおもろいけど。

243: ◆QZaw55cn4c
12/02/13 02:21:28.33
>>190
>>196
URLリンク(codepad.org)

244:デフォルトの名無しさん
12/02/13 02:34:38.19
QZさんJR━―━―━(゚∀゚)━―━―━―!!

245:デフォルトの名無しさん
12/02/13 04:36:16.73
神降臨

246:デフォルトの名無しさん
12/02/13 07:53:22.31
496 名前: ◆QZaw55cn4c [sage] 投稿日:2012/02/10(金) 21:46:07.42
>>494
お前さんのほうがゴキブリに近いのでは?
なぜ意味もなく叩く?
うまく質問がすすまないのは単なるスキルの問題に過ぎないのだから、スキルの一片でもみせてやったらええんとちゃうか?
それができないのなら、それはお前さんのほうがゴキブリ。

死ね

247:デフォルトの名無しさん
12/02/13 08:25:16.11
492 名前: ◆QZaw55cn4c [sage] 投稿日:2012/02/10(金) 21:35:46.93
>>490
教員側も、実は質問されるのはうれしいと思いますよ。レスポンスがあるということは少なくとも自分の話が聞き手に届いていることを確認できますからね。
「先生の今おっしゃったことは、これこれこういうことでしょうか?」
と自分の解釈を交えながら再確認を繰り返すことがコツだと思います。

わからないことをわからないというのは、全然失礼じゃないですよ。

494 名前:デフォルトの名無しさん[sage] 投稿日:2012/02/10(金) 21:41:20.46
だから>>490みたいなゴキブリ並の知能しかない香具師はスルーしろって。



248:デフォルトの名無しさん
12/02/13 12:07:36.94
>>230
テストはどうなったんだ?

249:デフォルトの名無しさん
12/02/13 13:39:15.72
>>248
全部自分で解きましたw
自分の答案あるんですけど
答え合わせしてもらえますか?

250:デフォルトの名無しさん
12/02/13 13:40:00.99
>>249
やだよ
さっさと失せろ

251:デフォルトの名無しさん
12/02/13 13:41:29.57
答えあわせのできないプログラマは要らない

252:デフォルトの名無しさん
12/02/13 14:15:25.45
お前が、いらない。

253:デフォルトの名無しさん
12/02/13 15:10:36.16
>>251>>249あて

254:デフォルトの名無しさん
12/02/13 16:07:14.21
>>243
X int select;
O int select=1;

255:デフォルトの名無しさん
12/02/13 16:07:57.41
>>249
まず貼って見たら?

256:デフォルトの名無しさん
12/02/13 17:00:18.89
[1] 授業単元: 情報処理
[2] 問題文(含コード&リンク):
(1)ポインタ char *ptr を用いて文字列を表現した場合、putchar( *(ptr+2) )とすると文字列の先頭から2つ後ろの文字を表示できる。
このことを利用し、 文字列 char *ptr=“ABCDEF” のうち、”BCD”だけをputcharを使って表記するプログラムを作成せよ

(2)
URLリンク(ideone.com)
上記の関数 strcatを参考にして、s1が指す文字列の末尾に ‘-’ (ハイフン)を一つ付け、
その後ろにs2が指す文字列を連結する関数 void getname(char *s1, const char *s2) を作成せよ。これを用いて、
 二つのchar型配列 char str1[100] = “Yamada”, str2[100] = “Taro” を連結して “Yamada-Taro”という文字列を表記するプログラムを作成せよ。

[3] 環境
 [3.1] OS: Windows
 [3.2] コンパイラ名とバージョン: 不明
 [3.3] 言語: C
[4] 期限: 今日中
[5] その他の制限:特になし

よろしくお願いします。

257:デフォルトの名無しさん
12/02/13 17:08:12.40
> void getname
void?


258:デフォルトの名無しさん
12/02/13 17:10:19.57
voidで何がまずい?

259:デフォルトの名無しさん
12/02/13 17:18:55.21
>>256
(1)
#include <stdio.h>
int main(void) {
int i;
char *ptr = "ABCDEF";
for(i = 1; i <= 3; i++) putchar(*(ptr + i));
return 0; }
(2)
#include <stdio.h>

void getname(char *s1, const char *s2){
while(*s1) s1++;
*s1++ = '-';
while(*s1++ = *s2++);}

int main(void) {
char str1[100] = "Yamada", str2[100] = "Taro";
getname(str1, str2);
puts(str1);
return 0; }

260:デフォルトの名無しさん
12/02/13 17:19:24.22
voidかよ


261:デフォルトの名無しさん
12/02/13 17:19:51.27
memset と同様に引数で渡されたポインタで示す先の内容の書き換えを行う関数だな

262:デフォルトの名無しさん
12/02/13 17:21:48.83
どういう名前がいいんだろう。concat_fullnameとか?

263:デフォルトの名無しさん
12/02/13 17:22:01.17
なんでvoidなんだよwww
ジュゲムさんの本名適当に区切って繋げてみろよwww


264:デフォルトの名無しさん
12/02/13 17:24:37.04
>>259
ありがとうございました。

265:デフォルトの名無しさん
12/02/13 18:36:44.26
>>256
題意からはポインターを使うのが順当だろうけど、以下でも可能。

void getname(char *s1, const char *s2)
{
sprintf(s1,"%s-%s",s1,s2);
}

266:デフォルトの名無しさん
12/02/13 18:42:14.14
>>265
sprintf って第一引数のポインタと 第三引数以降で詰まれるポインタが同じ場合でも
正しく動作できるん?

memcpy のコピー先がコピー元と被ってる時のイメージでどうなのかな?とは思うけど

267:デフォルトの名無しさん
12/02/13 18:57:33.23
未定義動作だったような気がする

268:デフォルトの名無しさん
12/02/13 19:23:20.85
つmemmove

269:デフォルトの名無しさん
12/02/13 19:25:50.06
>>268
それは分かってる。 sprintf で同じようなことが発生しないの?という疑問

270:デフォルトの名無しさん
12/02/13 19:32:11.49
sprintfでも、コピー先とコピー元が重なれば未定義になる
つまり>>265はどうしようもないアホ

271:デフォルトの名無しさん
12/02/13 19:48:41.30
sprintf(s2,"%s-%s",s1,s2); ならアウト。

272: ◆QZaw55cn4c
12/02/13 20:08:19.09
>>254
不要でしょう。どのみち 202行目~203行目で値が必ず入ります。
そもそも auto 変数を初期化するその書き方が「Cらしくない。」

273:デフォルトの名無しさん
12/02/13 20:12:50.87
>>271
sprintf(s1,"%s-%s",s1,s2); なら?

274:デフォルトの名無しさん
12/02/13 20:19:34.41
>>273
「たまたま上手くいく」って事じゃない?

275: ◆QZaw55cn4c
12/02/13 20:20:02.95
>>254
おっと失礼。199行目で未初期化のselect を参照していましたね。これは大失態。
>>272 は取り下げます。
ご指摘ありがとうございました。

>>190 >>196
以下に訂正いたします。
URLリンク(codepad.org)

276:デフォルトの名無しさん
12/02/13 20:48:14.01
>>273
sprintf(s1,"ABC-%s-%s",s1,s2);

これだと駄目


277:デフォルトの名無しさん
12/02/13 21:36:26.31
>>272
199行目の while(select != 0){
で、selectが初期化されてないんじゃ?

278:デフォルトの名無しさん
12/02/13 21:37:04.59
>>277
>>275に既に書かれてましたね、失礼。

279:デフォルトの名無しさん
12/02/14 07:28:12.32
strncatの話?

280:デフォルトの名無しさん
12/02/14 13:07:27.66
いや、strcatの話

281:デフォルトの名無しさん
12/02/14 13:08:33.46
じゃなくてnだったごめん

282:デフォルトの名無しさん
12/02/16 01:07:45.42
Cでのファイルの入出力で苦戦しています。
あるディレクトリに"data.txt", "input.c"を用意し、"data.txt"の内容をそのまま"new.txt"に出力しようと考えています。
ここで、"data.txt"の内容は
tom 21 176.2 67.8
eri 23 155.4 48.2
takeshi 20 187.3 67.3
であり、
また、"input.c"の内容は
#include <stdio.h>
struct ps{
char name[100];
int year;
double ht;
double wt;
};
int main(void) {
FILE *in;
FILE *out;
struct ps inv[3];
int i = 0;
in = fopen("data.txt", "r");
fread(inv, sizeof(struct ps), 3, in); fclose(in);
for(i=0; i<3; i++) {
printf("%s\t%5d%7.1f%7.1f\n",
inv[i].name, inv[i].year, inv[i].ht, inv[i].wt);
}
out = fopen("new.txt", "w");
fwrite(inv, sizeof(struct ps), 3, out);
fclose(out);
return 0;
}
です。

283:デフォルトの名無しさん
12/02/16 01:09:18.19
しかし、これを実行した結果作成される"new.txt"の内容が

tom 21 176.2 67.8
eri 23 155.4 48.2
takeshi 20 187.3 67.3
3^@<93><89><84>^@?<82>^D^H^@^@^@^@M'4^@^B^@^@^@?^_5^@?<9b><83>^@^A^@^@^@^X;<
87>???3^@<%5^@?*5^@^@^@^@^@^@^@^@^@^X;<87>?^@^@^@^@^@^@^@^@^@^@^@^@^C^@^@^@.N=??^C^@^@^@^@^@^@?'<84>^@^@^@^@^@<8c>
?4^@?<9d><83>^@,^@^@^@^@^@^@^@^@^@^@^@^A^@^@^@<9e>^H^@^@H;<87>?X8<87>??<82>^D^H?/<84>^@,<82>^D^H^A^@^@^@?^_5^@?*5^@^P<91>???<90>??y?3^@?<90>??,<82>^D^H?
<90>??t*5^@^@^@^@^@H;<87>?^A^@^@^@^@^@^@^@^A^@^@^@^X)5^@<8a><90>??<8b><90>??^A^@^@^@YS<8b>^@<8b><90>??<8a><90>??
?^@^@^@^A^@^@^@?WV^@^@^@^@^@}0´,?<9f>^D^H^A^@^@^@y<83>^D^H^X)5^@?<82>^D^H?<9f>^D^Ha<86>^D^H^@<84>^D^H^@^@^@^@?<8b><86>^@$?<9a>^@??<9a>^@

と、出力データの下部に不要な情報が付加されてしまいます。
どのようにすればinvからこの不要な部位を取り除くことができるのでしょうか。

284:デフォルトの名無しさん
12/02/16 01:13:48.19
すいません忘れてました
[1] 授業単元: 趣味
[3] 環境
 [3.1] OS: ubuntu 11.10
 [3.2] コンパイラ名とバージョン: ubuntu11.10に最初から入ってるコンパイラ
 [3.3] 言語: C
[4] 期限: 無期限
[5] その他の制限: 標準ライブラリって何だろう

285:デフォルトの名無しさん
12/02/16 01:32:27.58
>>284
URLリンク(ideone.com)

286:デフォルトの名無しさん
12/02/16 01:49:20.50
>>285
おおお
ありがとうございます。

入力時にはfscanfとかfreadとか使わない方がいいのですね!

独学で使ってる『わかりやすいC 入門編』にはsscanfなんて出てこなかったorz



287:デフォルトの名無しさん
12/02/16 02:39:39.59
>>286
使い方間違えておいて酷い言いようだwww

288:デフォルトの名無しさん
12/02/16 02:59:35.08
openCVを使用して
cvThresholdでエラーが出ます。どうしたらいいですか?

1>------ ビルド開始: プロジェクト: k009, 構成: Debug Win32 ------
1>コンパイルしています...
1>001.cpp
1>c:\opencv2.0\include\opencv\cvcompat.h(803) : warning C4819: ファイルは、現在のコード ページ (932) で表示できない文字を含んでいます。データの損失を防ぐために、ファイルを Unicode 形式で保存してください。
1>c:\documents and settings\oy\my documents\visual studio 2008\projects\k009\k009\001.cpp(24) : error C2664: 'cvThreshold' : 1 番目の引数を 'cv::Mat' から 'const CvArr *' に変換できません。(新しい機能 ; ヘルプを参照)
1> この変換を実行可能なユーザー定義変換演算子がないか、または演算子を呼び出せません。
1>ビルドログは "file://c:\Documents and Settings\oy\My Documents\Visual Studio 2008\Projects\k009\k009\Debug\BuildLog.htm" に保存されました。
1>k009 - エラー 1、警告 1
========== ビルド: 0 正常終了、1 失敗、0 更新不要、0 スキップ ==========


289:デフォルトの名無しさん
12/02/16 03:02:26.71
>>286
>入力時にはfscanfとかfreadとか使わない方がいいのですね!

fscanfでも可能。

/* fgets(buf,sizeof(buf),in); */
fscanf(in,"%s %d %lf %lf",
inv[i].name, &inv[i].year, &inv[i].ht, &inv[i].wt);

freadは指定したサイズだけごっそり読み込む。
可変長データの場合はfgetsの方が扱いやすい。

290:デフォルトの名無しさん
12/02/16 06:29:30.06
>>288
焦らずテンプレを読むんだ

291:デフォルトの名無しさん
12/02/16 07:29:17.20
[1] 授業単元:知識と推論
[2] 問題文 探索によってパズルを解くプログラムを作成せよ(小町算)
[3] 環境
 [3.1] OS: Windows7
 [3.2] コンパイラ名とバージョン: VisualStudio2010
 [3.3] 言語: C言語
[4] 期限: 2/16

よろしくおねがいします><

292:デフォルトの名無しさん
12/02/16 08:52:44.46
>>291
小町算には変形ルールのやつもあるけど、
「1□2□3□4□5□6□7□8□9 = 100 という数式の□の中に、+,-,×,÷,空白 のいずれかを一つずつ入れる」でいいのかな?
URLリンク(ja.wikipedia.org)

293:デフォルトの名無しさん
12/02/16 12:34:14.04
>>291
空白なし、*優先、/で小数部切り捨てなら↓
URLリンク(ideone.com)

294:デフォルトの名無しさん
12/02/16 14:31:59.32
[1] 授業単元:ゲームアルゴリズム
[2] 問題文 ローゼンケーニッヒ
[3] 環境
 [3.1] OS: Windows7
 [3.2] コンパイラ名とバージョン: VisualStudio2008
 [3.3] 言語: C++
[4] 期限: 2/18

ローゼンケーニッヒってカードゲームなんですが、出力は標準出力だそうです・・・
お願いします

295:デフォルトの名無しさん
12/02/16 14:45:35.24
URLリンク(gioco.sytes.net)
これか?
もっと詳しいルールが書いてあるサイトとかレジュメとか無いの?


296:デフォルトの名無しさん
12/02/16 14:57:39.99
>>295
URLリンク(web.me.com)ボードゲーム%E3%80%80カードゲーム%E3%80%80大好きサイト/ふたりで/エントリー/2010/1/17_ローゼンケーニッヒ_RosenkÖnig_by_Dirk_Henn.html

ここを参考に見てました
詳しいのなかなかないですね

297:デフォルトの名無しさん
12/02/16 19:43:36.14
>>291
perlとかでゴリ押しすりゃあ簡単に書けるのに
なんでわざわざC使うんだろ


298:デフォルトの名無しさん
12/02/17 02:48:47.52
スレの趣旨とはやや趣を異にする質問、ご容赦ください。

OpenIndiana(OpenSolaris後継)にネットワークブリッジソフトが無い為
Linuxでの用例の多いbridge-utilsをソースからコンパイルしようとしています。

ダウンロード先(SourceForge.JP)
URLリンク(sourceforge.jp)

やはりそのまますんなりとコンパイルは通らず、makeコマンドでエラーが出てしまいました。
生憎Cが堪能でないので、エラーだけでは構文の不整合なのか、ライブラリが足りてないのか
それともSolaris系の環境による問題なのか切り分けの判断ができません。

コンパイル時の出力結果
URLリンク(www.dotup.org)

# uname -a
SunOS openindiana 5.11 oi_151a2 i86pc i386 i86pc Solaris

# gcc -v
Reading specs from /usr/sfw/lib/gcc/i386-pc-solaris2.11/3.4.3/specs
Configured with: (略)
Thread model: posix
gcc version 3.4.3 (csl-sol210-3_4-20050802)

どうか解決のヒントだけでもお教えください、よろしくお願いします。

299:デフォルトの名無しさん
12/02/17 02:57:30.67
libbridge.h:23:22: linux/if.h: No such file or directory
libbridge.h:24:29: linux/if_bridge.h: No such file or directory

300:デフォルトの名無しさん
12/02/17 03:00:14.49
>>298
libbridge.h:23:22: linux/if.h: No such file or directory
libbridge.h:24:29: linux/if_bridge.h: No such file or directory

まずこれを直す。
これらのヘッダファイルがあるconfigure時にincludeパスを設定できるかどうか調べる
linux/if.hというパスに配置することができないのなら、ソースを変更するか、linux/if.hで参照できるパスにシンボリックリンクでもはる

ないならちょっとわからん。

301:デフォルトの名無しさん
12/02/17 11:26:36.28
linux 以下がカーネルソースでないとダメなら
相当量書き直さないとダメじゃね

言い換えると無理

302:298
12/02/17 12:47:32.37
>>299-301
アドバイスありがとうございます。
私もヘッダ部分だけ追ってみたのですが、これ無理じゃね?という気がしてきました。
SourceForgeには「システム要件:POSIX (Linux,BSD,Solaris など), Linux」って書いてあるのに・・・

ブリッジを使用しようとしてるアプリケーションのコマンド体系を変更すれば
dladmで代用できそうな予感がしてきたので、こちらの方向でチャレンジしてみたいと思います。

(しかしドキュメントや用例の多いLinuxと違って、Solaris系は必要な情報を調べるのが難しぃ)

303:デフォルトの名無しさん
12/02/17 13:11:49.62
>>302
確認する気も環境も無いけど
もしかしたら configure がダメダメなだけかもしれない

304:デフォルトの名無しさん
12/02/18 10:48:52.53
イーサネットのブリッジって、カーネルのサポートが要るわけだが、
これは単にそれを操作するためのユーティリティーかと。
でOS毎にカーネルインターフェースが違ったりするわけだが、このソフトは
なんとなくlinux専用なんじゃ。

305:デフォルトの名無しさん
12/02/18 13:23:10.85
IEEE 802.1d ethernet bridging (plus Spanning Tree protocol) for the linux kernel. Kernel code is in Linux 2.4 and 2.6 kernels.

306:デフォルトの名無しさん
12/02/21 17:04:23.53
[1] 授業単元:C
[2] n個の数の総和
[3] 環境
 [3.1] OS: ubuntu linux
 [3.2] コンパイラ名とバージョン:cc
 [3.3] 言語: C
[4] 期限:無
[5]
アドバイスよろしくお願いします
URLリンク(codepad.org)

307:デフォルトの名無しさん
12/02/21 17:08:27.56
double xval_xsum_num(double xval double xsum)

double xval_xsum_num(double xval, double xsum)

308:ナナシ
12/02/22 22:17:19.38
問題をそのまま書くんで出来れば今日中に教えてください・・・
2進数10110001-2進数00101110の計算を2の補数を利用して計算する
という問題です。全く出来なくて困っています、助けてください

309:ナナシ
12/02/22 22:17:52.14
1から5の間の自然数を10個入力する。このとき入力された数の個数を棒グラフで次のように表示させる。
例: 1の入力が4回、2では2回、3では3回、4では0回、5では1回の場合
*
* *
* * *
* * * *
1 2 3 4 5
という感じです。全くできないので助けてください

310:デフォルトの名無しさん
12/02/22 22:26:00.69
>308,309
>>1を読んでテンプレ通りに書きなよ
309はいいとしても308は具体的に何を作るのか見えない
入力は何?出力は何?

311:デフォルトの名無しさん
12/02/22 22:26:25.53
>>308
>>1のテンプレ使え

312:デフォルトの名無しさん
12/02/22 22:26:32.01
>>309
これは考えればわかる問題がんばってくださいw

313:ナナシ
12/02/22 22:36:12.14
すいません。聞き方が悪かったです。308は2進数をキーボードから入力します。2の補数の使いかたが全くできません。
include<stdio.h>だけでやってもらえると嬉しいです

314:ナナシ
12/02/22 22:38:00.98
309はグラフを縦に作るので理解できません。未熟なので力を貸してください・・・

315:デフォルトの名無しさん
12/02/22 22:40:15.36
ペロッ


これは釣り

316:デフォルトの名無しさん
12/02/22 22:46:10.87
>>309
#include <stdio.h>

int main(void)
{
int i, j, a[5] = {0}, max, n;

for(i = 0; i < 10; i++) {
scanf("%d", &n);
if(1 <= n && n <= 5) a[n - 1]++;
}

for(max = a[0], i = 1; i < 5; i++) if(max < a[i]) max = a[i];

for(i = max; i > 0; i--) {
for(j = 0; j < 5; j++) printf("%c ", a[j] >= i ? '*' : ' ');
putchar('\n');
}

for(i = 1; i <= 5; i++) printf("%d ", i);

return 0;
}

317:ナナシ
12/02/22 22:46:16.70
釣りじゃないです!本当に出来なくて困っています・・・

318:デフォルトの名無しさん
12/02/22 22:51:27.61
>>317
質問の仕方どうこうじゃなくてテンプレ使えって言ってんの
質問する側なんだからルールぐらい守れ

319:ナナシ
12/02/22 22:51:29.26
>>316さん
ありがとうございます!
でも、
printf("%c ", a[j] >= i ? '*' : ' ');
の!?ってどういう意味なんですか?
というか、使い方がさっぱり分からないです。
すいません。

320:デフォルトの名無しさん
12/02/22 22:57:42.09
玄人()は三項演算すっきゃねぇwww

321:デフォルトの名無しさん
12/02/22 23:03:58.34
if(a[j] >= i) printf("* ");
else printf("  ");

322:ナナシ
12/02/22 23:09:27.63
>>321さんありがとうございます!懇切丁寧に説明してくれて。
>>320さん僕は素人なんですいません。
工業高校でC言語を学び始めたもので・・・

323:デフォルトの名無しさん
12/02/22 23:10:04.89
>>319
iの後ろに1-2個の空白、そのあと任意個の'あとは書いてあるとおりだよ

324:デフォルトの名無しさん
12/02/22 23:11:01.08
回答している奴と質問している奴の自演に見える

325:ナナシ
12/02/22 23:18:57.00
そんなことないです。
僕は本当にC言語が出来ないんでここで質問してるんです・・・
補数の方もできないでしょうか?

326:デフォルトの名無しさん
12/02/22 23:23:11.31
この時期にこれって終わってるな

327:ナナシ
12/02/22 23:25:53.40
余り進まない高校なので、すいません・・・
だから、力を貸していただけないでしょうか?

328:デフォルトの名無しさん
12/02/22 23:33:08.57
みんな呆れてるのかレスが付いてないから初めて回答してみる

>>306
コンパイラが答え教えてくれてるじゃん。
41行目の引数二つの間にコンマがないよ。
中身については見てないからわかんね。
インデントしてないから読む気が起きないお…

329:デフォルトの名無しさん
12/02/22 23:35:45.64
>>328
お前は直下のレスも読めない文盲か?
識字障害か?


330:デフォルトの名無しさん
12/02/22 23:37:56.12
あーほんとだ。鬼の首でも獲ったかのように煽られちゃった。

331:デフォルトの名無しさん
12/02/22 23:38:41.05
日本語でおk

332:デフォルトの名無しさん
12/02/22 23:39:19.30
算数できない高校生っているんだなw

333:デフォルトの名無しさん
12/02/22 23:42:04.75
誰か卒論片付けてくんねーかなw

334:デフォルトの名無しさん
12/02/22 23:44:01.82
>>330
素直に謝れない奴は死んだほうがマシ

335:ナナシ
12/02/22 23:44:20.86
printf("%c ", a[j] >= i ? '*' : ' ');の%cってどんな意味があるんですか?
if(a[j] >= i) printf("* ");
else printf(" ");
だとうまく表示されないのでやはり%cが必要だと思いましたがうまくつかえません。
三項演算を使わないでprintf("%c ", a[j] >= i ? '*' : ' ');の文と同じにしてもらえないでしょうか?

336:デフォルトの名無しさん
12/02/22 23:44:55.27
調べろよ

337:ナナシ
12/02/22 23:45:38.74
ぐぐりましたが出て来ません・・・

338:デフォルトの名無しさん
12/02/22 23:46:51.11
そんなはず、あるかーーーーーーーい!

339:デフォルトの名無しさん
12/02/22 23:47:37.87
if(a[j] >= i) printf("%c ",'*');
else printf("%c ",' ');

340:デフォルトの名無しさん
12/02/22 23:48:02.92
上手く表示されないのは{}で囲んでないからじゃないの

341:ナナシ
12/02/22 23:49:33.41
とはいっても、ここで%cを入れてるなんてどうやってググレば出てくるんですか

342:デフォルトの名無しさん
12/02/22 23:51:12.29
あ、あの、、暇だったのでアレンジ板作ってみました。。

URLリンク(ideone.com)

343:ナナシ
12/02/22 23:53:02.04
>>339さんありがとうございます!おかげ様でグラフ出来ました!
あとは2の補数の問題なんですけど・・・
2進数を10進数にや10進数を2進数にってのは出来るんで、2進数を2の補数を利用してやるところだけ力を貸していただけないでしょうか?

344:デフォルトの名無しさん
12/02/22 23:54:52.72
ナナシ君の質問見てると
今まで全く授業に出席してなくて、若しくはセンセイがゴミで
勉強してないのにいきなり課題をやろうとしてるように感じるのは俺だけか

345:デフォルトの名無しさん
12/02/22 23:55:40.14
>>342
5と10がふんだんにちりばめられた、とてもすばらしいコードですね。
まるで素敵な奇跡みたいです。
その調子でこんごも精進してくだしあ。


346:デフォルトの名無しさん
12/02/22 23:56:47.89
>>345
あ、ありがとうございますorz

347:デフォルトの名無しさん
12/02/22 23:57:51.56
2の補数でぐぐれ

348:デフォルトの名無しさん
12/02/22 23:58:33.87
テンプレすら守らず、それを指摘されてもスルーするような輩を甘やかすな。

349:ナナシ
12/02/22 23:59:38.28
2の補数 C言語でググったけど出ませんでした・・・
だから力を貸してください・・・

350:デフォルトの名無しさん
12/02/23 00:00:01.20
なんという釣り

351:ナナシ
12/02/23 00:01:06.20
ここの人たちって思ってたより無能ですよね・・・
なんかがっかりです・・・

352:ナナシ
12/02/23 00:02:46.48
自己解決しました

353:デフォルトの名無しさん
12/02/23 00:02:50.77
おっしゃる通り無能なので回答できないです
お引き取りください

354:ナナシ
12/02/23 00:03:02.94
>>351 は偽物です!
こんなクソみたいな騙りする奴はウンコでも食ってろ

355:デフォルトの名無しさん
12/02/23 00:03:04.11
やっぱ釣りか。楽しかったよ

356:ナナシ
12/02/23 00:03:13.23
テンプレ守ってるじゃないですか。何が足りないんですか?
問題文を全部書いてるし、数字もちゃんと書いて、目的も書いています。
コレ以上何を書くんですか?

357:ナナシ
12/02/23 00:05:34.42
人がせっかくこうやって頼んでるんですから
答えてくれたっていいじゃないですか
それくらいのことが出来ないなんてダメですね。

358:デフォルトの名無しさん
12/02/23 00:06:52.48
>コレ以上何を書くんですか?
>>2のテンプレ

359:デフォルトの名無しさん
12/02/23 00:07:42.09
わろたwナナシはトリップつけろ

360:デフォルトの名無しさん
12/02/23 00:09:58.26
>>357
とりあえず、立場なw
テンプレそんなに大変か?w

361:デフォルトの名無しさん
12/02/23 00:13:35.95
お願いします
[1]授業単元 C言語
[2] 問題文 0→πのexp(-x) * sinx の定積分を台形公式、及びシンプソンの公式を用いて解け
[3] 環境
 [3.1] OS: Windows7 64bit
 [3.2] コンパイラ名とバージョン: (Visual Studio 2010)
 [3.3] 言語: どちらでも可
[4] 期限: 23日まで
[5] その他の制限: ポインタ以降未履修

f3xと定義している関数が、現在躓いている関数です。f1xとf2xはすんなり結果を返してくれたのですが、
expの絡むf3x及びf4xでは何故か結果が1.#inf0000になってしまい、上手くいきません。
糞コードで長いので、シンプソン部分の39行目~81行目は無視して下さっても構いません。
調べた所、34~37行目のfor文の内、最後のループの時に(m=n-1)エラーが起きているようです。
その直前m<n-1までは、printfで1つ1つs1の値を表示させていったのですが、問題なく表示されていました。
URLリンク(codepad.org)

362:ナナシ
12/02/23 00:14:49.89
なるほど。
じゃあ、
単元はサブ関数
問題文は2進数10110001-2進数00101110の計算を2の補数を利用して計算する
環境は何を書いていいのやら
OSはwin7
コンパイラはBCC
言語はC
期限は2012年02月23日00:25
でお願いします

363:ナナシ
12/02/23 00:16:14.08
>>357は僕書いてないですよ

364:デフォルトの名無しさん
12/02/23 00:16:36.30
もうええて

365:デフォルトの名無しさん
12/02/23 00:17:02.28
期限わろた

366:デフォルトの名無しさん
12/02/23 00:17:12.28
だからナナシはトリをつけなさい

367:デフォルトの名無しさん
12/02/23 00:17:39.78
>>362
鬼かおまえはw

368:デフォルトの名無しさん
12/02/23 00:17:44.08
テンプレをテンプレで書かないとは・・・
相当周りの見えないやつだな

369:デフォルトの名無しさん
12/02/23 00:20:24.91
期限まで・・・あと・・・5分!

370:デフォルトの名無しさん
12/02/23 00:21:04.53
わざとしてるんだろ

371:ナナシ
12/02/23 00:22:12.40
[1]授業単元 C言語
[2] 問題文 2進数10110001-2進数00101110の計算を2の補数を利用して計算する
[3] 環境
 [3.1] OS: Windows7 64bit
 [3.2] コンパイラ名とバージョン: BCC
 [3.3] 言語: C言語
[4] 期限: 23日の00:50分までで
[5] その他の制限: 特になし


372:ナナシ
12/02/23 00:22:54.90
これでお願いします。
今までのミスを許してください。
ごめんなさい

373:デフォルトの名無しさん
12/02/23 00:24:50.86
喜べ!期限が25分延長されたぞ!w

374:デフォルトの名無しさん
12/02/23 00:25:25.30
>>372
             ___,,,,,..... -一ァ 
         / ̄      ,-─--、,! 
.        /      / お   .,! 
.         /      .i   断 だ ,! 
       /       i  り  が ,! 
.      /        i  し   ,! 
.      /        .ヽ ま   ,! 
.       /    / |   ./ .〉 す__,,! 
     /   ノ  |//ノ //    ,! 
     /  /        \  .,! 
.   /  /  ○    ○  .ヽ ,! 
   /__∩ |    (__人__)    | .,! 
.  //ヨ ) ヽ   .       / .,! 
  ヽ|.ヨノ |              ,i 
  ``ヽ.、_|             ,! 
       ``ヽ.、..       ,,! 
             ``ヾ、   ,,! 
                 ``ヽ,! 

375:デフォルトの名無しさん
12/02/23 00:26:21.06
どーせできあがったもんdisるんやろ?

376:デフォルトの名無しさん
12/02/23 00:26:25.68
>>361
数値積分やったなぁ
でも4/(1+x^2)の0~1定積分の方が結果が出た時嬉しい

377:デフォルトの名無しさん
12/02/23 00:26:37.95
納期延長とは涙が出るのう

378:ナナシ
12/02/23 00:27:09.30
ホントに分らなくてここに来たんです。
だから、2の補数だけども教えてください!

379:デフォルトの名無しさん
12/02/23 00:27:24.42
>>349
普通は負の数はみんな2の補数で表現されてるから、普通に計算すりゃいいんじゃね?


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