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

このエントリーをはてなブックマークに追加
1デフォルトの名無しさん
あなたが解けないC言語/C++言語の宿題を片付けもらうスレッドです。気に入らない質問やその他の発言はスルーの方向で。

【質問者へ】
回答者の便宜のため、質問の際は以下を行うことを推奨します。
・質問は【質問テンプレ】を利用してください。 >>2以降にあります。
・問題文は、出題されたまま全文を書いてください。
・問題文やコードをリンクするときは、一言内容にについて説明をつけましょう。
・計算問題は数式をあげ、どのような計算をするのか詳しく説明してください。
・エラーは、その詳細と発生した行を書きましょう。エラーメッセージはコピペしてください。
・後から問題に付け足しするのはコラー!!です。付け足しは作業を無駄にしがちです。
・なりすましを防ぐため、トリップを使ってください。名前欄に、「#」に続けて任意の文字列を入力して投稿すると、その文字列を知らない他人に騙られることを防ぐことができます。
2デフォルトの名無しさん:2012/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] その他の制限: (どこまで習っているか、標準ライブラリは使ってはいけない等々)
【アップローダー==ラウンジ】(質問が長い時はココ使うと便利 回答者もコードが長ければここに)
http://s2.etowns.slyip.net/~c_cpp_homework/cgi-bin/joyful/joyful.cgi
http://codepad.org/ ←遅い時間は重い事があります
http://ideone.com/
http://pastebin.com/ ←たまにテンポるので上の2つが混んでいる時以外はなるべく使わないで下さい
【C 関数検索 man on WWW】 http://www.linux.or.jp/JM/index.html
【過去ログ検索】        http://chomework.sakura.ne.jp/
【wiki】               http://www23.atwiki.jp/homework/
前スレ
C/C++の宿題片付けます 155代目
http://toro.2ch.net/test/read.cgi/tech/1325685876/
3デフォルトの名無しさん:2012/02/03(金) 22:51:40.33
>>1-2
おつかれさまー
4デフォルトの名無しさん:2012/02/03(金) 22:53:59.82
NG推奨:◆QZaw55cn4c
自分勝手な仕様変更をしたり正常に動作しないコードを書くなどするうえに
無駄な煽りを行う要注意人物
5デフォルトの名無しさん:2012/02/04(土) 08:49:40.39
幹より太くなる枝はない。「本木に勝る末木なし」で検索
6デフォルトの名無しさん:2012/02/04(土) 09:09:53.01
テンプレは>>1-2だけです。できる限り、問題の提出と解答だけが
並ぶように運用しましょう。これレスも含めて余計なちょっかいには
スルーを。
7デフォルトの名無しさん:2012/02/04(土) 20:08:51.74
[1] 授業単元:C言語
[2] 問題文 初期状態をファイルより読み込みライフゲームを実行しなさい
[3] 環境
 [3.1] OS: Windows7
 [3.2] コンパイラ名とバージョン: VisualStudio2010
 [3.3] 言語: C言語
[4] 期限: 2/5
[5] その他の制限: ライフゲームの作成です。セルの生死を判定するための条件付けをうまく記述することができません。
他にもツッコミどころ満載ですがどなたか指摘していただけると助かります。お願いします
http://ideone.com/LFPu6
次スレがあるにもかかわらず前スレに書き込んでしまいました。こちらに再度書き込みさせていただきます
8デフォルトの名無しさん:2012/02/04(土) 22:00:37.56
9デフォルトの名無しさん:2012/02/05(日) 00:00:07.14
>>7
>次スレがあるにもかかわらず前スレに書き込んでしまいました
前スレがまだ埋まってないにもかかわらず次スレに書き込んでしまいました
だろ なんでこっちに書くんだよ
10デフォルトの名無しさん:2012/02/05(日) 14:37:42.77
>>7です。申し訳ありませんいただいたコード参考にさせていただきます有難うございました
11デフォルトの名無しさん:2012/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デフォルトの名無しさん:2012/02/05(日) 16:49:35.29
>>11です。
リンク貼るのを忘れました。
http://ideone.com/E3ZL6
13デフォルトの名無しさん:2012/02/05(日) 16:50:59.10
>>11
>[2] 問題文:狼と山羊とキャベツと男 (深さ優先探索)

これじゃあ無理。
問題文は、出題された内容をそのまま書け。
14デフォルトの名無しさん:2012/02/05(日) 17:25:16.49
>>13
問題は詳しく載っていませんでしたが、このサイトが詳しかったです。
http://www.geocities.jp/m_hiroi/puzzle/farmer.html
すいません...
15デフォルトの名無しさん:2012/02/05(日) 18:39:53.33
>>14
>>1
>・問題文は、出題されたまま全文を書いてください。

重要なのは仕様。
他言語で書いてるのと、今回の宿題とが同じ仕様かどうか判断ついてないだろ?
16デフォルトの名無しさん:2012/02/05(日) 18:46:38.54
狼と山羊とキャベツと男
17デフォルトの名無しさん:2012/02/05(日) 18:54:34.80
http://r27.jp/quiz/thumbnails/550/across-cabbage.jpg
Problem of the Wolf, Goat, and Cabbage. - 旅人と狼と山羊とキャベツ : クイズ&パズルの部屋「Quizzical Days.」
http://r27.jp/quiz/across-cabbage/
18デフォルトの名無しさん:2012/02/05(日) 19:56:20.34
>>15>>本当に他に説明ないのですよ。
19デフォルトの名無しさん:2012/02/05(日) 20:45:06.26
どうやって出題されたんだよw
無言でソース渡されたのかw
20デフォルトの名無しさん:2012/02/05(日) 22:23:48.58
>>19
こういうことですかね・・・

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

?: [ ] [ 男狼山羊キャベツ]
のように移動する過程が分かるように左岸と右岸にいるものをステップごとに表示するようにしてください。
21デフォルトの名無しさん:2012/02/05(日) 22:27:14.89
>>20
お前がそのように想像するなら、その想像にしたがって作ってやればいいじゃないか。
22デフォルトの名無しさん:2012/02/05(日) 22:42:26.57
http://ideone.com/E3ZL6
これを直せと言うことじゃない?
23デフォルトの名無しさん:2012/02/05(日) 22:46:34.85
要するに、
そこのperlスクリプトを移植してくれ!!!!!
って話だろ
話の中身はカンタンだよ
24デフォルトの名無しさん:2012/02/05(日) 22:59:10.57
25デフォルトの名無しさん:2012/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デフォルトの名無しさん:2012/02/05(日) 23:47:46.75
>>24
ありがとうございます。
感謝しきりです。
拙い説明で誤解や説明足らずで申し訳ありませんでした。
27デフォルトの名無しさん:2012/02/05(日) 23:53:46.04
>>25
このsとtの定義の仕方すごく気持ち悪い
特にtのほうはRAM破壊してるんじゃないかと疑ってしまう
tはchar*にすべきだったのか?
http://ideone.com/Qi17G
28デフォルトの名無しさん:2012/02/05(日) 23:55:53.55
>>27
お前さんの勉強不足
29デフォルトの名無しさん:2012/02/05(日) 23:58:28.71
30デフォルトの名無しさん:2012/02/06(月) 00:06:13.63
>>25の問題考えたやつプログラミングしたことないだろ
3決めうちとか'\0'どこ行くんだよとか
またクズ養成校か
31デフォルトの名無しさん:2012/02/06(月) 00:12:47.98
>>28
まじか、不足してる点が分かるなら何を調べればいいか教えてほしい
疑問はtの定義で右辺の'\0'の行き場が左辺にないことなんだけど
3231:2012/02/06(月) 00:38:50.45
おお、JISを読んでたら確かに正しそうということが分かった
ヌル文字は空きがあるときだけくっつくのね

以下引用(JISX3010 6.7.8 初期化)
>文字型の配列は,単純文字列リテラルで初期化してもよい。それを波括弧で囲んでもよい。単純文字列
>リテラルの文字(空きがある場合又は配列の大きさが分からない場合,終端ナル文字も含めて。)がその配
>列の要素を前から順に初期化する。
33デフォルトの名無しさん:2012/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デフォルトの名無しさん:2012/02/06(月) 00:57:26.52
[1] 授業単元:C言語
[2] 問題文:狼と山羊とキャベツと男 (幅優先探索)
http://ideone.com/9r5cn
[3] 環境
 [3.1] OS: ubuntu linux
 [3.2] コンパイラ名とバージョン:gcc
 [3.3] 言語: C言語
[4] 期限: 2/6
何卒よろしくお願いします。
よろしくお願いします。
35デフォルトの名無しさん:2012/02/06(月) 01:00:16.04
>>34
>>11
>>24

この先生って本当に無言で問題を出したのだろうか・・・?
36デフォルトの名無しさん:2012/02/06(月) 01:04:11.56
>>34
おお間違えたすまん
今度は幅優先なのね
37デフォルトの名無しさん:2012/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デフォルトの名無しさん:2012/02/06(月) 11:59:33.24
>>37
>e^xをマクローリン展開すると
>e^x= Σ[n=0,∞] x^n/n^2
n=0だと∞になるけどこの式あってる?
分母はn!じゃなかったか?
39デフォルトの名無しさん:2012/02/06(月) 13:03:43.88
>>34
>>20みたいに移動ステップ数を表示しようとすると
「/*** この部分を自分で作成する ***/」以外の箇所まで触る必要があるね
http://ideone.com/D6KUc
40デフォルトの名無しさん:2012/02/06(月) 13:18:42.35

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

クイックソートの問題です。
centerの値がうまく出力されません、どうぞよろしくお願いします。
41デフォルトの名無しさん:2012/02/06(月) 13:39:36.68
>>25
本当にWindowsでgcc3.4なのかがあやしいんだけど。
意地悪な人だとその環境でしか動かせないコードを上げる場合があるよ
42デフォルトの名無しさん:2012/02/06(月) 13:42:02.73
>>40
>・問題文は、出題されたまま全文を書いてください。
問題文は?何の説明もなく埋めろと言われたの?
centerとpivotてどう違うの?
43デフォルトの名無しさん:2012/02/06(月) 14:54:07.99
>>40
大幅に書き換えれば動くだろう。
宿題じゃなく、自作プログラムのデバッグならそう書いてくれ。
44デフォルトの名無しさん:2012/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デフォルトの名無しさん:2012/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デフォルトの名無しさん:2012/02/06(月) 17:34:23.39
[2] 問題文(含コード&リンク):
http://ideone.com/vq9tk
上の物と、JISコード表(C言語風表記)のものを参考にして、小文字アルファベット(a〜z)から成る文字列を読み取り、a〜z各文字の出現回数を数えてその結果を出力するプログラムを作成せよ。
aから数えて n 番目の小文字アルファベットを出力するには putchar(‘a’+n) とすればよい。

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

この問題を貼るの忘れてました。よろしくお願いします。
47デフォルトの名無しさん:2012/02/06(月) 17:44:43.43
[1] 授業単元:
[2] 問題文(含コード&リンク):
http://ideone.com/uDssA
上を参考にして、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デフォルトの名無しさん:2012/02/06(月) 18:10:16.62
49デフォルトの名無しさん:2012/02/06(月) 18:19:44.36
50デフォルトの名無しさん:2012/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デフォルトの名無しさん:2012/02/06(月) 18:40:55.50
<<49

ありがとうございます。
申し訳ないのですが、コンパイルはできたのですが、その後の動作させたところ
文字列の読み取りができません。お手数ですが、どうしてこうなるのか教えてください。
52デフォルトの名無しさん:2012/02/06(月) 18:42:24.89
53デフォルトの名無しさん:2012/02/06(月) 19:05:07.64
>>51
読取終了は、Ctrl+D
54デフォルトの名無しさん:2012/02/06(月) 19:06:10.32
>>48
>>49

お騒がせしました。解決しました。
本当にありがとうございました。
55デフォルトの名無しさん:2012/02/06(月) 19:07:37.24
>>50
ideone.comでは動作してるから、環境の問題じゃないか?
56デフォルトの名無しさん:2012/02/06(月) 19:22:21.40
2倍と2乗の区別はつけようぜ
57デフォルトの名無しさん:2012/02/06(月) 19:30:16.70
>>54ですが、>>45に関してはうまくいったのですが、やはり>>46に関してうまく読み取りができません。
>>53の方がおっしゃるCtrl+Dも試しましたが、^Dとなるだけで読み取れませんでした。
やはり>>55の方がおっしゃるように環境の問題でしょうか?
わかる方がいましたら教えてください。
何度もすみません。
58デフォルトの名無しさん:2012/02/06(月) 19:50:41.78
>>57
ファイル名にハイフンが入っているからとかじゃない?
59デフォルトの名無しさん:2012/02/06(月) 20:13:15.12
Windowsだったら Ctrl-Z リターン
60デフォルトの名無しさん:2012/02/06(月) 20:18:31.30
>>40ですが
http://ideone.com/OsVQt
このようにプログラムをくんだのですが
partitionで右からの探索のときpivotと同じ値のときはよみすすめよるような
構造に変えたいのですが
60: while(j>=left && a[j]>=p) j--;
とかきかえると無限ループしてしまいます。
これを解消するためにはどこを直せばいいでしょうか?
61デフォルトの名無しさん:2012/02/06(月) 20:22:27.90
>>59
ありがとうございます。
できました!
62デフォルトの名無しさん:2012/02/06(月) 21:24:16.00
>>60
j > left
63デフォルトの名無しさん:2012/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デフォルトの名無しさん:2012/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デフォルトの名無しさん:2012/02/06(月) 21:37:04.84
>>64
ありがとうございます、無事解決しました!!
66デフォルトの名無しさん:2012/02/06(月) 21:39:31.02
個人的には>>62よりも>>63-64のdebugの仕方の方が重要なので、
debugの仕方を身につけて下さい。
67デフォルトの名無しさん:2012/02/06(月) 21:39:57.56
話それるけど、ideaoneで無限ループ入ったらどうなるんだろうと
思ってやってみたら、ちゃんと実行時間で切ってるのね。。
log inなしユーザーだと5sなのか。disabledなチェックボックスは
そう言う意味だったのね。。
http://ideone.com/GJ9d2

クソレスでした
68デフォルトの名無しさん:2012/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デフォルトの名無しさん:2012/02/06(月) 22:21:57.03
>>64
書き忘れじゃなくて、後から見つけただけじゃないの?
70デフォルトの名無しさん:2012/02/06(月) 22:24:17.88
71デフォルトの名無しさん:2012/02/06(月) 22:32:00.87
>>39さん
ありがとうございます。
感謝してます。
ただ、出力が
0: [ 男 狼 山羊 キャベツ ] [ ]
1: [ 狼 キャベツ ] [ 男 山羊 ]
2: [ 男 狼 キャベツ ] [ 山羊 ]
3: [ キャベツ ] [ 男 狼 山羊 ]
5: [ 男 山羊 キャベツ ] [ 狼 ]
7: [ 山羊 ] [ 男 狼 キャベツ ]
8: [ 男 山羊 ] [ 狼 キャベツ ]
9: [ ] [ 男 狼 山羊 キャベツ ]
6の数字が飛ばされて表示されるのですが、直してもらえないでしょうか。
自分では分かりませんでした。
http://ideone.com/D6KUc

72デフォルトの名無しさん:2012/02/06(月) 22:35:11.78
>>70
どっちもかな?
出力の大きさがある一定の大きさ以上になった場合と
経過時間が一定時間よりも長くなった場合
73デフォルトの名無しさん:2012/02/06(月) 22:46:52.05
どっちも
74デフォルトの名無しさん:2012/02/06(月) 22:52:22.67
>>72
そう
75デフォルトの名無しさん:2012/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日(出来れば早めにお願いします)

この条件であれば何でも良いので良い例のプログラムを一つお願いします。
7667:2012/02/06(月) 22:55:33.41
>>70
にゃるほどね。
77デフォルトの名無しさん:2012/02/06(月) 22:58:18.76
>>67は出力の大きさ
>>70は実行時間の長さ
78デフォルトの名無しさん:2012/02/06(月) 23:03:07.66
>>75
例えばdiffは
ttp://www.openbsd.org/cgi-bin/cvsweb/src/usr.bin/diff/diff.c
このページの
「Revision 1.57: download - view: text, markup, annotated - select for diffs」
のところのview: textでソース

ttp://www.openbsd.org/cgi-bin/cvsweb/src/usr.bin/
79デフォルトの名無しさん:2012/02/06(月) 23:15:58.10
>>75
その条件を満たしていれば「死ね」と表示するツールでもいいのだな。
80デフォルトの名無しさん:2012/02/07(火) 01:07:32.40
>>71
>>39
>>>20みたいに移動ステップ数を表示しようとすると
>「/*** この部分を自分で作成する ***/」以外の箇所まで触る必要があるね
普通に考えると上記のとおり別の箇所で対応すべきだと思うが
/*** この部分を自分で作成する ***/の箇所のみで対応するとこんなとこか
http://ideone.com/F20Gh
81デフォルトの名無しさん:2012/02/07(火) 01:42:24.57
>>80さん
ありがとうございます。
こんなに懇切に対応してくださって感謝しきりです。
ありがとうございましたm(_ _)m
82デフォルトの名無しさん:2012/02/07(火) 18:09:37.71
[1] C言語演習
[2] http://codepad.org/taYhrF2g のプログラムを参考にして
次のようなプログラムを作成せよ。
@ 名前の昇順に並べ替えるプログラム (A → Z)
A 3人分のデータをキーボード入力し、
 1.身長
 2.体重
 3.奨学金
それぞれの「昇順」と「降順」を選択して表示するプログラム
実行例 http://codepad.org/fkvIkH7e
[3.1] Windows7
 [3.3] C言語
[4] 2/8(水) 19時まで
どなたかよろしくお願いします。
83デフォルトの名無しさん:2012/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デフォルトの名無しさん:2012/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デフォルトの名無しさん:2012/02/07(火) 22:18:25.74
>>83
QZさんが解いてくれる。
86デフォルトの名無しさん:2012/02/07(火) 22:31:14.16
ラグランジュの四平方定理
ヤコビの四平方定理

あたり
87デフォルトの名無しさん:2012/02/07(火) 22:56:51.98
>>86
的外れすぎる
88デフォルトの名無しさん:2012/02/07(火) 22:57:17.87
89 ◆QZaw55cn4c :2012/02/07(火) 23:32:56.43
90デフォルトの名無しさん:2012/02/07(火) 23:37:12.94
>>89
ideoneのほうがいいよ
実行時間出るから

http://ideone.com/iis9g
91デフォルトの名無しさん:2012/02/08(水) 00:09:34.53
>>84
こんなに早くありがとうございます
非常に助かりました
92デフォルトの名無しさん:2012/02/08(水) 00:15:01.44
>>88
ありがとうございます。できれば@の方もお願いします。
(キーボードから入力する必要はありません。)
93 ◆QZaw55cn4c :2012/02/08(水) 00:36:05.64
>>90
たしかに。
標準入力を要求するコードでは特に便利で時々使っています。
http://toro.2ch.net/test/read.cgi/tech/1325685876/839
94デフォルトの名無しさん:2012/02/08(水) 00:39:42.81
>>93
ふつーにご存知ですよね。。失礼した
95デフォルトの名無しさん:2012/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デフォルトの名無しさん:2012/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デフォルトの名無しさん:2012/02/08(水) 03:08:23.86
98デフォルトの名無しさん:2012/02/08(水) 07:20:40.57
>>96
ありがとうございます
99デフォルトの名無しさん:2012/02/08(水) 08:46:52.37
>>97
ありがとうございました。助かりました。
10025:2012/02/08(水) 18:40:20.08
ありがとうございました。
101デフォルトの名無しさん:2012/02/08(水) 19:02:51.47
[1] 授業単元:C言語演習
[2] 問題文(含コード&リンク):文字列{"Osaka","Kyoto","Tokyo"}
関数@を2回呼び出して文字列(二次元配列)から2つの別々の文字列(一次元配列)を抜き出し、その文字列と文字数を表示せよ。
              また、その2つの文字列を関数Aに渡し、2つの文字列内に同じ文字があればその文字を表示せよ。

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

よろしくおねがいします。
何か質問があったら言ってください。
102デフォルトの名無しさん:2012/02/08(水) 19:25:21.13
[2]問題文
次のソースプログラムをMakefileを利用した分割コンパイルで実行出来るよう組み替えなさい
http://codepad.org/mnddLSDK
[3.1] OS: unix
[3.2] コンパイラ名とバージョン: gcc
[3.3] 言語: C
[4] 期限:2月8日 23時まで
分割コンパイルのコマンドもよくわからないため一緒に解説できたらおねがいします
103デフォルトの名無しさん:2012/02/08(水) 19:34:12.42
>>102
それC言語プログラムの問題じゃないだろ。プログラムはすでに出来てるんだろ。
makeコマンドの使い方調べろ。
104デフォルトの名無しさん:2012/02/08(水) 19:45:13.31
>>103
言葉足りませんでした このプログラムを2つのファイルに分割してa.outを生成するよう指示されています
分割したプログラムの作成がよく解らないのです
105102:2012/02/08(水) 19:46:27.38
名前入れ忘れました >>104>>102です 連投すみません
106デフォルトの名無しさん:2012/02/08(水) 20:46:38.66
>>104
>2つのファイルに分割して
どういう基準で分割するんだ
それによって話が変わる
107102:2012/02/08(水) 21:01:20.04
>>106 すみません特になにも指示されておりません
ただmakefileを利用した分割コンパイルするために一つのプログラムを二つに分割してコンパイル出来るようにしろといわれてます
108デフォルトの名無しさん:2012/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デフォルトの名無しさん:2012/02/08(水) 21:19:25.33
何でa.exeなんだよ
110デフォルトの名無しさん:2012/02/08(水) 21:22:42.53
コンパイルオプション指定すんのが面倒だったからだよ
111デフォルトの名無しさん:2012/02/08(水) 21:27:56.81
話にならん
112デフォルトの名無しさん:2012/02/08(水) 21:36:31.97
elf
113デフォルトの名無しさん:2012/02/08(水) 21:42:40.32
>>101

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


疑問2:
関数Aに、"yoto","kyo"を渡した場合、返す文字は"oo"?
114102:2012/02/08(水) 21:51:29.41
>>108 ありがとうございました ぶじ完成しました
115デフォルトの名無しさん:2012/02/08(水) 21:53:50.41
>>113
X >関数Aに、"yoto","kyo"を渡した場合、返す文字は"oo"?
O >関数Aに、"yoto","kyo"を渡した場合、返す文字は"yoo"?
116デフォルトの名無しさん:2012/02/08(水) 22:05:38.03
117デフォルトの名無しさん:2012/02/09(木) 04:28:20.72
>>108
最低限依存関係は書いたほうがいいよ
118名無し:2012/02/09(木) 16:31:20.52
http://www.wakayama-u.ac.jp/~tokoi/opengl/ex-d.html
このラジコンティーポットの動かすプログラミングをお願いします
119デフォルトの名無しさん:2012/02/09(木) 16:39:31.27
>>118
バカがたくさんいるからバカ山大学なのか
覚えたぞ
120名無し:2012/02/09(木) 16:58:06.58
ばかだから教えてください
121デフォルトの名無しさん:2012/02/09(木) 16:59:24.84
>>118
後輩よ、焦る気持ちはわかるがまずはテンプレを読もうぜ
122デフォルトの名無しさん:2012/02/09(木) 17:12:16.57
よそでも聞いてるからほっといていいよ
123名無し:2012/02/09(木) 17:36:58.99
GLUTの宿題は無理ですか?
124デフォルトの名無しさん:2012/02/09(木) 17:39:56.44
お前の態度が気に入らないだけだよ。
125名無し:2012/02/09(木) 17:41:05.87
すみません
126名無し:2012/02/09(木) 18:14:57.01
宿題お願いします
127デフォルトの名無しさん:2012/02/09(木) 18:31:45.07
良さげな先生なので、床井研究室にメールだせばいいのかね?
128名無し:2012/02/09(木) 18:53:05.63
[1] 授業単元:GLUT
[2]http://www.wakayama-u.ac.jp/~tokoi/opengl/ex-d.htmlラジコンティーポットの操作
[3] 環境
 [3.1] OS: ubuntu linux
 [3.2] コンパイラ名とバージョン:gcc
 [3.3] 言語: C言語
[4] 期限: 2/9(今日)
よろしくお願いします。
129デフォルトの名無しさん:2012/02/09(木) 19:37:18.04
おことわりします
130名無し:2012/02/09(木) 19:40:29.09
そうですか
131デフォルトの名無しさん:2012/02/09(木) 20:30:41.47
ubuntuに最初からopenGLとか入ってるモンなのか?
もしかすると環境構築からはじめなきゃあ行けないとかいうアホな相談を持ちかけてんのかこのアホクズは?
132デフォルトの名無しさん:2012/02/09(木) 20:46:33.52
大学のURLを貼るとか馬鹿かよ
知恵袋でカンニングして逮捕されたアホと同じだわ
133デフォルトの名無しさん:2012/02/09(木) 21:27:57.05
>>131
研究室サイトには、インストール方法載ってるから、がんばれ
134デフォルトの名無しさん:2012/02/09(木) 21:35:38.86
どこのページだよwww
そんくらい載せろよkswwwww
そんなんだからAFOなんだよw
めんどくせーなー
とか言われて投げられるのがオチだろ
135デフォルトの名無しさん:2012/02/09(木) 21:38:20.69
弱い者たちが夕暮れさらに弱い者を叩く
136デフォルトの名無しさん:2012/02/09(木) 21:41:08.22
137デフォルトの名無しさん:2012/02/09(木) 21:44:48.32
これ暗黙のうちにサラリとvisualstudio2008インストールしろとか言ってるよな?
その説明サイトはどこよアホ
ぬかりなくやれよ 時間と資源の無駄だ葛
138デフォルトの名無しさん:2012/02/09(木) 21:45:37.91
>>131
$ sudo apt-get install freeglut3-dev
するだけじゃね?1分も掛からないよ
139デフォルトの名無しさん:2012/02/09(木) 21:47:44.08
>>138
そうならそうとそれを初めっから書けばいいじゃんwwww
140デフォルトの名無しさん:2012/02/09(木) 21:49:40.33
>>139
deb系OSでGLUT使うなら常識じゃん
それすら知らない人に聞いたってしょうがないじゃん
141デフォルトの名無しさん:2012/02/09(木) 21:54:23.14
>>140
アホじゃねおめー
それなら>>138の文言はいらねーだろwww

分かる人ならすでに入っているしやり方も知ってる、
そんな人間に>>138なこと書いても意味が無いと自分?で言ってる、
おめーの脳みそアホの塊で出来てんのか?
142デフォルトの名無しさん:2012/02/09(木) 21:55:32.91
で、やるのかね、やらないのかね
143デフォルトの名無しさん:2012/02/09(木) 22:01:05.80
>>141
140は質問する立場からしたらってこと
138は単に131を馬鹿にしてるだけ
144デフォルトの名無しさん:2012/02/09(木) 22:08:53.43
145デフォルトの名無しさん:2012/02/09(木) 22:16:56.83
説明読んで、とりあえず、仮想ジョイスティックまでは組んだが、
眠いので寝るw
146デフォルトの名無しさん:2012/02/09(木) 22:26:01.57
[1] 授業単元:C言語
[2] 問題文(含コード&リンク):
http://codepad.org/gcasKWhG
ハッシュ表を用いて単語とその出現回数を登録し、
さらに単語の出現回数順にソートするソート関数を作成せよ。
[3.1] OS:Mac
[3.2] コンパイラ名とバージョン:gcc
[3.3] 言語:C
[4] 期限:2月11日まで

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

Macのターミナルを利用してテキストファイルを読み込み、単語(基本的に英単語)を登録します。
147デフォルトの名無しさん:2012/02/09(木) 22:27:35.69
コードでエラーが出てますが、最初に定義したSIZEという数をMAXWORDに変えるのを忘れたために起こってます。
148デフォルトの名無しさん:2012/02/09(木) 22:28:20.84
サンプルテキストくらい付けろks
149デフォルトの名無しさん:2012/02/09(木) 22:51:49.95
>>146
間違っていたら悪いけれど、
ハッシュ表を用いてないように思える。
連想リストになってる?
150デフォルトの名無しさん:2012/02/09(木) 23:00:22.03
perlerならハッシュはハッシュとしか言いよう無い
この文脈ではハッシュはハッシュ関数
151 ◆g/ZMVdytmo :2012/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デフォルトの名無しさん:2012/02/09(木) 23:16:49.44
予言しよう
次の宿題は「身体測定のファイルを開いてBMIを計算しろ」になるはずだ
153デフォルトの名無しさん:2012/02/09(木) 23:18:42.63
マクロスとかガンダムのBMIだろJK
154149:2012/02/09(木) 23:41:21.64
ハッシュ値が被ったときのために連想リストを使うこともあるのか。
ハッシュ表なんて実装したことがなかったから全然知らなかった。
155デフォルトの名無しさん:2012/02/09(木) 23:47:28.08
そんなの情報処理技術者試験の問1レベルの話だしCの初歩の授業でもやるだろ・・・
156デフォルトの名無しさん:2012/02/10(金) 00:03:42.21
チェイン方法ていう。
オープンアドレス方だとむずいのよ・・・いろいろ。
157デフォルトの名無しさん:2012/02/10(金) 00:19:51.69
>>141
でもお前は知らなかったんだろ
158146:2012/02/10(金) 00:59:43.71
159デフォルトの名無しさん:2012/02/10(金) 01:16:26.03
160デフォルトの名無しさん:2012/02/10(金) 01:17:58.64
ついでに聞くけど単語のカウントはできてんだよな?
その結果はどーーーーーなのよ
161デフォルトの名無しさん:2012/02/10(金) 01:20:51.15
162 ◆g/ZMVdytmo :2012/02/10(金) 01:42:19.28
>>161
こんなに早くありがとうございます。
すごく助かりました 。
163デフォルトの名無しさん:2012/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デフォルトの名無しさん:2012/02/10(金) 03:17:47.61
165164:2012/02/10(金) 03:20:36.93
ミスった。すまんなしで。
166デフォルトの名無しさん:2012/02/10(金) 04:33:02.76
167デフォルトの名無しさん:2012/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デフォルトの名無しさん:2012/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デフォルトの名無しさん:2012/02/10(金) 06:32:37.39
もう寝ろよ
170デフォルトの名無しさん:2012/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デフォルトの名無しさん:2012/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デフォルトの名無しさん:2012/02/10(金) 15:56:11.47
どこに質問すべきか悩むのですが、人が多そうなのでここでさせて頂きます。
焼きなまし法で巡回セールスマン問題を解いているのですが、近傍の選択方法について悩んでいます。
1. ランダムにある1つの都市を選び、そこからの訪問先の都市と順序を入れ替えた場合
2. ランダムにある2つの都市を選び、訪問順序を入れ替えた場合
と2つの近傍を考えました。
ランダムに訪問順序を決めた時に総距離が30000程度である時、
1の近傍だと総距離が13000程度、2の近傍だと8500程度まで短くなりました。
なお最適解が既に知られており、最小総距離が7542だそうです。
一般にヒューリスティックな方法を採用した場合に、13000や8500というのはおよそ良い近似解と見なせるのでしょうか?
173デフォルトの名無しさん:2012/02/10(金) 16:24:13.92
すみません
上のレスでは判断しようがありませんね
無視でお願いします
174デフォルトの名無しさん:2012/02/10(金) 17:30:26.90
>>172,173
スレ立てるまでもない質問はここで 117匹目
http://toro.2ch.net/test/read.cgi/tech/1328439334/
175デフォルトの名無しさん:2012/02/10(金) 18:05:50.29
>>174
ありがとうございます
そちらで質問してみます
176デフォルトの名無しさん:2012/02/10(金) 19:09:54.43
>>101です。
>>116ありがとうございます。


参考にして自分でやってみたのですが上手くいきません。
おかしいところがあれば修正をお願いします。
http://codepad.org/wFA4jTwr
177デフォルトの名無しさん:2012/02/10(金) 20:21:57.72
>>176
>http://codepad.org/wFA4jTwr

コンパイルエラーになってる。
178デフォルトの名無しさん:2012/02/10(金) 22:38:00.45
>>176
> printf(" 文字列¥n%s¥n 文字列の個数¥n%d¥n",a1,cnt+1);

これをz回実行する意図は?
179デフォルトの名無しさん:2012/02/11(土) 19:49:41.79
[1] 授業単元: メタヒューリスティック
[2] 問題文(含コード&リンク):
 TSPの問題ライブラリサイトTSPLIB (http://www.iwr.uni-heidelberg.de/groups/comopt/software/TSPLIB95/)内
の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デフォルトの名無しさん:2012/02/11(土) 20:05:03.89
> ランダム探索,シミュレーティド・アニーリング法の3つ
181デフォルトの名無しさん:2012/02/11(土) 21:17:19.27
>>172です
後日談になりますが、最終的に最適解の1.001倍の近似解が得られるようになりました
182176:2012/02/11(土) 22:04:52.23
>>178
> printf(" 文字列\n%s\n 文字列の個数\n%d\n",a1,cnt+1);

これをz回実行するのはおかしいですね
ありがとうございます。
183デフォルトの名無しさん:2012/02/11(土) 22:33:42.28
インライン関数は関数呼び出しのオーバーヘッドを無くすとなっているけれど、
この関数呼び出しのオーバーヘッドは何クロックサイクルなのでしょうか。
184デフォルトの名無しさん:2012/02/11(土) 22:35:02.92
組み込みか?
185デフォルトの名無しさん:2012/02/11(土) 22:37:46.73
PCです。
186デフォルトの名無しさん:2012/02/11(土) 22:38:48.06
>>182
今一、やりたいことが判らんないんだが、実行例を書いてみたら?
あと、x,yに範囲外(マイナスとか大きすぎる値)を指定した時はどうする?
187デフォルトの名無しさん:2012/02/12(日) 02:18:18.48
>>183
関数の呼び出し規約によって変わるのでは
詳しくないけど。
188デフォルトの名無しさん:2012/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デフォルトの名無しさん:2012/02/12(日) 04:38:08.45
>>188
1000/3+1000/7-1000/21
でよくね?
190 ◆jPpg5.obl6 :2012/02/12(日) 05:16:05.84
[1] 授業単元:C言語
[2] リスト構造を使ったアドレス帳の作成。 
リスト構造で管理し次の機能が実現できること。
•追加(データの新規登録)
•削除(任意のデータの削除)
•探索(任意のデータの詳細表示)
•一覧表示
•データのソー扱うデータは氏名、住所、電話番号、eメールアドレス
http://ideone.com/lMgd3
[3] 環境
 [3.1] OS:Windows7
 [3.2] コンパイラ名とバージョン:gcc
 [3.3] 言語: C言語(アルゴリズム)
[4] 期限: 2/12中(今日)
[5]これ以上どうやって良いかわからないのでよろしくお願いします


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

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

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

OpenWatcomは学習者用にお勧め.
特に16bit環境でプログラミングすると、コンピュータ特有の
メモリ量制約の問題がわかりやすく「やってはいけないこと」
とかの理解がしやすい。
LSI-Cとかでもできなくもないが同じコードで16bitと32bitの
比較が出来たりするのがWatcom
192 ◆QZaw55cn4c :2012/02/12(日) 09:41:22.50
>>191
lsi-c のスモールモデル限定(ただし far ポインタはあり)というのも捨てがたいですね。
lsi-c 、オープンソースにならないかな‥‥‥。
193デフォルトの名無しさん:2012/02/12(日) 09:45:39.74
>>179です。 >>180さんのご指摘がありましたので、訂正します。
[1] 授業単元: メタヒューリスティック
[2] 問題文(含コード&リンク):
 TSP(巡回セールスマン問題)の問題ライブラリサイトTSPLIB (http://www.iwr.uni-heidelberg.de/groups/comopt/software/TSPLIB95/)内
の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デフォルトの名無しさん:2012/02/12(日) 11:10:20.53
それぐぐればわかるんじゃ・・・
195デフォルトの名無しさん:2012/02/12(日) 11:56:16.64
>>190

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

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

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

これで大丈夫でしょうか?
197デフォルトの名無しさん:2012/02/12(日) 12:39:40.08
さんざん世話になっておいてこれか

http://dixq.net/forum/viewtopic.php?t=9744&p=78652
198 ◆jPpg5.obl6 :2012/02/12(日) 12:50:49.20
時間がないことで焦っており、これを元にどうにかできないかと思い、質問してしまいました。
大変、申し訳ありませんでした
199デフォルトの名無しさん:2012/02/12(日) 13:46:40.80
時間が無いもクソも
Name: astrea Date: 2011年12月12日(月) 13:33
2ヶ月経ってるじゃねーかよ

なんなんだこのゴミは?
200デフォルトの名無しさん:2012/02/12(日) 13:51:37.02
マルチは干すっていう伝統がこのスレにはあってだね。
201デフォルトの名無しさん:2012/02/12(日) 14:34:11.30
>>198
あの掲示板じゃ答えをくれないから逃げてきたってこと?
202デフォルトの名無しさん:2012/02/12(日) 14:40:53.42
答えをくれないから見限った だろうwwwww
203デフォルトの名無しさん:2012/02/12(日) 14:41:30.55
なぜ逃げになるんだろうねw
204デフォルトの名無しさん:2012/02/12(日) 14:42:10.67
原則丸投げ禁止の掲示板で答えをもらおうとして、もらえなかったから「見限った」ってこと?
205デフォルトの名無しさん:2012/02/12(日) 14:43:19.62
ゴメンネとかwww
あっちの掲示板にも詫びいれてこいよwww
下種がwwwww
206デフォルトの名無しさん:2012/02/12(日) 14:46:54.45
別に詫びなんていらないでしょ。
日常茶飯事
207デフォルトの名無しさん:2012/02/12(日) 14:50:52.53
>>193=>>206 か?wwww
208デフォルトの名無しさん:2012/02/12(日) 14:52:37.11
こりゃまた予想外な方向に。
>>193でもないし、>>190でもないよ。
QZにしてみる?
209デフォルトの名無しさん:2012/02/12(日) 15:19:26.01
諦めた
210デフォルトの名無しさん:2012/02/12(日) 15:26:21.23
締めた
211デフォルトの名無しさん:2012/02/12(日) 15:33:11.57
matrix(1, 10000*10000)をWindowsで高速に特異値分解したいのですが。どんなライブラリも使用可です。
212デフォルトの名無しさん:2012/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:データなし)

http://ideone.com/bj4FM
[3] 環境
 [3.1] OS: Linux
 [3.2] コンパイラ名とバージョン: gcc 3.4
 [3.3] 言語: C
 [4] 期限:2/13迄
よろしくお願いします。
213デフォルトの名無しさん:2012/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:データなし)

http://ideone.com/bj4FM
[3] 環境
 [3.1] OS: Linux
 [3.2] コンパイラ名とバージョン: gcc 3.4
 [3.3] 言語: C
 [4] 期限:2/13迄
よろしくお願いします。
214 ◆PyroL3rnqg :2012/02/12(日) 15:37:06.61
215デフォルトの名無しさん:2012/02/12(日) 15:39:43.66
大事なことなので3回目も予定してます
216デフォルトの名無しさん:2012/02/12(日) 15:40:48.48
>>211
はい、頑張ってください。
217デフォルトの名無しさん:2012/02/12(日) 15:55:23.79
お前ら、プログラミング以外だと生き生きしてるなw
218デフォルトの名無しさん:2012/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:データなし)

http://ideone.com/bj4FM
[3] 環境
 [3.1] OS: Linux
 [3.2] コンパイラ名とバージョン: gcc 3.4
 [3.3] 言語: C
 [4] 期限:2/13迄
よろしくお願いします。
219デフォルトの名無しさん:2012/02/12(日) 17:19:15.72
日本には 四度目の正直 という格言がある
220デフォルトの名無しさん:2012/02/12(日) 17:20:32.40
正しくは、三度目の正直ですが
221デフォルトの名無しさん:2012/02/12(日) 17:22:06.10
いいや ホトケの顔も三度まで だ
222デフォルトの名無しさん:2012/02/12(日) 17:23:00.92
仏様は三度
223デフォルトの名無しさん:2012/02/12(日) 17:23:38.27
日本には 三度あることは四度ある という格言がある
224デフォルトの名無しさん:2012/02/12(日) 17:25:34.29
一匹いたら百匹いる
225デフォルトの名無しさん:2012/02/12(日) 20:52:45.50
予定を立てるだけなのがアマグラマー
予定を守れてプログラマー

と聞きました。このスレッドにプログラマーの方はいらっしゃいますか?
226デフォルトの名無しさん:2012/02/12(日) 21:10:41.14
予定も立てないからアマグラマですらない
227デフォルトの名無しさん:2012/02/12(日) 21:17:19.98
達成不可能なよっていを立てるのが上じゃねの?
職業プログラマーなら引退してますが。
228デフォルトの名無しさん:2012/02/12(日) 21:34:29.02
日本語はおk?
229 ◆QZaw55cn4c :2012/02/12(日) 22:56:08.11
230デフォルトの名無しさん:2012/02/12(日) 23:26:35.54
明日の10時半から12時までc言語のテストがあります
そのテストは持ち込み可で会話以外なにしても大丈夫なのですが(2chでスレ立ててもなにしてもよいとのこと)
テストうpしたら解いてもらえますか?
ちゃんと自分でも解きます
231デフォルトの名無しさん:2012/02/12(日) 23:33:02.60
別にセンセにチくらててもよければ…
glutのセンセんとこに報告するよーな場所ですが・・・OK?
232デフォルトの名無しさん:2012/02/12(日) 23:34:42.35
>2chでスレ立ててもなにしてもよい

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

それで範囲はどのあたりだ
そこらへんが分かれば色々仕込んだコードを今から入念に用意できる
235デフォルトの名無しさん:2012/02/12(日) 23:46:27.54
まあつまるところこういうこった

嘘を嘘と見抜けないと(掲示板を使うのは)難しい by ひろゆき
236デフォルトの名無しさん:2012/02/12(日) 23:48:19.92
俺はやめとけって書いたからな。あとは知らん。自己責任で
237デフォルトの名無しさん:2012/02/12(日) 23:49:10.01
ばらすもなにも教授が2chにスレ立てても知恵袋で聞いてもなにしてもいいと言ってました

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

238デフォルトの名無しさん:2012/02/12(日) 23:51:36.14
>>237
どれが正解か、先生に見てもらってから答えに採用すると間違いがないかも
239デフォルトの名無しさん:2012/02/12(日) 23:54:49.08
どこの大学か教えてくれたら考えるけど?
240デフォルトの名無しさん:2012/02/13(月) 00:04:05.52
>>237
授業時間がそういう区切りなのは高専か?
241デフォルトの名無しさん:2012/02/13(月) 01:11:58.79
高卒?
242デフォルトの名無しさん:2012/02/13(月) 01:22:01.61
別にスレ立てなくともここでいいと思うが、、、スレが乱立したらそれはそれでおもろいけど。
243 ◆QZaw55cn4c :2012/02/13(月) 02:21:28.33
244デフォルトの名無しさん:2012/02/13(月) 02:34:38.19
QZさんJR━―━―━(゚∀゚)━―━―━―!!
245デフォルトの名無しさん:2012/02/13(月) 04:36:16.73
神降臨
246デフォルトの名無しさん:2012/02/13(月) 07:53:22.31
496 名前: ◆QZaw55cn4c [sage] 投稿日:2012/02/10(金) 21:46:07.42
>>494
お前さんのほうがゴキブリに近いのでは?
なぜ意味もなく叩く?
うまく質問がすすまないのは単なるスキルの問題に過ぎないのだから、スキルの一片でもみせてやったらええんとちゃうか?
それができないのなら、それはお前さんのほうがゴキブリ。

死ね
247デフォルトの名無しさん:2012/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デフォルトの名無しさん:2012/02/13(月) 12:07:36.94
>>230
テストはどうなったんだ?
249デフォルトの名無しさん:2012/02/13(月) 13:39:15.72
>>248
全部自分で解きましたw
自分の答案あるんですけど
答え合わせしてもらえますか?
250デフォルトの名無しさん:2012/02/13(月) 13:40:00.99
>>249
やだよ
さっさと失せろ
251デフォルトの名無しさん:2012/02/13(月) 13:41:29.57
答えあわせのできないプログラマは要らない
252デフォルトの名無しさん:2012/02/13(月) 14:15:25.45
お前が、いらない。
253デフォルトの名無しさん:2012/02/13(月) 15:10:36.16
>>251>>249あて
254デフォルトの名無しさん:2012/02/13(月) 16:07:14.21
>>243
X int select;
O int select=1;
255デフォルトの名無しさん:2012/02/13(月) 16:07:57.41
>>249
まず貼って見たら?
256デフォルトの名無しさん:2012/02/13(月) 17:00:18.89
[1] 授業単元: 情報処理
[2] 問題文(含コード&リンク):
(1)ポインタ char *ptr を用いて文字列を表現した場合、putchar( *(ptr+2) )とすると文字列の先頭から2つ後ろの文字を表示できる。
このことを利用し、 文字列 char *ptr=“ABCDEF” のうち、”BCD”だけをputcharを使って表記するプログラムを作成せよ

(2)
http://ideone.com/pfKkY
上記の関数 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デフォルトの名無しさん:2012/02/13(月) 17:08:12.40
> void getname
void?
258デフォルトの名無しさん:2012/02/13(月) 17:10:19.57
voidで何がまずい?
259デフォルトの名無しさん:2012/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デフォルトの名無しさん:2012/02/13(月) 17:19:24.22
voidかよ
261デフォルトの名無しさん:2012/02/13(月) 17:19:51.27
memset と同様に引数で渡されたポインタで示す先の内容の書き換えを行う関数だな
262デフォルトの名無しさん:2012/02/13(月) 17:21:48.83
どういう名前がいいんだろう。concat_fullnameとか?
263デフォルトの名無しさん:2012/02/13(月) 17:22:01.17
なんでvoidなんだよwww
ジュゲムさんの本名適当に区切って繋げてみろよwww
264デフォルトの名無しさん:2012/02/13(月) 17:24:37.04
>>259
ありがとうございました。
265デフォルトの名無しさん:2012/02/13(月) 18:36:44.26
>>256
題意からはポインターを使うのが順当だろうけど、以下でも可能。

void getname(char *s1, const char *s2)
{
sprintf(s1,"%s-%s",s1,s2);
}
266デフォルトの名無しさん:2012/02/13(月) 18:42:14.14
>>265
sprintf って第一引数のポインタと 第三引数以降で詰まれるポインタが同じ場合でも
正しく動作できるん?

memcpy のコピー先がコピー元と被ってる時のイメージでどうなのかな?とは思うけど
267デフォルトの名無しさん:2012/02/13(月) 18:57:33.23
未定義動作だったような気がする
268デフォルトの名無しさん:2012/02/13(月) 19:23:20.85
つmemmove
269デフォルトの名無しさん:2012/02/13(月) 19:25:50.06
>>268
それは分かってる。 sprintf で同じようなことが発生しないの?という疑問
270デフォルトの名無しさん:2012/02/13(月) 19:32:11.49
sprintfでも、コピー先とコピー元が重なれば未定義になる
つまり>>265はどうしようもないアホ
271デフォルトの名無しさん:2012/02/13(月) 19:48:41.30
sprintf(s2,"%s-%s",s1,s2); ならアウト。
272 ◆QZaw55cn4c :2012/02/13(月) 20:08:19.09
>>254
不要でしょう。どのみち 202行目〜203行目で値が必ず入ります。
そもそも auto 変数を初期化するその書き方が「Cらしくない。」
273デフォルトの名無しさん:2012/02/13(月) 20:12:50.87
>>271
sprintf(s1,"%s-%s",s1,s2); なら?
274デフォルトの名無しさん:2012/02/13(月) 20:19:34.41
>>273
「たまたま上手くいく」って事じゃない?
275 ◆QZaw55cn4c :2012/02/13(月) 20:20:02.95
>>254
おっと失礼。199行目で未初期化のselect を参照していましたね。これは大失態。
>>272 は取り下げます。
ご指摘ありがとうございました。

>>190 >>196
以下に訂正いたします。
http://codepad.org/GZAQCjsg
276デフォルトの名無しさん:2012/02/13(月) 20:48:14.01
>>273
sprintf(s1,"ABC-%s-%s",s1,s2);

これだと駄目
277デフォルトの名無しさん:2012/02/13(月) 21:36:26.31
>>272
199行目の while(select != 0){
で、selectが初期化されてないんじゃ?
278デフォルトの名無しさん:2012/02/13(月) 21:37:04.59
>>277
>>275に既に書かれてましたね、失礼。
279デフォルトの名無しさん:2012/02/14(火) 07:28:12.32
strncatの話?
280デフォルトの名無しさん:2012/02/14(火) 13:07:27.66
いや、strcatの話
281デフォルトの名無しさん:2012/02/14(火) 13:08:33.46
じゃなくてnだったごめん
282デフォルトの名無しさん:2012/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デフォルトの名無しさん:2012/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デフォルトの名無しさん:2012/02/16(木) 01:13:48.19
すいません忘れてました
[1] 授業単元: 趣味
[3] 環境
 [3.1] OS: ubuntu 11.10
 [3.2] コンパイラ名とバージョン: ubuntu11.10に最初から入ってるコンパイラ
 [3.3] 言語: C
[4] 期限: 無期限
[5] その他の制限: 標準ライブラリって何だろう
285デフォルトの名無しさん:2012/02/16(木) 01:32:27.58
286デフォルトの名無しさん:2012/02/16(木) 01:49:20.50
>>285
おおお
ありがとうございます。

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

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

287デフォルトの名無しさん:2012/02/16(木) 02:39:39.59
>>286
使い方間違えておいて酷い言いようだwww
288デフォルトの名無しさん:2012/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デフォルトの名無しさん:2012/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デフォルトの名無しさん:2012/02/16(木) 06:29:30.06
>>288
焦らずテンプレを読むんだ
291デフォルトの名無しさん:2012/02/16(木) 07:29:17.20
[1] 授業単元:知識と推論
[2] 問題文 探索によってパズルを解くプログラムを作成せよ(小町算)
[3] 環境
 [3.1] OS: Windows7
 [3.2] コンパイラ名とバージョン: VisualStudio2010
 [3.3] 言語: C言語
[4] 期限: 2/16

よろしくおねがいします><
292デフォルトの名無しさん:2012/02/16(木) 08:52:44.46
>>291
小町算には変形ルールのやつもあるけど、
「1□2□3□4□5□6□7□8□9 = 100 という数式の□の中に、+,−,×,÷,空白 のいずれかを一つずつ入れる」でいいのかな?
ttp://ja.wikipedia.org/wiki/%E5%B0%8F%E7%94%BA%E7%AE%97
293デフォルトの名無しさん:2012/02/16(木) 12:34:14.04
>>291
空白なし、*優先、/で小数部切り捨てなら↓
http://ideone.com/IjTzV
294デフォルトの名無しさん:2012/02/16(木) 14:31:59.32
[1] 授業単元:ゲームアルゴリズム
[2] 問題文 ローゼンケーニッヒ
[3] 環境
 [3.1] OS: Windows7
 [3.2] コンパイラ名とバージョン: VisualStudio2008
 [3.3] 言語: C++
[4] 期限: 2/18

ローゼンケーニッヒってカードゲームなんですが、出力は標準出力だそうです・・・
お願いします
295デフォルトの名無しさん:2012/02/16(木) 14:45:35.24
ttp://gioco.sytes.net/rosen.htm
これか?
もっと詳しいルールが書いてあるサイトとかレジュメとか無いの?
296デフォルトの名無しさん:2012/02/16(木) 14:57:39.99
297デフォルトの名無しさん:2012/02/16(木) 19:43:36.14
>>291
perlとかでゴリ押しすりゃあ簡単に書けるのに
なんでわざわざC使うんだろ
298デフォルトの名無しさん:2012/02/17(金) 02:48:47.52
スレの趣旨とはやや趣を異にする質問、ご容赦ください。

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

ダウンロード先(SourceForge.JP)
ttp://sourceforge.jp/projects/sfnet_bridge/releases/

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

コンパイル時の出力結果
ttp://www.dotup.org/uploda/www.dotup.org2648680.txt

# 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デフォルトの名無しさん:2012/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デフォルトの名無しさん:2012/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デフォルトの名無しさん:2012/02/17(金) 11:26:36.28
linux 以下がカーネルソースでないとダメなら
相当量書き直さないとダメじゃね

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

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

(しかしドキュメントや用例の多いLinuxと違って、Solaris系は必要な情報を調べるのが難しぃ)
303デフォルトの名無しさん:2012/02/17(金) 13:11:49.62
>>302
確認する気も環境も無いけど
もしかしたら configure がダメダメなだけかもしれない
304デフォルトの名無しさん:2012/02/18(土) 10:48:52.53
イーサネットのブリッジって、カーネルのサポートが要るわけだが、
これは単にそれを操作するためのユーティリティーかと。
でOS毎にカーネルインターフェースが違ったりするわけだが、このソフトは
なんとなくlinux専用なんじゃ。
305デフォルトの名無しさん:2012/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デフォルトの名無しさん:2012/02/21(火) 17:04:23.53
[1] 授業単元:C
[2] n個の数の総和
[3] 環境
 [3.1] OS: ubuntu linux
 [3.2] コンパイラ名とバージョン:cc
 [3.3] 言語: C
[4] 期限:無
[5]
アドバイスよろしくお願いします
http://codepad.org/PPgZa5ll
307デフォルトの名無しさん:2012/02/21(火) 17:08:27.56
double xval_xsum_num(double xval double xsum)

double xval_xsum_num(double xval, double xsum)
308ナナシ:2012/02/22(水) 22:17:19.38
問題をそのまま書くんで出来れば今日中に教えてください・・・
2進数10110001-2進数00101110の計算を2の補数を利用して計算する
という問題です。全く出来なくて困っています、助けてください
309ナナシ:2012/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デフォルトの名無しさん:2012/02/22(水) 22:26:00.69
>308,309
>>1を読んでテンプレ通りに書きなよ
309はいいとしても308は具体的に何を作るのか見えない
入力は何?出力は何?
311デフォルトの名無しさん:2012/02/22(水) 22:26:25.53
>>308
>>1のテンプレ使え
312デフォルトの名無しさん:2012/02/22(水) 22:26:32.01
>>309
これは考えればわかる問題がんばってくださいw
313ナナシ:2012/02/22(水) 22:36:12.14
すいません。聞き方が悪かったです。308は2進数をキーボードから入力します。2の補数の使いかたが全くできません。
include<stdio.h>だけでやってもらえると嬉しいです
314ナナシ:2012/02/22(水) 22:38:00.98
309はグラフを縦に作るので理解できません。未熟なので力を貸してください・・・
315デフォルトの名無しさん:2012/02/22(水) 22:40:15.36
ペロッ


これは釣り
316デフォルトの名無しさん:2012/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ナナシ:2012/02/22(水) 22:46:16.70
釣りじゃないです!本当に出来なくて困っています・・・
318デフォルトの名無しさん:2012/02/22(水) 22:51:27.61
>>317
質問の仕方どうこうじゃなくてテンプレ使えって言ってんの
質問する側なんだからルールぐらい守れ
319ナナシ:2012/02/22(水) 22:51:29.26
>>316さん
ありがとうございます!
でも、
printf("%c ", a[j] >= i ? '*' : ' ');
の!?ってどういう意味なんですか?
というか、使い方がさっぱり分からないです。
すいません。
320デフォルトの名無しさん:2012/02/22(水) 22:57:42.09
玄人()は三項演算すっきゃねぇwww
321デフォルトの名無しさん:2012/02/22(水) 23:03:58.34
if(a[j] >= i) printf("* ");
else printf("  ");
322ナナシ:2012/02/22(水) 23:09:27.63
>>321さんありがとうございます!懇切丁寧に説明してくれて。
>>320さん僕は素人なんですいません。
工業高校でC言語を学び始めたもので・・・
323デフォルトの名無しさん:2012/02/22(水) 23:10:04.89
>>319
iの後ろに1-2個の空白、そのあと任意個の'あとは書いてあるとおりだよ
324デフォルトの名無しさん:2012/02/22(水) 23:11:01.08
回答している奴と質問している奴の自演に見える
325ナナシ:2012/02/22(水) 23:18:57.00
そんなことないです。
僕は本当にC言語が出来ないんでここで質問してるんです・・・
補数の方もできないでしょうか?
326デフォルトの名無しさん:2012/02/22(水) 23:23:11.31
この時期にこれって終わってるな
327ナナシ:2012/02/22(水) 23:25:53.40
余り進まない高校なので、すいません・・・
だから、力を貸していただけないでしょうか?
328デフォルトの名無しさん:2012/02/22(水) 23:33:08.57
みんな呆れてるのかレスが付いてないから初めて回答してみる

>>306
コンパイラが答え教えてくれてるじゃん。
41行目の引数二つの間にコンマがないよ。
中身については見てないからわかんね。
インデントしてないから読む気が起きないお…
329デフォルトの名無しさん:2012/02/22(水) 23:35:45.64
>>328
お前は直下のレスも読めない文盲か?
識字障害か?
330デフォルトの名無しさん:2012/02/22(水) 23:37:56.12
あーほんとだ。鬼の首でも獲ったかのように煽られちゃった。
331デフォルトの名無しさん:2012/02/22(水) 23:38:41.05
日本語でおk
332デフォルトの名無しさん:2012/02/22(水) 23:39:19.30
算数できない高校生っているんだなw
333デフォルトの名無しさん:2012/02/22(水) 23:42:04.75
誰か卒論片付けてくんねーかなw
334デフォルトの名無しさん:2012/02/22(水) 23:44:01.82
>>330
素直に謝れない奴は死んだほうがマシ
335ナナシ:2012/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デフォルトの名無しさん:2012/02/22(水) 23:44:55.27
調べろよ
337ナナシ:2012/02/22(水) 23:45:38.74
ぐぐりましたが出て来ません・・・
338デフォルトの名無しさん:2012/02/22(水) 23:46:51.11
そんなはず、あるかーーーーーーーい!
339デフォルトの名無しさん:2012/02/22(水) 23:47:37.87
if(a[j] >= i) printf("%c ",'*');
else printf("%c ",' ');
340デフォルトの名無しさん:2012/02/22(水) 23:48:02.92
上手く表示されないのは{}で囲んでないからじゃないの
341ナナシ:2012/02/22(水) 23:49:33.41
とはいっても、ここで%cを入れてるなんてどうやってググレば出てくるんですか
342デフォルトの名無しさん:2012/02/22(水) 23:51:12.29
あ、あの、、暇だったのでアレンジ板作ってみました。。

http://ideone.com/w7RW0
343ナナシ:2012/02/22(水) 23:53:02.04
>>339さんありがとうございます!おかげ様でグラフ出来ました!
あとは2の補数の問題なんですけど・・・
2進数を10進数にや10進数を2進数にってのは出来るんで、2進数を2の補数を利用してやるところだけ力を貸していただけないでしょうか?
344デフォルトの名無しさん:2012/02/22(水) 23:54:52.72
ナナシ君の質問見てると
今まで全く授業に出席してなくて、若しくはセンセイがゴミで
勉強してないのにいきなり課題をやろうとしてるように感じるのは俺だけか
345デフォルトの名無しさん:2012/02/22(水) 23:55:40.14
>>342
5と10がふんだんにちりばめられた、とてもすばらしいコードですね。
まるで素敵な奇跡みたいです。
その調子でこんごも精進してくだしあ。
346デフォルトの名無しさん:2012/02/22(水) 23:56:47.89
>>345
あ、ありがとうございますorz
347デフォルトの名無しさん:2012/02/22(水) 23:57:51.56
2の補数でぐぐれ
348デフォルトの名無しさん:2012/02/22(水) 23:58:33.87
テンプレすら守らず、それを指摘されてもスルーするような輩を甘やかすな。
349ナナシ:2012/02/22(水) 23:59:38.28
2の補数 C言語でググったけど出ませんでした・・・
だから力を貸してください・・・
350デフォルトの名無しさん:2012/02/23(木) 00:00:01.20
なんという釣り
351ナナシ :2012/02/23(木) 00:01:06.20
ここの人たちって思ってたより無能ですよね・・・
なんかがっかりです・・・
352ナナシ:2012/02/23(木) 00:02:46.48
自己解決しました
353デフォルトの名無しさん:2012/02/23(木) 00:02:50.77
おっしゃる通り無能なので回答できないです
お引き取りください
354ナナシ:2012/02/23(木) 00:03:02.94
>>351 は偽物です!
こんなクソみたいな騙りする奴はウンコでも食ってろ
355デフォルトの名無しさん:2012/02/23(木) 00:03:04.11
やっぱ釣りか。楽しかったよ
356ナナシ:2012/02/23(木) 00:03:13.23
テンプレ守ってるじゃないですか。何が足りないんですか?
問題文を全部書いてるし、数字もちゃんと書いて、目的も書いています。
コレ以上何を書くんですか?
357ナナシ:2012/02/23(木) 00:05:34.42
人がせっかくこうやって頼んでるんですから
答えてくれたっていいじゃないですか
それくらいのことが出来ないなんてダメですね。
358デフォルトの名無しさん:2012/02/23(木) 00:06:52.48
>コレ以上何を書くんですか?
>>2のテンプレ
359デフォルトの名無しさん:2012/02/23(木) 00:07:42.09
わろたwナナシはトリップつけろ
360デフォルトの名無しさん:2012/02/23(木) 00:09:58.26
>>357
とりあえず、立場なw
テンプレそんなに大変か?w
361デフォルトの名無しさん:2012/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の値を表示させていったのですが、問題なく表示されていました。
http://codepad.org/nVENnzfB
362ナナシ:2012/02/23(木) 00:14:49.89
なるほど。
じゃあ、
単元はサブ関数
問題文は2進数10110001-2進数00101110の計算を2の補数を利用して計算する
環境は何を書いていいのやら
OSはwin7
コンパイラはBCC
言語はC
期限は2012年02月23日00:25
でお願いします
363ナナシ:2012/02/23(木) 00:16:14.08
>>357は僕書いてないですよ
364デフォルトの名無しさん:2012/02/23(木) 00:16:36.30
もうええて
365デフォルトの名無しさん:2012/02/23(木) 00:17:02.28
期限わろた
366デフォルトの名無しさん:2012/02/23(木) 00:17:12.28
だからナナシはトリをつけなさい
367デフォルトの名無しさん:2012/02/23(木) 00:17:39.78
>>362
鬼かおまえはw
368デフォルトの名無しさん:2012/02/23(木) 00:17:44.08
テンプレをテンプレで書かないとは・・・
相当周りの見えないやつだな
369デフォルトの名無しさん:2012/02/23(木) 00:20:24.91
期限まで・・・あと・・・5分!
370デフォルトの名無しさん:2012/02/23(木) 00:21:04.53
わざとしてるんだろ
371ナナシ:2012/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ナナシ:2012/02/23(木) 00:22:54.90
これでお願いします。
今までのミスを許してください。
ごめんなさい
373デフォルトの名無しさん:2012/02/23(木) 00:24:50.86
喜べ!期限が25分延長されたぞ!w
374デフォルトの名無しさん:2012/02/23(木) 00:25:25.30
>>372
             ___,,,,,..... -一ァ 
         / ̄      ,-──--、,! 
.        /      / お   .,! 
.         /      .i   断 だ ,! 
       /       i  り  が ,! 
.      /        i  し   ,! 
.      /        .ヽ ま   ,! 
.       /    / |   ./ .〉 す__,,! 
     /   ノ  |//ノ //    ,! 
     /  /        \  .,! 
.   /  /  ○    ○  .ヽ ,! 
   /__∩ |    (__人__)    | .,! 
.  //ヨ ) ヽ   .       / .,! 
  ヽ|.ヨノ |              ,i 
  ``ヽ.、_|             ,! 
       ``ヽ.、..       ,,! 
             ``ヾ、   ,,! 
                 ``ヽ,! 
375デフォルトの名無しさん:2012/02/23(木) 00:26:21.06
どーせできあがったもんdisるんやろ?
376デフォルトの名無しさん:2012/02/23(木) 00:26:25.68
>>361
数値積分やったなぁ
でも4/(1+x^2)の0〜1定積分の方が結果が出た時嬉しい
377デフォルトの名無しさん:2012/02/23(木) 00:26:37.95
納期延長とは涙が出るのう
378ナナシ:2012/02/23(木) 00:27:09.30
ホントに分らなくてここに来たんです。
だから、2の補数だけども教えてください!
379デフォルトの名無しさん:2012/02/23(木) 00:27:24.42
>>349
普通は負の数はみんな2の補数で表現されてるから、普通に計算すりゃいいんじゃね?
380ナナシ:2012/02/23(木) 00:27:57.11
>>375そんなことはありません!
僕の力ではもう、どうしようもないのですから・・・
381デフォルトの名無しさん:2012/02/23(木) 00:28:44.99
382ナナシ:2012/02/23(木) 00:28:56.91
>>375
できもしないのに偉そうに邪魔しないで下さい
383ナナシ:2012/02/23(木) 00:29:32.83
>>379
2の補数を利用して0と1を交換して+1をするということが出来ないんです・・・
384ナナシ:2012/02/23(木) 00:30:35.45
>>381
お気持ちはありがたいですけど2の補数についてじゃなくて2の補数をC言語で利用するのが出来ないんです
385375:2012/02/23(木) 00:31:38.51
ワロタw
386ナナシ:2012/02/23(木) 00:32:29.64
テンプレを書いたのにもうダメなんでしょうか・・・
387361:2012/02/23(木) 00:33:03.74
誠に自分勝手で申し訳ないのですが、自己解決いたしました。
単に配列xの値をx[n-1]までしか定義してなかったのに、x[n]の値を呼び出そうとしてエラーが起きていただけでした。
388デフォルトの名無しさん:2012/02/23(木) 00:34:03.16
>>383
printf("%x\n", ~2+1); --> fffffffe
printf("%x\n", -2); --> fffffffe

こういうこと?
389ナナシ:2012/02/23(木) 00:34:13.68
いいですか?
あなたがたがテンプレを書けといったからこっちは書いたんです
それなのに何ですかこの対応は。人としておかしいと思いませんか?
390デフォルトの名無しさん:2012/02/23(木) 00:35:03.49
off-by-one errorありがちですね
391ナナシ:2012/02/23(木) 00:35:24.01
>>389も僕が書いたんじゃありません
392デフォルトの名無しさん:2012/02/23(木) 00:35:33.75
もうマジでよぉ、トリつけろや
393デフォルトの名無しさん:2012/02/23(木) 00:36:30.48
394ナナシ:2012/02/23(木) 00:36:46.15
>>388
00101110というのを
11010011という風に変えたいんです。
でも、2の補数がプログラムで組めないので出来ないです・・・
395ナナシ:2012/02/23(木) 00:37:12.10
折角簡単な問題を出してやってるんだから感謝してください
こちらが謝礼を貰っても良いくらいですが
今回は特別にタダで解かせてあげます
396ナナシ:2012/02/23(木) 00:38:11.45
>>395の人も酷いのです・・・
397デフォルトの名無しさん:2012/02/23(木) 00:39:56.67
そんなこんなしているうちにもう納期まで10分を切ろうとしているわけだが
398ナナシ:2012/02/23(木) 00:41:11.12
早く寝たいので、
すみませんが早くしてください。
399ナナシ:2012/02/23(木) 00:42:01.90
>>398
どうしてそんなことするんですか?
僕はそんなこと思ってないです
400デフォルトの名無しさん:2012/02/23(木) 00:42:13.13
そろそろ首釣る社員も出てくるレベル
401デフォルトの名無しさん:2012/02/23(木) 00:42:26.68
素直さがないやつはいつか破綻する
残念だったな
402ナナシ:2012/02/23(木) 00:43:12.62
どうしても教えてくれないんですか・・・
403デフォルトの名無しさん:2012/02/23(木) 00:43:22.18
すげーいいこと教えてやるわ
リファレンス読め
急がば回れ
404デフォルトの名無しさん:2012/02/23(木) 00:46:36.57
ナナシまじでアホだなぁ

素直にテンプレ書いてればとっくの昔に答えが出てたのに
405デフォルトの名無しさん:2012/02/23(木) 00:50:09.92
>>318に指摘されてるのをスルーしたのを見て、俺はイラッとしたなぁ。
たまにこういうやつ紛れ込んでくるけど、いつもイラッとする。
406デフォルトの名無しさん:2012/02/23(木) 00:52:28.13
釣りだと思うけど、違うのか?
407デフォルトの名無しさん:2012/02/23(木) 00:52:56.30
あー納期過ぎちゃった会社オワタ
まあ釣りだろ
408ナナシ:2012/02/23(木) 00:54:22.15
はい、すいませんでした・・・
テンプレを書かずに質問していて。
以後気をつけるので今回は許して頂けないでしょうか
409ナナシ:2012/02/23(木) 00:56:42.41
>>406
釣りじゃなくてマジで分からないんです・・・
410デフォルトの名無しさん:2012/02/23(木) 00:57:37.04
おそらくもうしばらくすると颯爽とQZが現れて
驚きのコードを貼っていってくれるでしょう
411ナナシ:2012/02/23(木) 00:59:11.08
ほんとですか!?
じゃあ待ってます
412ナナシ:2012/02/23(木) 00:59:46.91
QZさんはビット幅とか無視するのでいりません
413デフォルトの名無しさん:2012/02/23(木) 01:00:43.29
も の ほ ん ナ ナ シ も、 え せ ナ ナ シ も
い い か げ ん に し ろ
414ナナシ:2012/02/23(木) 01:01:42.52
いいかげんにと言われても・・・
分からないので諦めるわけには
415デフォルトの名無しさん:2012/02/23(木) 01:02:57.33
ってか、みんな書けてるよね。
416デフォルトの名無しさん:2012/02/23(木) 01:06:46.42
もう皆がナナシでいいんじゃね?w
417デフォルトの名無しさん:2012/02/23(木) 01:07:08.45
俺がナナシだ
418デフォルトの名無しさん:2012/02/23(木) 01:07:51.32
俺が……俺たちがナナシだ
419デフォルトの名無しさん:2012/02/23(木) 01:08:50.43
マジレスしとくと10進かなんかで書かんと数値わからんぞ
420デフォルトの名無しさん:2012/02/23(木) 01:08:52.81
しぃた&ぱずぅ「バルス!」
421デフォルトの名無しさん:2012/02/23(木) 01:10:03.38
ビットを反転するのはにょろ演算子。
422デフォルトの名無しさん:2012/02/23(木) 01:11:18.27
>421
俺にょろ使わんかったわー。
423デフォルトの名無しさん:2012/02/23(木) 01:12:41.94
折角だから俺はこのひく演算子を使うぜ
424 ◆QZaw55cn4c :2012/02/23(木) 02:46:12.11
425デフォルトの名無しさん:2012/02/23(木) 05:24:37.01
>>423
マニアックすぎる、このスレでは俺にしか通じないと思うがw
426デフォルトの名無しさん:2012/02/23(木) 05:33:40.97
ネットじゃ有名すぎるネタなのに何言ってんだw
どうせプレイしたこともない知ったかだろw
427デフォルトの名無しさん:2012/02/23(木) 07:51:14.20
糞ゲーなんかわざわざプレイするかよwww
ネタとして知ってりゃいいレベル
428デフォルトの名無しさん:2012/02/23(木) 09:08:42.40
429デフォルトの名無しさん:2012/02/23(木) 15:12:24.63
QZのコードなんでこんなに長いの?
430デフォルトの名無しさん:2012/02/23(木) 16:00:04.51
元PASCALプログラマだったとか
431デフォルトの名無しさん:2012/02/23(木) 16:11:57.50
無駄を省いてシンプルに書くことができないのは頭が悪すぎるから
432デフォルトの名無しさん:2012/02/23(木) 16:54:48.22
少なくとも頭が良すぎてシンプルに書きすぎて結果多くを書く羽目に陥った経験がある人とは違うだろな
433デフォルトの名無しさん:2012/02/23(木) 17:07:52.29
お前ら、プログラミング以外だと生き生きしてるなw
434デフォルトの名無しさん:2012/02/23(木) 17:24:16.81
生き生きとプログラミングをするのは初心者か廃人
435デフォルトの名無しさん:2012/02/23(木) 17:38:59.56
生き生きしてられるのは、みんなでホワイトボード囲んでラフな設計してる時くらいだな。
436デフォルトの名無しさん:2012/02/23(木) 17:48:27.12
試作(失敗・やり直しは可)と設計(失敗・やり直しは不可で責任問題になる)
は根本的に違うだろうな
437デフォルトの名無しさん:2012/02/23(木) 17:54:05.57
生き生きするのは帰る前30分だけ
438デフォルトの名無しさん:2012/02/23(木) 17:55:02.06
生き生きするのはデスクトップマスコットのマミちゃん(仮称)に話しかけている時だけ
439デフォルトの名無しさん:2012/02/24(金) 01:30:30.61
>>426-427
糞ゲーネタって一般的なのか、すまんかった
440デフォルトの名無しさん:2012/02/24(金) 04:17:02.02
>>426
>>425じゃないけどポスターもってる。R-TYPEみたいな画風の。
441 ◆QZaw55cn4c :2012/02/24(金) 06:04:11.39
442デフォルトの名無しさん:2012/02/24(金) 06:10:29.14
日本語が読めなかったときのコードを貼ってなにがしたいんだ?
443 ◆QZaw55cn4c :2012/02/24(金) 06:16:27.95
444デフォルトの名無しさん:2012/02/24(金) 06:20:18.89
自分じゃ割り切れることも理解できてない計算するとかw
445デフォルトの名無しさん:2012/02/24(金) 06:46:35.60
446デフォルトの名無しさん:2012/02/24(金) 10:08:58.63
頭が良すぎてシンプルに書きすぎて突っ込まれて何度も書く羽目になったみたい
447デフォルトの名無しさん:2012/02/24(金) 21:38:35.82
亀レスだが、電卓プログラムを書いてみた。
コンソール画面から*、(、)を入力させるのが面倒だったので、文字列を与えるようにした。
ttp://ideone.com/lDaF9
448デフォルトの名無しさん:2012/02/26(日) 00:11:20.20
>>447
ずいぶん昔にぼくが依頼したプログラムですねw
もう授業も終わって春休みだけどありがとうございます
449 ◆QZaw55cn4c :2012/02/26(日) 17:37:33.57
450デフォルトの名無しさん:2012/02/26(日) 18:54:34.04
質問させていただきます。PGを書く問題ではないのですが、
「ソートプログラムとデータ構造について
具体的なソートプログラムの名前をあげ、
とのようなデータ構造(配列、単方向リスト、双方向リスト、循環リストなど)が
なぜ適しているか述べろ。

が分かりません!教えてください
451デフォルトの名無しさん:2012/02/26(日) 18:56:59.72
>>450
スレチ
wikipedia でも丸写ししとけ
452デフォルトの名無しさん:2012/02/26(日) 20:38:16.02
>>451

のってないから聞いてます
453デフォルトの名無しさん:2012/02/26(日) 20:40:58.08
煽り方が単調
5点
454デフォルトの名無しさん:2012/02/26(日) 20:46:40.98
>>450
スリープソート
ソート対象を数値で表した時に値域が狭い場合に適する
455デフォルトの名無しさん:2012/02/26(日) 20:52:29.34
>>450
シャッフルソート
リストをシャッフル→ソートされているかをチェック の2段階からなる

ものの論文によれば、リストが小さい時、
シャッフルソートはバブルソートよりも早く終わる確率が高い
456デフォルトの名無しさん:2012/02/26(日) 22:03:29.62
>>449
単語カウントだけの用途だと、ハッシュ値が衝突するとハッシュを使う意味が無いが、
このプログラムはハッシュ値が衝突するんじゃないか?
457デフォルトの名無しさん:2012/02/26(日) 22:13:02.00
QZな人だから許される。
458 ◆QZaw55cn4c :2012/02/26(日) 22:31:06.27
>>456
チェインハッシュ法を採用しました。チェイン方法としては双方向線形リストを使い、この線形リストは頻度順になるようにデータ挿入ごとに並び替えを行っています。
459デフォルトの名無しさん:2012/02/27(月) 03:53:09.24
460デフォルトの名無しさん:2012/02/27(月) 17:06:47.43
[1] 授業単元: 情報処理
[2] 問題文(含コード&リンク):

(1)2つのdouble型 変数 a,bをメンバとして持つ構造体 struct cmplxを作成せよ。
cmplexを複素数、a, bをそれぞれその実部と虚部と考え、
二つの複素数za, zbの積 を返す関数 struct cmplx cprod(struct cmplx za, struct cmplx zb)を作成せよ。
この関数を用いて二つの複素数 1 + 2i, 2+4iの積の結果を表示するプログラムを作成せよ。

(2)
http://ideone.com/MkPVH

上のプログラムを参考にして。現在の時刻を “○時△分□秒”の形式で表示する関数 void put_time(void)を作成し、
それを用いて現在の時刻を表示するプログラムを作成せよ。

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

よろしくお願いします。
461デフォルトの名無しさん:2012/02/27(月) 17:50:00.32
>>460
(2)の方 これをコピペ

printf("%02d時%02d分%02d秒",
local->tm_hour,
local->tm_min,
local->tm_sec);
462デフォルトの名無しさん:2012/02/27(月) 19:23:00.98
>>461

ありがとうございます。
ただ申し訳ないのですが、もう少し詳しく説明していただけると助かります。
463デフォルトの名無しさん:2012/02/27(月) 19:39:36.42
>>462
直感による

local->tm_year
local->tm_mon
local->tm_mday
local->tm_wday

これらのあとには、大抵、hour,min,secとかが続くから、
何も考えずに local->tm_ の後を書き換えればいい
464デフォルトの名無しさん:2012/02/27(月) 20:07:41.28
>>463

ありがとうございます。

書き換えて見たのですが、コンパイルに失敗し、

エラー E2141 en15-02.cpp 22: 宣言の構文エラー(関数 put_date() )
エラー E2139 en15-02.cpp 28: 宣言に ; がない(関数 put_date() )
エラー E2134 en15-02.cpp 28: 複合文に } がない(関数 put_date() )
警告 W8004 en15-02.cpp 28: 'wday_name' に代入した値は使われていない(関数 put_date() )
*** 3 errors in Compile ***

と表示されます。どういう意味なのかわからないので、どなたかわかる方はお教えください。
465デフォルトの名無しさん:2012/02/27(月) 20:21:51.26
466デフォルトの名無しさん:2012/02/27(月) 20:32:38.47
>>465

ありがとうございます。何が違ったのかちゃんと見てみます。

どなたかわかる方がいましたら>>460の(1)もお手数ですがよろしくお願いします。
467デフォルトの名無しさん:2012/02/27(月) 20:51:33.65
468デフォルトの名無しさん:2012/02/27(月) 21:29:13.08
[2] 問題文(含コード&リンク):

http://ideone.com/d0Q1L

上ののプログラムを参考にして、unsigned型整数をビット表記した時の下から4ビット(20 から23の桁)を表示する関数 void print_4bits ( unsigned x) を作成せよ。
またこの関数を用いて、0から15までの整数を4ビットで表示するプログラムを作成せよ。


[3] 環境
 [3.1] OS: Windows
 [3.2] コンパイラ名とバージョン:
 [3.3] 言語: C
[4] 期限: 今日中


よろしくお願いします。
469デフォルトの名無しさん:2012/02/27(月) 21:47:24.09
>>468
void print_4bits(unsigned x)
{
int i;
for ( i = 3; i>=0; i--)
putchar( ( (x >> i) & 1U) ? '1' : '0');
}
470デフォルトの名無しさん:2012/02/27(月) 22:00:17.24
>>469

ありがとうございました。
471 ◆QZaw55cn4c :2012/02/27(月) 22:18:17.99
>>456
追記:確かに >>449 のハッシュ関数の実装は適当で性能は最悪でしょう。MD5/RFC1321 も一度は採用してはいたのですが、MD5 ルーチンの記述量が全体の5割以上になってしまうので、とりやめました。
宿題用途でお手軽に記述できてかつそこそこの性能を発揮するハッシュ関数としてはどんな実装になるのでしょうか?
472デフォルトの名無しさん:2012/02/27(月) 22:50:08.22
なんかすごい難しいことやってるな
世間で流通してるハッシュ関数ならハッシュコードを使うのが普通とは思うけど、
宿題&単語カウントってキーワードから考えると、ハッシュは単なる辞書機能のことを指してて最初の提示例で十分じゃないかと思うのは自分だけ?
473デフォルトの名無しさん:2012/02/27(月) 23:16:14.38
それは野暮ってもんだ
宿題やってほしい勢と、俺のプログラムを見ろ勢の利害が一致して成り立ってるスレだし
474デフォルトの名無しさん:2012/02/28(火) 01:34:38.56
ハッシュ法で暗号学的ハッシュ関数……?
475デフォルトの名無しさん:2012/02/28(火) 12:43:59.74
ま裁判官だったら一発で弾劾裁判されるタイプだろな
476 ◆QZaw55cn4c :2012/02/28(火) 20:12:41.07
>>472
>最初の提示例
ん?どれ?
477 ◆QZaw55cn4c :2012/02/29(水) 03:07:06.35
>>146
お手ごろなハッシュ関数(FNV Hash関数:http://www.isthe.com/chongo/tech/comp/fnv/index.html)をみつけましたので、それにさしかえました。
http://toro.2ch.net/test/read.cgi/tech/1313183984/43
478デフォルトの名無しさん:2012/03/01(木) 01:19:54.82
[1] 授業単元: プログラミング実習
[2] 問題文: 構造体の型の成績をqsortを用いて
点数を高いものから順に並び替えよ
動作例:
student[1]:76
student[2]:65
student[3]:82
  ・
  ・
------------------------
成績順にソートしました。
------------------------
student[3]:82
student[1]:76
student[2]:65
  ・
  ・
  ・

[3] 環境
 [3.1] OS:windows7
 [3.2] コンパイラ名とバージョン:visual studio
 [3.3] 言語:C言語
[4] 期限:3月1日(今日)の18時30分まで
[5] その他の制限:
stdlibをインクルードし、qsortを使って解くこと。
「student」は必ず構造体を用いること。
できるだけ簡潔で分かりやすいプログラムを心がけること。
ソースコードは多くても70行以内に収めるのが望ましい。

お願いします。
479デフォルトの名無しさん:2012/03/01(木) 01:24:10.13
ちょっと訂正します。
動作例の上のほうのstudenは入力です。

あと、studentと、scoreの二つをを
stdataという構造体で扱って解いてほしいです。

追記になり少々見苦しいかもしれませんが
よろしくお願いします。
480デフォルトの名無しさん:2012/03/01(木) 01:33:17.28
>>478を見ると、入力は点数の数値だけを連続し入力し、入力が終わったら、
そのままソートして結果出力してるように見える

stdataという構造体作ったとしても、scoreが点数として、studentには何を格納するの?
481デフォルトの名無しさん:2012/03/01(木) 01:34:57.11
番号
482デフォルトの名無しさん:2012/03/01(木) 01:53:56.30
>>481
さんくす
そりゃそうだ
483デフォルトの名無しさん:2012/03/01(木) 02:00:06.34
初めはこういう程度でいいのかと思ったんだが、
題意とはデータ構造が違うっぽいな

http://ideone.com/OiLRm
484デフォルトの名無しさん:2012/03/01(木) 02:21:48.86
>>483
夜分遅くにありがとうございます。
せっかく解いていただいたところ、申し訳ないのですが、
どうやら、成績はEOF(ctrl+Z)が入力されるまで自分の手で
入力していくプログラムのようです。
よろしければ修正していただくことは可能でしょうか。
もし可能であればお願いしたいです。
485デフォルトの名無しさん:2012/03/01(木) 02:37:02.09
>>484
やってみた
EOF または 空エンターで入力打ち切り

http://ideone.com/9bzK2
486デフォルトの名無しさん:2012/03/01(木) 16:57:33.87
>>485
     -ーー ,,_
   r'"      `ヽ,__
   \       ∩/ ̄ ̄ ヽつ
  ノ ̄\ /"ヽ/ "   ノ   ヽi
 |  \_)\ .\    >  < |\
 \ ~ )     \ .\_  ( _●_)\_つ   ありがとう。
    ̄       \_つ
無事提出することができて、たすかりました。
487デフォルトの名無しさん:2012/03/01(木) 17:46:31.18
>>485,486
>http://ideone.com/9bzK2


>>478
>点数を高いものから順に並び替えよ
なので、x、y逆じゃね?

X return ((stdata*)x)->score - ((stdata*)y)->score;
O return ((stdata*)y)->score - ((stdata*)x)->score;
488デフォルトの名無しさん:2012/03/01(木) 18:10:08.14
489デフォルトの名無しさん:2012/03/02(金) 18:27:35.63
[1] 授業単元:C言語演習
[2] 問題文:
キーボードで入力された名前をchar型の一次元の配列nameに入れていきます。
各名前の先頭アドレスをp_nameに入れます。
p_nameのアドレスをptrptrに入れます。
最後に一番長い名前と一番短い名前、変数ptrptr、p_name、nameのアドレスを表示します。
実行例:
名前を10個まで入力できます。桁数は最大30です。
name1: tanaka
name2: nakabayashi
name3: hama
   ・
   ・
一番長いのは"nakabayashi"で、11桁。
一番短いのは"hama"で、4桁。
Adress of name: 231191 Adress of p_name: 231511 Adress of ptrptr: 231551

[3] 環境
 [3.1] OS: Windows
 [3.2] コンパイラ名とバージョン: CPad for Borland
 [3.3] 言語: C
[4] 期限: 2012年3月4日中まで
お願いします。
490デフォルトの名無しさん:2012/03/02(金) 19:52:15.78
キーボードで入力された名前をchar型の一次元の配列nameに入れていきます。
名前を10個まで入力できます。桁数は最大30です。
char name[300];

各名前の先頭アドレスをp_nameに入れます。
char (*p_name)[10];

p_nameのアドレスをptrptrに入れます。
char *(*ptrptr)[10]);

こういうこと?
C言語より日本語のが難しいわ
491デフォルトの名無しさん:2012/03/02(金) 19:54:56.60
最後間違えた。こうかな
char (**ptrptr)[10];
492489:2012/03/03(土) 00:59:31.66
>>490
そういうことなんですかね。
とりあえず実行例にあるように、適当にキーボードから名前を入力していったあとに、
一番長い名前とその桁数、一番短い名前とその桁数、nameのアドレス、p_nameのアドレス、
ptrptrのアドレスを表示するようなプログラムを作成したいです。
全然できない状況です。よろしくおねがいします。
493デフォルトの名無しさん:2012/03/03(土) 02:00:33.46
494デフォルトの名無しさん:2012/03/03(土) 02:01:03.93
>>489
元の問題文がその通り書いてあるなら出題に不備がある感が…
ダブルポインタの練習のための問題だと思うけど
char name[300]; って宣言と
char * name[10]; って宣言の2パターンある希ガス。
まあchar * name[10];のほうだと、p_nameにアドレス入れるのが冗長になるから
問題を好意的に捉えれば前者なんだろうけど。
コードも出さずに偉そうなこといって申し訳ない
495デフォルトの名無しさん:2012/03/03(土) 02:08:04.23
>>493
ぐあ。すげえ。
書きもしないで問題に文句言ってた自分が恥ずかしや
496489:2012/03/03(土) 03:53:48.10
>>493
わぁすごい。
本当にありがとうございます!
497デフォルトの名無しさん:2012/03/03(土) 08:36:56.98
>>493
一番長い名前、一番短い名前が複数あったらどうするの?
498デフォルトの名無しさん:2012/03/03(土) 09:31:50.02
こういうクソ意地悪い系列が入力された時の最大最小の動作なんて
質問者・回答者はおろか出題者すら考えてねーんだろーな

tanaka
yamada
kagaya
kaneko
koyano
sasaki
sakuma
499デフォルトの名無しさん:2012/03/03(土) 09:39:15.57
こういう問題なら一つ表示すれば十分
500デフォルトの名無しさん:2012/03/03(土) 09:45:42.37
この問題はまだましだけど、たまに本当に意味わからん宿題があるよな
ああいうの出される所で勉強してるとプログラミング嫌いになるんだろうなぁ
501デフォルトの名無しさん:2012/03/03(土) 11:53:40.64
スレチだけど、アセンブリの授業教えてる先生が意地悪っつーか凝ってるっつーか
わざとバグを仕込んであるアセンブリコードのデバッグの宿題とか死にかけたな。懐かしい
502デフォルトの名無しさん:2012/03/03(土) 15:01:19.24
>>501
>わざとバグを仕込んであるアセンブリコードのデバッグの宿題

期待される動作をきちんと説明してあれば、いい教材になりうるけどな。
教える側のイメージが曖昧で、何通りにも解釈可能ってのはたまによくある。
503デフォルトの名無しさん:2012/03/03(土) 16:10:22.23
>>502
> たまによくある。

お前の人生自体も失敗がたまによくありそうだな。
504デフォルトの名無しさん:2012/03/03(土) 17:03:37.94
わぁ、おもしろーい
505デフォルトの名無しさん:2012/03/03(土) 18:41:48.63
>>496
310に変えておいたほうがいいよ
506デフォルトの名無しさん:2012/03/04(日) 06:05:40.84
address
507デフォルトの名無しさん:2012/03/04(日) 11:12:49.10
【質問テンプレ】
[1] 授業単元:Discrete systems
[2] 問題文(含コード&リンク):http://www.scribd.com/doc/83713731/A-1
http://www.mediafire.com/?ty96723pwecp43g
[3] 環境
 [3.1] OS: windows7/xp
 [3.2] コンパイラ名とバージョン: Visual studio 2008
 [3.3] 言語: C
[4] 期限: 3/5 19:00
[5] その他の制限: なし

LEDパネルを表示させる系のプログラムですが
Exercise 3からまったくわかりません><
508デフォルトの名無しさん:2012/03/04(日) 12:34:09.60
[1] 授業単元:C++
[2] 問題文(含コード&リンク):以下のようなコードはバグである。理由を考察すること。
@{
char hoge[11];
char *poge = "aa.bb.cc";
char *tok = NULL;
char *ptr1 = NULL;
char *ptr2 = NULL;

memset(hoge, '\0', 11);
strcpy_s(hoge, 11, poge);

ptr1 = strtok_s(hoge, ".", &tok);
ptr2 = strtok_s(NULL, ".", &tok);

ptr1 = strtok_s(poge, ".", &tok);
ptr2 = strtok_s(NULL, ".", &tok);
}

Afor(int i=0; i<plName->Getlength(); i++)
※XMLの読み込みで、取得したタグ名の全ての要素についてループさせる処理です。

[3] 環境
 [3.1] OS:windows7
 [3.2] コンパイラ名とバージョン: Visual studio 2008
 [3.3] 言語: C++
[4] 期限:3/4 23:00
[5] その他の制限: なし
問題Aについて、要素の数が膨大になる場合、パフォーマンスが劣化する。
という解答では×とのことでした。

以上です。よろしくお願いします。
509デフォルトの名無しさん:2012/03/04(日) 15:07:29.94
>>508
strtokは第一引数の文字列を直接変更する。
pogeは変更してはいけない
510デフォルトの名無しさん:2012/03/04(日) 15:09:22.85
Aはそれだけじゃバグは見当たらない。
はしょった?
511デフォルトの名無しさん:2012/03/04(日) 15:18:19.03
>>508
>Afor(int i=0; i<plName->Getlength(); i++)

Getlength()の返り値が途中で変わったらまずいだろうけど、他にあるかな?
512デフォルトの名無しさん:2012/03/04(日) 21:36:43.09
ループの中で plName が変わり意図とは違う回数で終わるとか?
513デフォルトの名無しさん:2012/03/04(日) 22:07:23.10
>for(int i=0; i<plName->Getlength(); i++)
int len = plName->Getlength();
for(int i=0; i<len; ++i)
とかじゃないよね?
514508:2012/03/04(日) 22:42:09.41
>>509-513
皆さんありがとう。
Aについてだけど、少しはしょってた。申し訳ない。
以下全文です。

MSXML2::IXMLDOMDocument2Ptr pDoc;
MSXML2::IXMLDOMNodeListPtr INodeListPtr;

pDoc->load("sample.xml");
INodeListPtr plName = pDoc->getElementsByTagName("aaa");
for(int i=0; i<plName->Getlength(); i++)
{
//ここまで

問題があるのはforループの箇所
515デフォルトの名無しさん:2012/03/04(日) 22:46:02.44
18分でどーしろというんだ
アホかこいつ
516デフォルトの名無しさん:2012/03/04(日) 23:03:10.01
まぁ普段使ってなきゃ無理だね
しかもXMLの処理は.NETが異常に捗るからMSXML使ってる人なんてもういないだろ
517デフォルトの名無しさん:2012/03/04(日) 23:08:07.39
>>514
問題の意図がわからんな
パフォーマンスを求める前にエラーチェックをするべきでしょ
518デフォルトの名無しさん:2012/03/05(月) 03:23:48.78
>>514
forループの箇所に問題はないけど、それ以外に問題ありのように思うわ。
23時には間に合わなかったけど、18分もかかるほどの内容ではなかった。
519デフォルトの名無しさん:2012/03/05(月) 03:46:42.95
>>514
typedefがないってことではないよなぁw
520デフォルトの名無しさん:2012/03/08(木) 10:20:08.22
>>514
>for(int i=0; i<plName->Getlength(); i++)

X int i
O long i
521デフォルトの名無しさん:2012/03/08(木) 12:12:24.06
>>519
無かったらコンパイル通らないし
いや、まさか・・・
522デフォルトの名無しさん:2012/03/09(金) 20:25:50.41
[1] 授業単元: 情報処理
[2] 問題文
(1)
http://ideone.com/F0NZo

上記のプログラムはオープンするファイルが abc に限られている。
キーボードからファイル名を読み込んで、そのファイルをオープンするように変更せよ。

(2) 台形公式を用いて、分割数 N を増やしながら f(x) = x 3 を 0から1の範囲で積分し、
その計算結果と解析解(1/4)の差が0.001未満になったら計算を終了するプログラムを作成せよ。
Nの初期値を1として、Nについての for文を用いること。

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

(1)で使用したサイトであげていただけると助かります。
よろしくお願いします。
523デフォルトの名無しさん:2012/03/09(金) 22:49:18.09
>>522
(1) http://ideone.com/BJtZP
(2) http://ideone.com/yntWm

数学苦手だから (2) はちょっと自信ない
524デフォルトの名無しさん:2012/03/09(金) 23:09:14.96
>>523

ありがとうございます。
525デフォルトの名無しさん:2012/03/09(金) 23:51:00.61
>>524, 523
2番目はこんな感じじゃなかろうか
http://ideone.com/WqmYZ
526523:2012/03/10(土) 00:14:37.57
>>525
あ、なるほど
そっちが正解だわ
527デフォルトの名無しさん:2012/03/15(木) 21:50:23.21
[1] 授業単元: アルゴリズム
[2] 問題文(含コード&リンク):
KMP法のアルゴリズムの関数を作成せよ。
[3] 環境
 [3.1] vista
 [3.2] VC 2008
 [3.3] 言語: C
[4] 期限: 3月16日まで

分かる方いらしたらよろしくお願いします
528527:2012/03/15(木) 21:52:00.17
>>527
申し訳ありません、追記です。文字列照合においてのKMP法です。
529デフォルトの名無しさん:2012/03/15(木) 21:52:28.99
>>527
宿題は、出された問題をそのまま書かないと、誰もやってくれないよ
530デフォルトの名無しさん:2012/03/15(木) 22:08:20.14
>>527
分かる方って、自分では調べてやってみた?
531 ◆QZaw55cn4c :2012/03/15(木) 23:45:54.92
>>527
http://www.amazon.co.jp/dp/4874084141/
の p389 に 30 行ほどでのってるよ。algo.lzh っていうこの本のサンプル集もどこかに転がってるんじゃないかな。
最近の図書館は24時間営業じゃなかったっけ。この時期なんかは特に。
532デフォルトの名無しさん:2012/03/16(金) 10:39:01.00
533デフォルトの名無しさん:2012/03/16(金) 10:43:17.37
>>327
http://codepad.org/MBex3iLm

おら、動いたぞ。
534デフォルトの名無しさん:2012/03/18(日) 06:20:26.52
[1] 授業単元: -
[2] 問題文:http://judge.u-aizu.ac.jp/onlinejudge/description.jsp?id=0002&lang=jp
[3] 環境
 [3.1] OS: ?
 [3.2] コンパイラ名とバージョン: ?
 [3.3] 言語: C
[4] 期限:無期限
[5] その他の制限: http://codepad.org/9XK5Xemy
一応書いてみたのですが正解として受け入れられませんでした。
微妙にスレチな気もしますが宜しくお願いします。
535 ◆T7UZkyB.V6 :2012/03/18(日) 07:57:32.20
>>534
#include <stdio.h>
#include <math.h>
int main(){
  int in1, in2, in3;
  char buf[80];

  while(!eof(stdin)){
    gets(buf);
    sscanf(buf, "%d%d", &in1, &in2);
    in3 = in1 + in2;
    printf(int(log10(in3)+1));
  }
}
微妙にノーコンパイルにしておいた。
536デフォルトの名無しさん:2012/03/18(日) 08:47:19.81
>>534
何がダメで不正解じゃなかったのか書かないと
意味ねーじゃん
537デフォルトの名無しさん:2012/03/18(日) 08:56:21.53
>>535
code.c: In function ‘main’:
code.c:11: error: expected expression before ‘int’
だそうです

>>565
不正解の時は「Wrong Answer」としか言ってくれない
538 ◆T7UZkyB.V6 :2012/03/18(日) 09:01:32.24
英語圏の教授か?
#include <stdio.h>
#include <math.h>
int main(){
int in1, in2, in3;
char buf[80], *p;
while(1){
  if(feof(stdin)) break; // ddd ddd[EOF]
  if(!gets(buf)) break; // ddd ddd[NEWLINE][EOF]
  sscanf(buf, "%d%d", &in1, &in2);
  in3 = in1 + in2;
  printf("%d\n", (int)log10((float)in3)+1);
}return 0;}
539デフォルトの名無しさん:2012/03/18(日) 09:28:00.11
ほんとにただ解きたいから解いてるだけなやつだなw
コミュニケーションとれてないw
540 ◆T7UZkyB.V6 :2012/03/18(日) 10:03:57.37
>>ww
#include <stdio.h>
#include <math.h>
int func(int sum){
  int i;
  for (i = 0; sum; i++)
    sum /= 10;
  return i;}
int main(){
  int in1, in2, in3;
  char buf[80], *p;
  while(1){
    if(feof(stdin)) break; // ddd ddd[EOF]
    if(!gets(buf)) break; // ddd ddd[NEWLINE][EOF]
    sscanf(buf, "%d%d", &in1, &in2);
    in3 = in1 + in2;
    printf("%d\n", func(in3));
  }return 0;}
541デフォルトの名無しさん:2012/03/18(日) 10:20:05.90
3時間以上かけてそんなプログラム書いてるの?
542デフォルトの名無しさん:2012/03/18(日) 10:28:04.60
そこの素数求める問題をエラトステネスの篩で書いたら時間切れくらって以来やってないな
543デフォルトの名無しさん:2012/03/18(日) 10:29:36.05
>>538
/tmp/cceCITzA.o: In function `main':
code.c:(.text+0x24): warning: the `gets' function is dangerous and should not be used.

>>540
/tmp/cc4nIZbg.o: In function `main':
code.cpp:(.text+0x75): warning: the `gets' function is dangerous and should not be used.


\(^o^)/
544 ◆T7UZkyB.V6 :2012/03/18(日) 10:45:47.20
[3] 環境
 [3.1] OS: Unix
 [3.2] コンパイラ名とバージョン: cc
 [3.3] 言語: C
    if(!fgets(buf,80,stdin)) break; // ddd ddd[NEWLINE][EOF]
545デフォルトの名無しさん:2012/03/18(日) 10:46:15.07
>>542
自分が解いた限りではそんな問題なかったぞ
546デフォルトの名無しさん:2012/03/18(日) 10:53:49.67
547デフォルトの名無しさん:2012/03/18(日) 10:56:44.91
>>546
一回計算した値は使いまわせば余裕
548デフォルトの名無しさん:2012/03/18(日) 11:36:22.02
>>534
致命的な間違いがあるけど、指摘されてんのはそこじゃねーんだよな
549デフォルトの名無しさん:2012/03/18(日) 11:46:25.99
>>534
jについてのループおかしくね?
数字以外の入力もそのまま処理されるのもまずい気がする

それと>>535のはprintfのsyntax errorとeof()がまずいらしい(理由は知らん)
こう書き直したら動いた
#include <stdio.h>
#include <math.h>
int main(){
int in1, in2;
char buf[80];

while(gets(buf) != NULL) {
sscanf(buf, "%d %d", &in1, &in2);
printf("%d\n", (int)log10(in1 + in2)+1);
}
}
550デフォルトの名無しさん:2012/03/18(日) 11:56:28.06
>>549
/tmp/ccmsA2nL.o: In function `main':
code.c:(.text+0x7d): warning: the `gets' function is dangerous and should not be used.

getsは使ったらダメなようです
551デフォルトの名無しさん:2012/03/18(日) 12:08:54.95
これで通るだろ
#include<stdio.h>

int main(void)
{
int a, b;
char buf[16];

while(scanf("%d%d", &a, &b)==2)
{
printf("%d\n", sprintf(buf, "%d", a+b));
}

return 0;
}
552デフォルトの名無しさん:2012/03/18(日) 12:37:13.86
>>551
すげぇ・・・通った
天才だわ
553デフォルトの名無しさん:2012/03/18(日) 12:57:10.81
>>552
解けた人数が難易度の目安になる
200人のは簡単
100人くらいのを解こうとしたら動的計画法を使えるようにならないとだめ
50人くらいのを解こうとしたら思いつきがいる
554デフォルトの名無しさん:2012/03/18(日) 13:07:01.25
>>553
今回の問題1647人いるんですが・・・
555デフォルトの名無しさん:2012/03/18(日) 13:17:21.84
なんで正答率じゃなくて人数を目安にするんだ?
556デフォルトの名無しさん:2012/03/18(日) 13:19:26.26
>>555
やれば分かる
557デフォルトの名無しさん:2012/03/18(日) 13:31:35.50
初めて書き込みます。よろしくお願い致します。固定長バイトの文字列の中の一部を抜き出すところがわかりませんでした。
1] 授業単元:C言語
[2] 問題文(含コード&リンク):
文字列A(固定長150バイト)一万行以上と文字列B(CSV)一万行以上のそれぞれのテキストデータ・ファイルがある。文字列A
の5文字目から6文字分と文字列Bの2カラム目の4文字目から6文字分を比較し、同じなら、文字列Aの
77文字目から50バイト分を文字列Bの4カラム目を置き換える。文字列Bの4カラム目が50バイト以下なら
" "空白で埋める。50バイトより大きい場合50バイトまでの大きさを対象とする。
置き換え対象領域は日本語全角漢字含む文字列となる。
文字列Aの対象領域は2バイトx20文字+1バイト10文字で整形されている。
文字列AはSolaris10上のファイル。文字列BはエクセルファイルをCSV保存してFFFTPでSolaris10へコピーしたもの。
文字コード:文字列A(EUC-JP)、文字列B(sjis2eucで変換)
[3] 環境
 [3.1] OS: 実行環境はSolaris10(x86)、開発環境はCentOS5.8、文字列AはSolaris上のファイル。文字列BはエクセルをCSVで保存しSolarisへコピー。
 [3.2] コンパイラ名とバージョン: 実行環境(Solaris-gcc3)、開発環境(CentOS-gcc4.1.2)
 [3.3] 言語: C言語
[4] 期限: 3月21
[5] その他の制限:特になし
【アップローダー==ラウンジ】(質問が長い時はココ使うと便利 回答者もコードが長ければここに)
558デフォルトの名無しさん:2012/03/18(日) 13:42:15.97
これ宿題なの?

○文字目っていうのは全角も考えたうえでの数?
全部全角だとすると77文字目って142バイト目くらいから始まることになるけど
559デフォルトの名無しさん:2012/03/18(日) 13:45:18.02
食卓に欠かせない存在って言えばやはり塩と醤油ですよね。「あれ?これ味薄くない?」「これ味違くない?」
という言葉を言い出せない僕らにとって無くてはならないアイテムです。もちろんこの醤油的存在はアジア圏を
中心に大活躍しているわけですが、昨日のコンビニ弁当と学校給食に続き、お隣韓国の醤油工場をご紹介です。
しかも摘発された工場です。

無許可で経営していたとの理由で摘発された韓国醤油「魚醤(エクジョッ)」製造工場なのですが…。

http://spytune.net/wp-content/uploads/2012/03/uji.jpg

ウジ虫が主原料になっちゃってるぅぅぅぅ!!!!

これ無許可の前に食品衛生法違反で逮捕して!ちなみに観光客や市民に向けて出荷されていたそうです…。

http://spytune.net/?p=450
560デフォルトの名無しさん:2012/03/18(日) 13:54:19.44
csvの仕様をちゃんと実装するのはめんどくさい
エスケープとかクォートとか
561デフォルトの名無しさん:2012/03/18(日) 14:11:10.87
>>534
たぶん、xをターミネーションしてない
562デフォルトの名無しさん:2012/03/18(日) 14:15:45.97
>558
間違いました。1ー66バイトが1バイト、67ー126が変換対象(日本語混じり)124ー150が1バイト
となります。
学校ではなく、職場の(自己啓発)プログラミング講座の課題です。
563デフォルトの名無しさん:2012/03/18(日) 14:18:27.65
訂正
1ー77バイトが1バイト、77ー126が変換対象。126ー150が1バイト
です。

何度もスミマセン。
564デフォルトの名無しさん:2012/03/18(日) 14:20:38.52
>>562
自力で解かなきゃ意味ないじゃんwwwww
565デフォルトの名無しさん:2012/03/18(日) 14:21:07.07
>>564
それを言ってしまったらこのスレ全部アウト
566デフォルトの名無しさん:2012/03/18(日) 14:24:34.04
>>565
これで給料もらってるなら話は別だろ
567デフォルトの名無しさん:2012/03/18(日) 14:35:51.95
>>566
そういうもんかね。AOJとかの質問するほうがどうかしてると思うけど。

>>557
> 固定長バイトの文字列の中の一部を抜き出すところがわかりません
それが必要な場面がないけれど、

必要なら
strncpy(dst, src+startoffset, wantlength);
dst[wantlength] = '\0'
とかやればいいよ
568デフォルトの名無しさん:2012/03/18(日) 14:41:16.10
>>567
AOJのは高専向けの問題の中でも超入門の過去問だろ
569デフォルトの名無しさん:2012/03/18(日) 14:56:15.68
>>567
ありがとうございます。この問題では
文字列Aのキーになる文字列を抜き出し、ループの中で文字列Bのキーになる文字列
を抜き出し比較しif文でマッチしたら、
文字列Aの対象文字列前,後の文字列を抜き出し間にBの文字列を差し込みファイル出力
という処理を考えていました。文字列を抜き出さずに比較する方法とは
どのようなものでしょうか?
570デフォルトの名無しさん:2012/03/18(日) 15:18:51.15
>>569
そのやり方でいいと思うよ
571 ◆T7UZkyB.V6 :2012/03/18(日) 15:35:18.88
572 ◆QZaw55cn4c :2012/03/19(月) 12:34:06.63
>>571
>char str[256], x[256], y[256];
決め打ちか‥‥。
573デフォルトの名無しさん:2012/03/19(月) 13:10:45.21
574デフォルトの名無しさん:2012/03/19(月) 18:34:33.39
>>569
文字列A側の1万行以上のそれぞれの行にたいして、
一致する行を文字列Bの一万行以上から捜して、
文字列置換して、文字列A側がEOFになるまで繰り返す
という問題ではないのか?
575デフォルトの名無しさん:2012/03/19(月) 20:39:22.99
>>574
何が変わったん
576デフォルトの名無しさん:2012/03/19(月) 20:41:40.94
比較対象が一行か複数行か
577デフォルトの名無しさん:2012/03/19(月) 22:25:18.22
>>557
他に条件ないの?csvパースするの面倒なんだけどw
昔書いたモジュールぶち込むのも面倒だし。。。
578デフォルトの名無しさん:2012/03/19(月) 23:01:56.76
エクセルで作ったCSVだから割とまじめなCSVだろうしなぁ。
ある程度でいいんじゃないかなぁ。面倒でやる気でないけど…
579デフォルトの名無しさん:2012/03/20(火) 00:21:34.08
パースはどうでもいいけど
head -n 100でもしてデータぐらいは上げて欲しいな
580デフォルトの名無しさん:2012/03/20(火) 02:07:42.81
>>サンプルのダミーデータです。
http://ideone.com/kNPtm
581デフォルトの名無しさん:2012/03/20(火) 02:56:01.08
> 文字列Aの対象領域は2バイトx20文字+1バイト10文字で整形されている。
TTTとかMMMとかは半角だけど、>>580が伏せるときに間違えただけ?
582デフォルトの名無しさん:2012/03/20(火) 03:26:33.13
>>580
なぜ、AとBを別々に上げないの?
なぜEUC-JPではなくUTF8なの?
なぜ1行目(コメントヘッダ除く)でいきなり150バイト超えてるの?
Bの4カラム目ってどこなの?2列しかないのに。
583デフォルトの名無しさん:2012/03/20(火) 03:29:49.29
言語どうこう以前に習得しておくべきことが多いwww
584デフォルトの名無しさん:2012/03/20(火) 08:36:53.99
>>580
なんで実行させる設定にしてるんだよw
オフにしとけよ
585デフォルトの名無しさん:2012/03/20(火) 11:48:06.09
いや、ここくるような人は言語どうでも良くて結果が欲しいだけの人たちだろw
586デフォルトの名無しさん:2012/03/20(火) 11:54:17.26
> 文字列A(固定長150バイト)一万行以上と文字列B(CSV)一万行以上のそれぞれのテキストデータ・ファイルがある。
>
> 文字列Aの5文字目から6文字分と文字列Bの2カラム目の4文字目から6文字分を比較し、
> 同じなら、文字列Aの77文字目から50バイト分を文字列Bの4カラム目を置き換える。
>
> 文字列Bの4カラム目が50バイト以下なら" "空白で埋める。
> 50バイトより大きい場合50バイトまでの大きさを対象とする。
>
> 置き換え対象領域は日本語全角漢字含む文字列となる。
> 文字列Aの対象領域は2バイトx20文字+1バイト10文字で整形されている。
> 文字列AはSolaris10上のファイル。文字列BはエクセルファイルをCSV保存してFFFTPでSolaris10へコピーしたもの。
> 文字コード:文字列A(EUC-JP)、文字列B(sjis2eucで変換)


こりゃあさすがに宿題じゃなくて業務か何かだろうけど、
こういうクソな作業をやるために、(わざわざ処理系用の)awkとかperlとかいう高級()なモンがあるんだと思う
クソ文字列とカラムが絡むなんて、一番Cでやっちゃあいけないデータ移行作業か何かかと
587デフォルトの名無しさん:2012/03/20(火) 11:57:39.44

            _. -─‐- 
            /      ⌒ \      カラムが絡む…からむがからむ…
          /  ⌒   (● ) \   ┏┓ 
         /  ( ● )  、_)   ヽ  ┏┛ 
       |      (__ノ /     |   ・ 
       ヽ       ̄    _ノ 
        >      ̄    \ 
588 ◆QZaw55cn4c :2012/03/20(火) 11:57:52.72
>>557
http://toro.2ch.net/test/read.cgi/tech/1313183984/
5000モリタポで受託します。
589デフォルトの名無しさん:2012/03/20(火) 12:39:04.19
固定長うんぬんの文字列な表形式(っぽいの)は
Cでそのままやるにゃあキツイってことだ
言わせんなよ恥ずかしい

区切り文字で切り分けするだけでクソ作業になる
590デフォルトの名無しさん:2012/03/20(火) 12:46:48.34
固定長ならfseek使うとか出来るんでねーの?
591デフォルトの名無しさん:2012/03/20(火) 13:14:06.68
車輪の再開発はやめろ^^ 人月の神話を読み直せ^^
592デフォルトの名無しさん:2012/03/20(火) 13:24:42.13
>>557
UTF8だったり色々と面倒なので、途中まで。
ttp://ideone.com/X4CBR
593デフォルトの名無しさん:2012/03/20(火) 13:30:33.91
"のフラグを立ててやらないかんぜよ
594デフォルトの名無しさん:2012/03/20(火) 14:01:17.49
>>589
固定長はC向けだろ
595デフォルトの名無しさん:2012/03/20(火) 17:04:07.34
固定長のふりをして、文字コードを考えると実は可変長。
> 文字コード:文字列A(EUC-JP)、文字列B(sjis2eucで変換)
JIS X 0201片仮名文字ってEUC-jpじゃSS使うんだっけ? 大変だな。頑張ってくれ。
596デフォルトの名無しさん:2012/03/21(水) 00:29:18.02
SSってなに
597デフォルトの名無しさん:2012/03/21(水) 00:47:07.49
あくまのりょういき
598デフォルトの名無しさん:2012/03/21(水) 21:05:11.70
0x8e(SS2) 0xa1?0xfe: G2文字(いわゆる半角カナ)
0x8f(SS3) 0xa1?0xfe 0xa1?0xfe: G3文字(JIS X 0212) (JIS補助漢字)

SS single shift
必要に応じ、SS2やSS3が先行し3バイトとなることがある
599デフォルトの名無しさん:2012/03/21(水) 22:36:33.82
> JIS X 0201片仮名文字ってEUC-jpじゃSS使うんだっけ? 大変だな。頑張ってくれ。
半角カナが2バイトで表現されると大変なのかな。
G3文字が使用されたら大変そうだなぁというのは理解できたけども…
600デフォルトの名無しさん:2012/03/21(水) 22:43:01.58
>>599
多分固定長じゃないから、嫌なんだと思う
601デフォルトの名無しさん:2012/03/21(水) 22:49:18.98
> 日本語文字はJIS X 0208をGR領域に表現したものを基本としており、2バイトで表現
> EUC-日本語 では、半角カナは前に 0x8E (シングルシフト2, SS2) をおいた2バイト表現
> 補助漢字は制御文字SS3(シングルシフト3、0x8F)に続けて現れるので、都合3バイトを要する

補助漢字の領域=悪魔の領域 G3。
使うことなんて滅多に無いだろうけど、
課題が課題、地名だからしょうがない。
地名なんてG3がいかにも来そうな語群だからしょうがない。
602デフォルトの名無しさん:2012/03/21(水) 22:51:02.76
人名地名は恐ろしい
そもそも統一されてない文字コード
603デフォルトの名無しさん:2012/03/21(水) 22:55:01.25
ロンゴロンゴにも対応すれば最強
604デフォルトの名無しさん:2012/03/21(水) 22:58:30.01
その前に人類がロンゴロンゴに対応する必要がある
605デフォルトの名無しさん:2012/03/21(水) 23:23:30.02
でもリプレース先は50バイトであると明言されているし、リプレース元は別に何バイトだってかまわないだろう?
606デフォルトの名無しさん:2012/03/22(木) 13:23:50.25
期限切れなので終了
607デフォルトの名無しさん:2012/03/22(木) 13:26:58.08
>>606
自己紹介か?
「文字コードの話題について行けません! もっとカンタンなお話おながいします!!」
ってな
608デフォルトの名無しさん:2012/03/22(木) 18:47:12.60
1文字が50バイトをまたぐケースがあるから
ロケールセットしてmblenで50バイト以下の最大文字長を切り出し
50バイトに満たなければ' 'fill
これだけじゃね?
609デフォルトの名無しさん:2012/03/22(木) 19:48:09.02
50バイトで自己紹介ただしUTF8エンコーディングでまで読んだ
610デフォルトの名無しさん:2012/03/23(金) 15:22:09.92
[1] 授業単元:Cプログラミング演習
[2] 問題文(含コード&リンク): 最長しりとり問題を整数計画法を用い、しりとりの数が最長となるパターンを導出するプログラムを作成せよ.ただし構造体とポインタを使用すること.
[3] 環境
 [3.1] OS: Windows Vista
 [3.2] コンパイラ名とバージョン:VC 2008
 [3.3] 言語: C言語
[4] 期限: 3月26日まで
[5] その他の制限:あたえられた単語は半角カタカナ表記で、単語を登録するのではなく, 頭文字,末尾文字を登録することも可

です。よろしくお願いします。
611デフォルトの名無しさん:2012/03/23(金) 22:29:07.00
なんとなく想像はつくが
本当にその問題文だけでできると思ってるのか?

最長しりとり問題ってなんだ
入力はどう受け取るんだ
導出した結果はどうやって出力するんだ

質問に答えるだけじゃなくて与えられた情報をすべて記載しろ
612デフォルトの名無しさん:2012/03/23(金) 22:35:11.61
Cで半角カタカナ使えとか
拷問じゃねーかwww

バカとかカバとかどーやってしりとりssssっさせるんだろ
アポとポアとかさ
613デフォルトの名無しさん:2012/03/23(金) 22:36:20.45
>>612
それくらいは何とかしてやれるだろw
614デフォルトの名無しさん:2012/03/23(金) 22:42:36.60
(半)濁点無視してつなげるのが一般的なしりとりだよな
半角カナなら最後の(半)濁点とりゃいいじゃん
むしろ全角のほうがめんどくさかろ。
615デフォルトの名無しさん:2012/03/23(金) 22:43:04.32
[先頭文字 末尾文字] 間をつなぐグラフで非循環の最長経路を求める ってことか?
616デフォルトの名無しさん:2012/03/23(金) 22:52:10.64
> [先頭文字 末尾文字] 間をつなぐ
ちがうでしょうね
617デフォルトの名無しさん:2012/03/23(金) 22:54:30.97
これはつくったあとで、情報を小出しにされて、
違いますそうではなくてこうです、こうしてください、
と再提出を促し続けられるパターンとみた。
618デフォルトの名無しさん:2012/03/23(金) 22:59:22.29
すいません。
半角カタカナで濁点、-は無視してかまいません。
総当たりでしりとりを行うプログラムをつくったのですが、
単語数が多くなるとプログラムが処理しきれなくなったところ、
整数計画法を用いて解けといわれたので。

ttp://auemath.aichi-edu.ac.jp/~ykhashi/semi/2010note/08_issey_final.pdf
にのっているアルゴリズムでよさそうなのですが、自分だと実装できなくて。
説明不足で済みません。
619デフォルトの名無しさん:2012/03/23(金) 22:59:27.26
まともな課題なら
最後の長音は母音とするルールと、無視するルール、長音を含みながら答えるルールと、負けになるルールがある[2]。
最後の文字が拗音・促音(ぁ、ぃ、ぅ、ぇ、ぉ、ゃ、ゅ、ょ、っ)の場合、もとの文字(清音)に戻すルールと、そのままのルール、負けになるルールがある[3]。
最後の文字が濁音・半濁音の場合、「゛(濁点)」「゜(半濁点)」を取っていいルールと、取ってはいけないルールがある[4]。
このあたりのローカルルールはどちらか明記するし
単語データも添えるよね
620デフォルトの名無しさん:2012/03/23(金) 23:02:35.89
>>619
大学の課題なんて適当だろ。ある程度実装されてたらいいもんだ。
付加価値として、それらのローカルルールの可否をオプション設定できるようにするとかすればいいだけで。
621デフォルトの名無しさん:2012/03/23(金) 23:11:57.09
> 単語を登録するのではなく, 頭文字,末尾文字を登録することも可

ここが何度考えても分からん
622デフォルトの名無しさん:2012/03/23(金) 23:12:30.50
ルールについては指定がなかったのですが、
総当たりの時は末尾時の小文字は大文字に変換していました。
単語データは国名で構造体に頭文字と末尾字を組み込んで
typedef struct {
char top;
char end;
} word;
ベルギーなら{'ヘ','キ'}としてデータをとりあつかっていました。
623デフォルトの名無しさん:2012/03/23(金) 23:17:58.56
????
624デフォルトの名無しさん:2012/03/23(金) 23:23:10.41
>>618のリンク先いいなぁ。
楽しみながらまじめに取り組んだんだろうな。詳細は読んでないけど、実にいい生徒だとおもう。
625デフォルトの名無しさん:2012/03/23(金) 23:30:03.65
オイラー路なつかしいなぁw
626デフォルトの名無しさん:2012/03/23(金) 23:30:20.23
俺の時代のポキモンは151匹しかいなかったぞ
一体どういうことだ
600オーバーとか
627デフォルトの名無しさん:2012/03/24(土) 00:30:35.85
628デフォルトの名無しさん:2012/03/24(土) 01:05:54.38
>>627
どれも>>610の解き方とそんなに変わらなくね?
629デフォルトの名無しさん:2012/03/24(土) 01:57:44.72
卒論タイトルを「ジョジョの奇妙な○○」にして"ン・ドゥール"おkのルールにしようぜ。
630デフォルトの名無しさん:2012/03/24(土) 02:37:31.15
>>629
ジョジョ使わなくてもンで始まる単語はかなりあります
あと、ンドゥールは普通に実在する名前です
631デフォルトの名無しさん:2012/03/24(土) 02:58:48.40
project eulerの問29(http://odz.sakura.ne.jp/projecteuler/index.php?cmd=read&page=Problem%2029
を解きました

Ideoneにアップロードしました
http://ideone.com/GXE1P#


2^16 = (2^2)^8 = (2^4)^4 = (2^8)^2

つまりは、ここでいう16の約数に着目してときましたが、
重複する箇所のチェックに100個ぐらいの漏れがあるみたいなのですが、
何回見てもわかりません。

どこを直せば正しい答えがでるでしょうか。
お願いします。
632デフォルトの名無しさん:2012/03/24(土) 03:16:01.60
スレ違い
633デフォルトの名無しさん:2012/03/24(土) 03:50:16.69
答えは9213?
634デフォルトの名無しさん:2012/03/24(土) 04:32:12.47
#include <stdio.h>

#define N 100

int main(void)
{
int i, j, k, a[N + 1] = {0}, cnt = 0;

for(i = 2; i * i <= N; i++) {
for(j = i * i, k = 2; j <= N; j *= i, k++) if(a[j] == 0) a[j] = k;
}

for(i = 2; i <= N; i++) {
if(a[i] == 0) cnt += N - 1;
else {
for(j = N / a[i] + 1; j <= N; j++) {
for(k = 2; k < a[i]; k++) {
if(j * a[i] / k > N) continue;
if(j * a[i] % k == 0) break;
}
if(k == a[i]) cnt++;
} } }

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

return 0;
}
635デフォルトの名無しさん:2012/03/24(土) 05:18:40.95
>>631
抜けてる例
32^30 = 4^75
636デフォルトの名無しさん:2012/03/24(土) 05:51:32.30
>>631
matrix[32][2]とかが0のままだね。
637デフォルトの名無しさん:2012/03/24(土) 05:52:24.96
#include<iostream>
using namespace std;
#define N 100

int main()
{
int cnt=1;
for(int n=2; n<=N; n++) {
cnt+=N-1;
for(int a=2,na=n*n; na<=N; a++,na*=n)
for(int b=2; a*b<=N; b++)
cnt--;
}
cout << cnt << endl;
}
638デフォルトの名無しさん:2012/03/24(土) 06:41:09.54
639デフォルトの名無しさん:2012/03/24(土) 13:34:41.38
>>633
9183 っぽい
640デフォルトの名無しさん:2012/03/24(土) 22:09:49.12
>>631
多倍長演算するようにするか
素因数分解するか好きなほうを選ぶ

どちらの場合でも a のループを b のループより外側にする
多倍長演算の場合は前回の計算結果を元に計算する
素因数分解の場合は a を素因数分解した結果に b を掛ければいい

計算結果を qsort する
一つ前と同じであれば minus_count++ する
計算結果の個数-minus_count が答えになる
641 ◆QZaw55cn4c :2012/03/24(土) 23:25:31.44
>>631
http://codepad.org/881G8z2p

>>639
一致しました。
642デフォルトの名無しさん:2012/03/24(土) 23:39:19.75
すごいゴミコードを平気で貼れる神経がわからんw
643デフォルトの名無しさん:2012/03/24(土) 23:42:53.08
で、>>637はどういう仕組みなの?
644 ◆QZaw55cn4c :2012/03/24(土) 23:45:30.40
>>642
どこがゴミかちょっとでいいので教えていただけるとありがたいです。
645デフォルトの名無しさん:2012/03/24(土) 23:46:27.04
Nを10000にしてみろよw
646デフォルトの名無しさん:2012/03/24(土) 23:56:43.12
Prelude> :m Data.List
Prelude Data.List> length $ nub $ map (\(x,y)->x**y) [(x,y) | x<-[2..100], y<-[2..100]]
9183
647デフォルトの名無しさん:2012/03/25(日) 00:05:28.12
length $ nub $ [x**y | x<-[2..100], y<-[2..100]]
でいけたが滅茶遅いな。
648デフォルトの名無しさん:2012/03/25(日) 00:08:02.46
**じゃなくて^だな、もう氏のう
649デフォルトの名無しさん:2012/03/25(日) 00:24:03.54
634をちょっと改造
#include <stdio.h>
#include <stdlib.h>

#define N 100

int main(void) {
int i, j, k, a[N + 1] = {0}, max, *cnt, sum = 0;

for(max = 0, i = N; i; i >>= 1) max++;

cnt = calloc(max, sizeof(int));
cnt[0] = N - 1;

for(i = 2; i < max; i++) {
for(j = (i & 1) ? N / i + 1 : N / 2 + 1; j <= N; j++) {
for(k = 2; k < i; k++) {
if(i * j > k * N) continue;
if(i * j % k == 0) break; }
if(k == i) cnt[i]++; } }

for(i = 2; i * i <= N; i++) for(j = i * i, k = 2; j <= N; j *= i, k++) if(a[j] == 0) a[j] = k;
for(i = 2; i <= N; i++) sum += cnt[a[i]];

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

free(cnt);

return 0;}
650 ◆QZaw55cn4c :2012/03/25(日) 09:30:40.49
>>645
そりゃだめですね。>>640 にしたがって素因数分解を選択し、2<a<100 という点から√100 = 10 までの素因数の個数+10以上の素数1つだけの種類・その個数と仮定して組んでいますからね。
N = 10000 にするのだったら、100 以下の素数について記録するようになおさないといけないですね。
それも理解せずに N=100000 にしたんですか?
651デフォルトの名無しさん:2012/03/25(日) 11:38:17.86
>>650
ゴミコードとまではいわんが、オナニー見せられたような気分だw
>>640が提示したアルゴリズムがデチューンされてるw
652 ◆QZaw55cn4c :2012/03/25(日) 11:42:58.99
>>651
>>640が提示したアルゴリズムがデチューンされてる
>>640 は qsort を使う方針のところを、>>641 では 二分木に変えていますから。しかしそれがなぜオナニーコードになるのかなあ?
653デフォルトの名無しさん:2012/03/25(日) 12:21:16.11
二分木に方向転換する理由が分からないんだぜ
654デフォルトの名無しさん:2012/03/25(日) 12:38:54.41
見づらくしてまで性能を下げる理由
655デフォルトの名無しさん:2012/03/25(日) 13:04:03.68
>>640の考え方自体アホすぎるのに、それを元にして書いたらクソコード以外にはならないだろ
656デフォルトの名無しさん:2012/03/25(日) 13:24:58.03
素因数分解とか、無駄が多すぎてゲロ吐きそうw
657 ◆QZaw55cn4c :2012/03/25(日) 14:37:32.46
>>653
二分木も quick sort もNlogN という点で能率は同じですから、あとは料理しやすい方をえらびました。
quick sort に与える比較関数に迷いましたので二分木にしましたね。結局、二分木に与えたものと同じものを qsort() で使ってもいいようですけれども。

>>654
え?見づらいですかねえ。普通に書いただけですけれども。

>>655 >>656
まあ >>649 は爆速ですね。
658デフォルトの名無しさん:2012/03/25(日) 14:57:42.32
要するに主張としては、適切なアルゴリズムを使っているかどうかはコードがゴミであるかどうかに関与しないってことでおk?
659デフォルトの名無しさん:2012/03/25(日) 16:10:48.96
ゴミコードを書く奴は自分がゴミを書いてるって自覚がないからな
自覚があったら書くのをやめる

ただしこれに対して「私のコードのどこがゴミなのか具体的に説明してもらえますか?」
という質問は受け付けない

とくにQ

難癖付けて絶対にゴミコードだと認めないのは今まで腐臭が漂うほど見てきたからな
660デフォルトの名無しさん:2012/03/25(日) 16:18:17.94
>>659
お前、トリップ付けろ。
661デフォルトの名無しさん:2012/03/25(日) 16:22:44.20
ちゃんとした回答にならモリタポ支払いたいけど
QZの回答はちゃんとしてないからなぁ・・・
662 ◆QZaw55cn4c :2012/03/25(日) 16:29:23.09
>>661
ステマですか?
ちゃんとした回答じゃないよ、という指摘があればちゃんとした回答になるまであきらめずに訂正してきています。今までずっとそうしてきました。
663デフォルトの名無しさん:2012/03/25(日) 16:30:29.78
他人の指摘がなければちゃんとした回答にならない時点で論外
664デフォルトの名無しさん:2012/03/25(日) 16:32:51.68
QZがこれまで嘘を言ってきたことは確認済み
勘違いは多いし、故意の嘘も1回や2回じゃねー
665 ◆QZaw55cn4c :2012/03/25(日) 16:34:10.38
>>659
>ただしこれに対して「私のコードのどこがゴミなのか具体的に説明してもらえますか?」という質問は受け付けない
それは一方的ですね。ある対象コードがゴミというからには、そのコードがどうごみなのか、記述するのがより客観的な表明というもの。
ゴミと言い放つだけでなにも説明しない、いや正確には説明「できない」のでは、それは、

お つ む が メ ル ヘ ン

というだけですよ。

>>649 が >>641 よりも優れている点は >>657 で認めています。
666 ◆QZaw55cn4c :2012/03/25(日) 16:36:49.13
>>663
それはまあ、そうですね。まだまだ至らぬところ、精進あるのみです。
ご指摘感謝いたします。

>>664
へえ?そうなんですか?
667デフォルトの名無しさん:2012/03/25(日) 16:38:39.71
一目でクソとわかる、このクソコード。www
50000モリタポでどこがクソか教えてやるよ。
668 ◆QZaw55cn4c :2012/03/25(日) 16:42:46.91
>>667
まじめな話、5000モリタポでどうですか?
@>>667 がクソな部分の URL および論理行 No. を、トリップをつけて投稿
AQZaw55cn4c が納得すれば、そのトリップに送金、いや送モリタポ
B>>667 がクソな点を説明
の流れでいかがでしょう?
669658:2012/03/25(日) 16:43:45.58
またスルーされてるわ。俺QZに嫌われてるんよきっと
670デフォルトの名無しさん:2012/03/25(日) 16:43:48.78
自分で自分のコードがゴミだと理解できてない奴にわからせるのは凄い手間だからな
671デフォルトの名無しさん:2012/03/25(日) 16:45:58.23
Qがぼろくそだといっていたやつが
かいたこーどがそれよりひどかったことは
おぼえている
672デフォルトの名無しさん:2012/03/25(日) 16:46:14.59
>>649がどういう理屈なのかもクズには理解できないんだろうな
673 ◆QZaw55cn4c :2012/03/25(日) 16:46:40.80
>>670
そこを 5000 モリタポで、なんとか(もみ手すりすり)
674デフォルトの名無しさん:2012/03/25(日) 16:48:17.54
小学生に一からC/C++を教えるほうが、QZに自分のバカさを理解させるより簡単だろうな
675デフォルトの名無しさん:2012/03/25(日) 16:50:50.56
QZは相手を見てレスをしている。
しょっちゅう外れてるけど、何もせずにクズクズ言ってる相手をあおろうとしているんじゃないかな。
676デフォルトの名無しさん:2012/03/25(日) 16:54:06.62
そいや最近自己愛連呼の人いなくなったね
興味があるから観察を続けてるんだ(キリリって言ってたけど、興味なくなったんかな
677デフォルトの名無しさん:2012/03/25(日) 16:55:41.70
トリップつけたりはずしたり忙しいなw
678デフォルトの名無しさん:2012/03/25(日) 16:57:24.68
やはり、強制IDにしないとだめだね?
679 ◆QZaw55cn4c :2012/03/25(日) 17:00:25.61
>>674
>>673

>>677
トリップを意図的にはずした投稿はひとつもありません。そうであるだけに ID はほしいですね。
自治スレが落ち着いたようだし、win32api スレの沈静化を目的に ID付きを提案してみましょうか。
680デフォルトの名無しさん:2012/03/25(日) 17:01:26.51
人間としての一般的な能力、コミュ力なんかが低いのにプログラムだけできると性格歪むよね
まともな人間関係も築けない屑人間がプライドだけ高くなっちゃって、もうちょっと自重すべきだろ
681 ◆QZaw55cn4c :2012/03/25(日) 17:01:44.20
>>669
いやいや、そういうわけじゃありません。
「適切なアルゴリズムを使っているかどうかはコードがゴミであるかどうかに関与しない」というつもりはないので。
682デフォルトの名無しさん:2012/03/25(日) 17:03:04.87
屑人間とか、ぼろくそに相手を呼ぶなら、
発言に責任を持つ意味でトリップをつけろよ。
683デフォルトの名無しさん:2012/03/25(日) 17:03:16.97
win32スレはもうしばらくみてねえわw
684 ◆QZaw55cn4c :2012/03/25(日) 17:03:51.51
>>680
以下の単語の意味がまったくわからないか、私の理解とはかけ離れている可能性がありますので、あなたの定義または説明をお願いいたします。

>人間としての
>一般的な
>コミュ力
>歪む
>屑人間
>プライド
685 ◆QZaw55cn4c :2012/03/25(日) 17:04:45.55
>>682
そんな無駄な書き込みはしないほうがいいですよ。どうせできっこないですから。
686デフォルトの名無しさん:2012/03/25(日) 17:05:38.45
自演にしか見えねーw
687デフォルトの名無しさん:2012/03/25(日) 17:07:08.78
いままでさんざんQZの間違ったとこを指摘してきたけど、
ちっとも成長しないし態度もかわらなかったからなあ
688デフォルトの名無しさん:2012/03/25(日) 17:07:08.93
こういう風に言う奴が出てくるから、IDにしたほうがいいんだよ。
689デフォルトの名無しさん:2012/03/25(日) 17:07:45.52
IDにしたって、携帯とPCとかいくらでも自演はできるし意味ないけどな
690デフォルトの名無しさん:2012/03/25(日) 17:09:42.44
Qへ
宿題スレってことは学生向けの見本になるコードなんだから
if文の中に代入式を書くのはやめたほうがいいよ
バグの元だからコーディング規約で禁止されてる会社も多いし変な癖つかないように
691 ◆QZaw55cn4c :2012/03/25(日) 17:11:54.41
>>687
>QZの間違ったとこを指摘してきた
そうですか。しっかり読んでいるつもりですが、あまり記憶にありません。

>成長しないし
すみません。長い目でみてやってください。
692デフォルトの名無しさん:2012/03/25(日) 17:12:07.19
気に入らないコテはNGすればいいのになんでさわってんの?
693 ◆QZaw55cn4c :2012/03/25(日) 17:13:28.10
>>690
>if文の中に代入式を書くのはやめたほうがいいよ
うーん、これは考え方の一つではありますが、私としてはとりたくない。昔からよくある書き方だしアイディアがコンパクトにつまっている、一種の慣用句ですしね。
それはそうと
>バグの元
について kwsk
694 ◆QZaw55cn4c :2012/03/25(日) 17:14:04.68
>>692
ほんと、NG にいれればいいのにね。なぜそうしないんでしょうね。私も不思議です。
695デフォルトの名無しさん:2012/03/25(日) 17:14:13.86
結局、ここでゴミコードなのを本人が納得するまで説明できたとしても、あとになったら
>>691みたいなこと言うだけだからなあ
696デフォルトの名無しさん:2012/03/25(日) 17:15:15.14
if()の中で代入したのに、それを使わないで同じことを繰り返すバカ
697 ◆QZaw55cn4c :2012/03/25(日) 17:16:35.64
>>695
そんなことないと思います。
仮に
>あまり記憶にありません。
といったとしても、なかば無意識的に◆QZaw55cn4c のコードに反映されているんじゃないですか?
◆QZaw55cn4c のコードに反映されている、ということはすなわちアドバイスを受け入れた、ということでOKではないでしょうか?
698デフォルトの名無しさん:2012/03/25(日) 17:21:16.97
>>693
よくある'=', '=='の書きミスとかかな
-Wallとかつければ警告でるんだけどね
昔はディスプレイで見渡せる範囲が狭かったから1行に79文字めいっぱい詰めたりしましたけど
そういうのは昔からやってるからというのがずっと通用するわけじゃないですよ
例えばこれとか2行に分けるとそんなに見づらいですか?

> if ((p = malloc(sizeof(struct node))) == NULL) {

それとgdb使ったりするときbreakpoint貼れないとかあるみたいよ
if文に代入文を入れないようにすれば関数の戻り値をデバッガで書き換えてパスを通すような単体テストも可能ですから
699デフォルトの名無しさん:2012/03/25(日) 17:29:53.89
アンチQZはまた方針を元に戻して、
名無しでいちゃもんつけ続けることにしたのかw
QZちゃんも大変だなw
700デフォルトの名無しさん:2012/03/25(日) 17:34:01.06
>>699
いや、個人的に書く分はいいけど
宿題で貼るコードだけは教科書向きにしようよって話だけど
701デフォルトの名無しさん:2012/03/25(日) 17:40:58.41
>>662
仮にも人の問題解いてモリタポ貰おうってやつが、何言ってんだ?
そんな中途半端なやつに払えるモリタポなんかねぇよ・・・
702デフォルトの名無しさん:2012/03/25(日) 17:42:19.27
>>697
反映されてないから今でもNGくらってるんでしょ
703デフォルトの名無しさん:2012/03/25(日) 18:04:16.53
初心者スレならともかくここに宿題を処理してもらいに来る人がプログラミング作法に拘るとは思えんが
動けばいいんじゃね
704デフォルトの名無しさん:2012/03/25(日) 18:05:53.24
そういう他力本願な人間に変な知識つけて放流するとメンテする自分の身に降りかかるぞ
705デフォルトの名無しさん:2012/03/25(日) 18:13:49.83
宿題他人任せのやつがPGになるかなぁ
卒業したら二度とさわりたくないと思うんだが
706 ◆QZaw55cn4c :2012/03/25(日) 18:13:53.59
>>702
具体的に NG もらったのは、 ループで毎回 strlen() してたことくらいかなあ‥‥‥。それと >>696

>>696
認識・了解しました。ご指摘感謝。
707 ◆QZaw55cn4c :2012/03/25(日) 18:18:22.23
>>698
確かに入れ子の中の関数がなにを返してきているのかみたいときに、if 文の中にブレークポイントはつけられませんね。
将来、すこし大きなことをするときに役立つかもしれません。覚えておきます。
708デフォルトの名無しさん:2012/03/25(日) 18:19:31.14
クズvsクズ
709デフォルトの名無しさん:2012/03/25(日) 18:20:29.31
>>707
>将来、すこし大きなことをするときに役立つかもしれません。覚えておきます。
最高のギャグを見た。
710デフォルトの名無しさん:2012/03/25(日) 18:22:11.36
あなたがクズをヲチするときクズもまた等しくあなたを見ている
711 ◆QZaw55cn4c :2012/03/25(日) 18:42:25.40
>>710
http://toro.2ch.net/test/read.cgi/tech/1324704285/584
いや漫画バージョンのほうだったか?
712デフォルトの名無しさん:2012/03/25(日) 18:54:16.69
くずと闘うものは、その家庭で自分自身も怪物になることがないよう、気をつけねばならない。
スレをのぞき込むとき、そのスレもこちらを見つめているのだ。
                                 ----フリードリッヒ・>>710
『C/C++の宿題片付けます 156代目はかく語りき』
713デフォルトの名無しさん:2012/03/25(日) 18:59:15.06
>>712
アメリカのファンタジーとか悪役が外道だからそれに対抗して主人公側も外道になっていくんだよなw
ヒロインが敵にちんこ自分で切り取らせて食わせたのは吹いたわ
714 ◆QZaw55cn4c :2012/03/25(日) 20:51:45.07
>>696
訂正しておきました。あと、
>>645 のように N をかえる要望もあるので、それに対応して可変長の構造体にしました。
いずれにしても劇激遅です。
http://codepad.org/UP0DypUY

>>672
降参です。>>634, >>649 の考え方を、よろしければちょっとだけでも。
715 ◆QZaw55cn4c :2012/03/25(日) 21:13:46.16
>>712
フリードリヒ・ニーチェですか。でも「ゾロアスターかくかたりき」にはないようですね。今、流行っているのですか?
716デフォルトの名無しさん:2012/03/25(日) 21:33:25.02
ツァラトゥストラ片栗粉
717デフォルトの名無しさん:2012/03/25(日) 23:32:16.32
>>714
とりあえずaとbをいじってどうにかする方法を検討してみてはどう。
要するに
・質問者がやろうとしていたことを理解
・質問者が工夫した点を把握
・「それをいったん取り除き」
・質問者が工夫をする前のシンプルなコードを求め
・そのコードでは導出できない解を、導出できるようなコードに変更←これが本質的な疑問への回答(>>635でその一例は挙げている)
・質問者が工夫していた内容が使えるのなら、それを使う形にする、無理ならそれを伝える

これが、コードを提示した質問者へのまじめな回答の仕方だと俺は思っているし、そういう風にしてきた。
実務では当たり前のように行われている、最小限の変更で正しく動くようにするための作業ね。

別のアプローチをした挙句に、遅いコードは質問者にとってメリットが極めて少ないよ。
718デフォルトの名無しさん:2012/03/26(月) 00:07:13.82
自分の都合でコードを書いちゃいかんよ。
人に見せるのなら特に。
719デフォルトの名無しさん:2012/03/26(月) 00:10:41.62
元質問者がさっぱりわかりませんと丸投げしたのなら、QZのようなコードを「ネタとして」投下するのはスレ的によくあることなんだけど、
大真面目な回答として出してるから頭おかしいといわれる。
720デフォルトの名無しさん:2012/03/26(月) 01:31:34.35
んじゃあperl製のネタを一つwww

my $max = shift || 100 ;
my %r ; # result
my $p = 7333687 ;

for my $n (2..$max) {
for my $m (2..$max) {
my $mp = modpow($n,$m,$p) ; # c = n^m (mod p)
$r{$mp}++ ;
}
}

my $total = scalar keys %r ;
print "$total\n" ;


sub modpow { # c = b^e (mod m)
my ($b,$e,$m) = @_ ;
my $c = 1 ;

while ($e > 0) {
$c = ($c * $b) % $m if ($e & 1) == 1 ;
$e >>= 1 ;
$b = ($b * $b) % $m ;
}

return $c;
}
721デフォルトの名無しさん:2012/03/26(月) 01:49:33.98
言語違いはスレ違いといわざるを得ない。何調子に乗ってんだか
722デフォルトの名無しさん:2012/03/26(月) 01:52:51.61
と、理解できないアホがほざいておりますwww
723デフォルトの名無しさん:2012/03/26(月) 01:55:12.98
> my $total = scalar keys %r ;

scalar書くヤツ
724デフォルトの名無しさん:2012/03/26(月) 02:07:00.70
>>722
QZに劣るとか恥ずかしいと思わないの
725デフォルトの名無しさん:2012/03/26(月) 10:47:35.51
雑談スレになっててフイタ
726デフォルトの名無しさん:2012/03/26(月) 15:34:40.21
C はよくわからないけれども、アセンブラですら、4バイト確保してseg:off だから、多分そうじゃないかな。
727デフォルトの名無しさん:2012/03/26(月) 18:07:44.02
案の定Qが図星を突かれてファビョりまくっててワロスwww
728デフォルトの名無しさん:2012/03/26(月) 20:21:34.11
[1] 授業単元:Cプログラミング演習
[2] 問題文(含コード&リンク): あたえられた単語で文字数が最長となるようなしりとりをプログラムしパターンと文字数を導出せよ.ただし構造体とポインタを使用すること.
[3] 環境
 [3.1] OS: Windows Vista
 [3.2] コンパイラ名とバージョン:VC 2008
 [3.3] 言語: C言語
[4] 期限: 3月27日まで
[5] その他の制限:
>>610と同じものです。立て続けに質問して申し訳ありません。
http://ideone.com/YRIao
単語のデータは与えられていて、総当たりでしりとりを行っています。
構造体には頭文字,末尾文字,文字数の順にいれてあります。
最長文字数は導出できるのですが、どうにかしてパターンがわかるように取り出せないものでしょうか。
よろしくお願いします。
729デフォルトの名無しさん:2012/03/26(月) 21:29:15.30
>>728
このプログラム正しいか?
52行目のfor文って下のfor文の中でやらないとまずくね?
730デフォルトの名無しさん:2012/03/26(月) 21:40:03.52
間違ってますか?
いちおう文字数変えたときもちゃんと動いたと思うんですが
731デフォルトの名無しさん:2012/03/26(月) 22:42:25.33
>>730
すまん、そこは問題ないです。
78行目見落としてた。
732デフォルトの名無しさん:2012/03/27(火) 02:04:05.17
733デフォルトの名無しさん:2012/03/27(火) 02:09:06.87
>>732
すみません。これだと構造体の文字数がカウントできないと思うのですが...
>>728
にあるように構造体の最後はどれも同じですが文字数です
734デフォルトの名無しさん:2012/03/27(火) 02:48:46.06
[1]C言語(やさしいC 輪講)
[2]問題文:
次のコードは、コンソールから入力された異なる5個の1から20までの数を大きい順に並べ替えて出力するプログラムです。
([1])〜([11])内を埋めてコードを完成させなさい。
#include <stdio.h>
#include <stdlib.h>
static int readNumber(char *msg,int min,int max,int m1,int m2,int m3,int m4){
char console[256],([1]);([2]) result;
for(;;){
printf("%s",msg);
t=fgets( ([3]),stdin);
if(t==NULL)([5]);
result=atoi(([3]));
if(result<([6]))([5]);if(result>([7]))([5]);
if(m1==result){
printf("その数は使われています\n");
([5]);
}
([8])
return result;
}
}
int main(void){
int m;
m=readNumber("1個目:1以上20以下の整数を入力してください:",([9]),([10]),0,0,0,0);
([11])
return 0;
}
[3] Windows Vistaですがコンパイラとかよくわかりません。
[4] 4月の最初のゼミまで(3年次・4年次と連続履修です)
[5]ローカル変数はステートメントが始まる前にすべて宣言しなければならないと注意を受けました。よろしくお願いします。
735デフォルトの名無しさん:2012/03/27(火) 03:35:32.69
ちゃんと写せてる?
736デフォルトの名無しさん:2012/03/27(火) 04:36:50.23
>>734

ちょい([11])のコード量が多くなってかけないから、↓に張る。

>http://codepad.org/qq6JeGRk
737デフォルトの名無しさん:2012/03/27(火) 10:43:28.64
Qには解いてほしいもの
738デフォルトの名無しさん:2012/03/27(火) 11:10:24.80
>>728,733
これでいいんじゃね?
ttp://ideone.com/S4fbi
739デフォルトの名無しさん:2012/03/27(火) 11:22:15.95
>>734
([3]) が無理だな
([11]) の中で変数を定義すれば書けない事はないけど無茶苦茶汚いコードになるし
明らかに転記ミスだろう
740デフォルトの名無しさん:2012/03/27(火) 11:32:25.12
>>734
[1] *t
[2] int
[3] console
[4] ←なぜかない
[5] continue
[6]min
[7]max
[8] 未解決
[9]1
[10]20
[11]未解決
741デフォルトの名無しさん:2012/03/27(火) 11:38:36.60
[3] console,sizeof(cosnole)/sizeof(char)
なのかも
742デフォルトの名無しさん:2012/03/27(火) 12:03:52.86
>>734
resultで、5個の数字を合成したものを返す(入力が3,1,4,5,9なら3010509とか)んだと思うが、
fgetsは3引数、atoiは1引数だから、[3]は転記ミスじゃないかな?
743デフォルトの名無しさん:2012/03/27(火) 12:04:51.10
>>742
X 3010509
O 301040509
でした。
744デフォルトの名無しさん:2012/03/27(火) 12:11:03.67
>>743

>static int readNumber(char *msg,int min,int max,int m1,int m2,int m3,int m4)
を見るにreadNumberはmain側で5回コールされることになってるはず。

[8]と[11]がどんな回答を想定してるのか楽しみではあるw
745デフォルトの名無しさん:2012/03/27(火) 12:12:25.58
atoi([3])ではなくatoi([4])で
[4] console
だったら少し話が通る漢字
746デフォルトの名無しさん:2012/03/27(火) 12:32:53.37
>>738
大丈夫そうです。ありがとうございました。
747デフォルトの名無しさん:2012/03/27(火) 12:47:58.64
748デフォルトの名無しさん:2012/03/27(火) 12:49:01.93
>>745
[5]との順番的には
t=fgets( ([3]),([4]),stdin);ではなかろうか。
749デフォルトの名無しさん:2012/03/27(火) 13:23:17.26
>>747
メッセージの部分がおかしいが、動作はするね。
ただし16ビット処理系では無理っぽい
750デフォルトの名無しさん:2012/03/27(火) 13:32:29.37
QZには>>747みたいなコードは無理っぽい
751デフォルトの名無しさん:2012/03/27(火) 14:12:04.26
>>750
くずの方がまだましな気がしないでもない。。。
752デフォルトの名無しさん:2012/03/27(火) 16:14:15.25
>>749
>ただし16ビット処理系では無理っぽい

組み合わせ数は20C5→15504だから、可能ではあるけど面倒だな。
753 ◆QZaw55cn4c :2012/03/27(火) 20:34:17.84
>>750
題意に沿うように、などという思考は QZ には皆無。
754デフォルトの名無しさん:2012/03/27(火) 21:57:14.18
題意に沿うように手持ちのライブラリコードを応用して書くというのが
QZの常套手段じゃなかったっけw
その方法自体はプログラムを作る分には悪くはない.悪くないどころか
むしろ正統じゃないかと...
もしかするとそういうライブラリが一つの言語コミュニティを作るぐらいまで
に成長するかもしれないし、実際そういう例もあるし...
毎回毎回カスタムオプティマイズするような作り方のほうがむしろ異常。
ただ初心者が依頼者の半数以上であるような宿題を解いてやるスレでは
そうとは限らないかも。
755デフォルトの名無しさん:2012/03/27(火) 22:07:03.59
Cにゃあperlやrubyのようなコードの掃き溜めって無いの?
756 ◆QZaw55cn4c :2012/03/27(火) 22:30:29.83
>>755
kwsk
757デフォルトの名無しさん:2012/03/28(水) 21:09:41.62
CPANとかそうゆうのじゃね?
758デフォルトの名無しさん:2012/03/28(水) 21:15:04.11
Qって発想力はないよな
759デフォルトの名無しさん:2012/03/28(水) 22:08:46.53
Qの人気に嫉妬
760デフォルトの名無しさん:2012/03/28(水) 22:12:42.46
アルファベット1文字で特定できるというのはすごすぎ
761デフォルトの名無しさん:2012/03/28(水) 22:16:25.64
きゅう
762 ◆QZaw55cn4c :2012/03/28(水) 22:25:00.12
だから Q はやめろ。
NGに登録できないから QZ にしてくれ。
763デフォルトの名無しさん:2012/03/28(水) 22:30:45.02
>>762
NGに引っかかって、読めない
764デフォルトの名無しさん:2012/03/28(水) 22:35:42.13
にくきゅうさいこー
↑おいおい‥‥‥
QZと書いてクズと読む
ちょっとした頓智が要るかな?
(11)の部分が1M近くなったけど
まぁ解けたと思う
けど、こういう意地悪な問題解けて提出しても
多分怒られると思うので貼らない。
>>767
(3)を解出来てるなら、知りたい。
>>768
マクロって線を考えたんだが書く場所が無いんだよな
(2) に書くことって可能だっけ?
まぁ可能だとしても俺にそんなコードは書けないけどw
1番目:1から20までの整数を入力してください:7
2番目:2から20までの整数を入力してください:11
3番目:2から20までの整数を入力してください:12
4番目:13から20までの整数を入力してください:20
もういちど最初からやり直してください。
1番目:1から20までの整数を入力してください:7
2番目:8から20までの整数を入力してください:11
3番目:12から20までの整数を入力してください:1
3番目:12から20までの整数を入力してください:12
4番目:13から20までの整数を入力してください:17
5番目:18から20までの整数を入力してください:19
7 11 12 17 19
>>770
二行目、三行目の範囲下限が何故2なのかわからない。8,12ではないのか?
>>770
そんな手があったか
カレンダー出力のプログラムのコードを書いてみよ!
祝日も表記されるようにな。
>>773
春分の日は神様でないと分からない
775 ◆QZaw55cn4c :2012/04/01(日) 17:15:53.28
>>773
春分・秋分はどうするの?
過去のデータを参照すりゃええがな。
777 ◆QZaw55cn4c :2012/04/01(日) 17:22:09.69
>>776
それで未来の春分がわかるとでも
>>777
そこまで言うならお前が書けよカス
779 ◆QZaw55cn4c :2012/04/01(日) 17:29:21.12
>>778
あほか
できん問題を出すなと
>>779
じゃあ文句つけんな馬鹿
最近は出題者が威張るようになったのか?
>>775
Cではないが、

http://nojiriko.asia/prolog/c146_371_3.html

の真ん中より下の方に春分の日の定義がある。
そこ見ても計算上では出せるけど官報で発表されるまでは確定じゃないことくらいしかわからないな
>>783
正式には前年に出された官報によるということでしょう。
宇宙が急に揺らぐかも知れないから、いつからいつまでの
範囲ではこの計算式とは確定できないが、ここしばらくは
概ねこの計算式で出されるに相違ないという式はある。
785デフォルトの名無しさん:2012/04/03(火) 14:48:15.97
数年ぶりに来たらモリタポで宿題かたずけるとか、
変なスレがあったからどうしちまったんだと思ったけど、
昔からのは存続してたんだな。
知識を無駄に放出してこそ宿題スレだよな
786 ◆QZaw55cn4c :2012/04/03(火) 20:25:48.33
>>785
モリタポスレは、ぼるじょあスレの代わりということで
またクズか
やめてくださいよ3
【IT】プログラミング言語「Ruby」が国際規格に認定★2
http://uni.2ch.net/test/read.cgi/newsplus/1333469089/
[1] 授業単元:
[2] 問題文(含コード&リンク):http://pastebin.com/B7EcsTNp
[3] 環境
 [3.1] OS: ubuntu
 [3.2] コンパイラ名とバージョン: gcc
 [3.3] 言語: C
[4] 期限: 本日中
[5] その他の制限: 構造体を用いてLIFOのスタックを実現するという問題です。
34,44,45行目の(1)〜(3)に適するコードを教えて下さい。
よろしくおねがいします。
*(stack->pointer) = value;
if (stack->pointer > stack->data){
return *(--stack->pointer);
792790:2012/04/06(金) 22:17:45.51
>>791
回答ありがとうございます

質問なんですがstack->dataの使い道は25行目の先頭アドレスをpointerに格納するだけなんでしょうか?
pointerとdataの関係というかpushした値は実際にはどの部分に格納されてるのでしょうか?
>>792
pointerを経由してdataに格納されるよ
>>793
ありがとうございます、stackのメモリの使い方が
勉強不足だと実感しました

それともう一つ問題をお願いします。
[1] 授業単元:
[2] 問題文(含コード&リンク):http://ideone.com/mBMNy
http://ideone.com/VF56k
[3] 環境
 [3.1] OS: ubuntu
 [3.2] コンパイラ名とバージョン: gcc
 [3.3] 言語: C
[4] 期限: 本日中
[5] その他の制限:どちらも二分探索木の問題で上は再帰、下はループを用いて
実現するという問題です。
実行すると左→下の優先順位で2分探索木が表示されます。
上は44行目の(7)、下は35,73,96,111行目の(10)〜(13)に適当なコードをお願いします。
(7)は一応入れてはいますが出力結果がうまく行かずもしかしたら違う番号のとこがミスっているかもしれません。
再帰の方の(7)
obj->right = appendRightEnd(obj->right, right);
ループの方(多分)
iobj->right = newNode(n);
iobj->right = obj->right;
pobj->right = deleteThisNode(pobj->right);
pobj = pobj->left;

こっちの方が見やすいか…
再帰版
http://ideone.com/1eCN6
ループ版
http://ideone.com/SI0Ao
>>795-797

うまく表示されました!
本当にありがとうございました
799 ◆QZaw55cn4c :2012/04/13(金) 20:34:59.78
800 ◆QZaw55cn4c :2012/04/13(金) 20:35:21.11
誤爆です。ごめんなさい。
801デフォルトの名無しさん:2012/04/16(月) 07:06:36.10
何度も言わせないで頂戴。儲かるプログラムを教えなさい!
802デフォルトの名無しさん:2012/04/16(月) 07:09:45.40
昔FF11で自動で魚を釣り続けるプログラムを作ってRMTで100万以上稼いだわ
803デフォルトの名無しさん:2012/04/16(月) 15:49:45.13
>>801
銀行の基幹とか航空管制とか原子炉制御とか書けば隠者ね?
804デフォルトの名無しさん:2012/04/16(月) 15:52:24.41
航空管制はやったことあるけど、Javaだったな…
805デフォルトの名無しさん:2012/04/16(月) 15:59:23.50
裏でガーベジコレクタが動くような言語使っていいのか・・・
806デフォルトの名無しさん:2012/04/16(月) 16:23:53.24
メモリリークする言語よりはいいじゃろ。
807デフォルトの名無しさん:2012/04/16(月) 21:01:00.70
コールスタックのルートと繋がってりゃ
プログラム終了まで解放されず結局
メモリーリークと変わらんけどな
信頼性の要る現場じゃどのみち解放処理に気を払う必要がある
808デフォルトの名無しさん:2012/04/16(月) 21:20:03.39
プログラム終了しなければ、無問題
809デフォルトの名無しさん:2012/04/17(火) 02:43:03.35
むしろ航空管制だとオペレータが介在するから
ストップザワールドが問題になりにくいんじゃね?
Erlangを電話交換網に適用した事例があるように、
ソフトリアルタイムシステムは十分に実現できるはず

本当にまずいのは、車のブレーキシステムとかじゃないのかなあ
810デフォルトの名無しさん:2012/04/17(火) 21:35:25.66
>>809
走行安全制御やってるけど、設計とかテストとかガチガチだよ
811デフォルトの名無しさん:2012/04/17(火) 22:01:29.42
>>810
言語はやっぱりC?
812デフォルトの名無しさん:2012/04/17(火) 22:02:24.57
EC++使うよ
813 ◆QZaw55cn4c :2012/04/17(火) 22:05:04.64
>>812
embedded C++ って何ができて何ができないの?
814デフォルトの名無しさん:2012/04/17(火) 22:45:30.21
クズは黙ってろ
815デフォルトの名無しさん:2012/04/17(火) 23:18:36.01
embedded C++ って何ができて何ができないの?
816デフォルトの名無しさん:2012/04/17(火) 23:25:17.34
・ハメ込みができます

817デフォルトの名無しさん:2012/04/18(水) 00:56:38.92
>>811
うん
818デフォルトの名無しさん:2012/04/18(水) 02:30:08.94
( i * X ) % p == 1
という式が与えられていてiは1〜10のfor文、pはscanfで入力する値なのですが。
Xの値をコンパイルしたいのですが方法が分からず困っています。
C言語でコンパイラはgccです。
教えていただけませんか?
819デフォルトの名無しさん:2012/04/18(水) 02:40:50.82
>Xの値をコンパイルしたい
何がやりたいのかさっぱり伝わらない
コンパイル時に定数として与えたいというなら、#defineを使う


#define X 100
820デフォルトの名無しさん:2012/04/18(水) 12:26:43.94
Xの値を出力しろってことか?
Xは共通と考えてみたら撃沈したがな。
コンパイルじゃわからんぞ。
821デフォルトの名無しさん:2012/04/18(水) 12:33:30.40
すいませんが早くしてくれませんか。
iは1〜10のfor文、pはscanfで入力する値なのですが。 
それからXの値をコンパイルしたいのです。
822片山博文MZボット ◆0lBZNi.Q7evd :2012/04/18(水) 12:52:44.39
#include <stdio.h>
int main(void) { int i, p, X;
printf("p: "); scanf("%d", &p);
for(i = 0; i <= 10; i++) {
for(X = -100; X <= 100; X++) {
if ((i * X) % p == 1) { printf("X = %d\n", X); i = 11; break; }
}
}
return 0;
}
823デフォルトの名無しさん:2012/04/18(水) 12:52:55.97
pが1以下のときは成り立たないので
>>818はバグです
824デフォルトの名無しさん:2012/04/18(水) 13:53:58.52
>>822
おお、素晴らしい。
力づくでも良かったのか。

>>220
「コンパイル」と言う言葉を使わずに説明しろ。
後処理結果も提示しろ。

お前は料理屋に行ってメニュー出されたにも関わらずうまいものを出せと喚き、お勧めを店員が提示してもうまいものを出せと喚き続ける客だ。
825デフォルトの名無しさん:2012/04/18(水) 14:00:19.03
こうだな

#define compile(X)

または

void X_wo_compile(void){}
826デフォルトの名無しさん:2012/04/18(水) 15:16:17.91
>>824
「うまいもの(当店オリジナル玉子焼き) 時価」 というメニューを用意すればいい
827デフォルトの名無しさん:2012/04/18(水) 19:09:27.95
824だけど。
>>825-826
クソワロタwww
和んだわ。

一瞬でもcompile関数の意味を聞こうとしてしまった。
バカだ。恥ずかしい。
828! ◆jPpg5.obl6 :2012/04/19(木) 00:32:03.99
int main(){
  int i,X,p;

  for(p=1;p<=10;p++){
    printf("X=1 2 3 4 5 6 7 8 91011121314151617181920-->p=%d\n",p);
    for(i=1;i<=10;i++){
      for(X=0;X<=20;X++)
        printf("%d ", (i*X)%p==1);
      printf("\n");
    }
  }
  printf("p?");
  scanf("%d",&p);
    printf("X=1 2 3 4 5 6 7 8 91011121314151617181920-->p=%d\n",p);
    for(i=1;i<=10;i++){
      for(X=0;X<=20;X++)
        printf("%d ", (i*X)%p==1);
      printf("\n");
    }
  return 0;
}
829デフォルトの名無しさん:2012/04/19(木) 00:43:55.23
printf("%d ", (i*X)%p==1);

%02d
にした方が良い

ついでに
for(i=1;i<=10;i++){
の下で 空白1つを出力しとけ
830デフォルトの名無しさん:2012/04/19(木) 10:10:19.15
2byteのshort型データどうしの引き算で
オーバーフローとアンダーフローを検出するロジックを教えてください

例えばこのような演算はアンダーフローになります
short a,b,c;
a = -32768, b = 100;
c = a - b; //アンダーフロー

以下のような関数を使って事前に判定したいのです。
(Cの機能を使わずに関数で判断したい)
この関数の中身を教えてください。

//引き算のオーバーフローとアンダーフローを検出する関数
int chk_sub_overf_underf(short a, shortb);
戻り値が0なら正常、1ならオーバーフロー、-1ならアンダーフロー
831デフォルトの名無しさん:2012/04/19(木) 10:24:27.28
サイズの大きい変数でも演算して結果を比較するとか
832830:2012/04/19(木) 10:42:44.67
すみません
サイズの大きい変数は使わないという前提でお願いします。
833デフォルトの名無しさん:2012/04/19(木) 10:46:07.97
>>830
a>0 && b<0 のとき a-b<=0 なら オーバーフロー
a<0 && b>0 のとき a-b>=0 なら アンダーフロー
それ以外は正常
834830:2012/04/19(木) 10:57:31.57
>>833
ありがとう
そんなに簡潔にわかるんですね
835 ◆vzWtDfaC/l34 :2012/04/19(木) 11:20:52.66
int Y,X[11],i,p;

scanf("%d",&p);

for(i=1;i<11;i++)
{
Y=0;
X[i]=0;
if(Y/i == 0 && i <> 1)
continue;
if(Y%2 == 0 && i%2 == 0)
continue;
while(Y == -1)
Y += p;
X[i] += Y/i;
Y = Y%i;
Y -= i;
X[i]++;
}
}


824だけど。
暇だったから作った。
携帯からだしテストもしてないから間違っててもしらん!
836デフォルトの名無しさん:2012/04/19(木) 18:02:38.53
>>833

「それ以外は正常」って

aが無茶苦茶大きいとき、あるいは負方向に無茶苦茶小さい
とき(絶対値が無茶苦茶に大きいとき)、大丈夫かねえ。
837デフォルトの名無しさん:2012/04/19(木) 18:21:46.76
a>=0 && b<0 のとき a-b<=0 なら オーバーフロー
a<0 && b>0 のとき a-b>=0 なら アンダーフロー
それ以外は正常

これでおっけー
838デフォルトの名無しさん:2012/04/19(木) 19:03:36.08
意外と大丈夫だな
839デフォルトの名無しさん:2012/04/19(木) 19:32:16.08
いやぁ、スレが盛り上がっていてなにより


この啓蒙活動の趣旨はマスコミと政治家の関係を知らせる、
という目的の為に行われるものです。
ご覧の方はチラシの一読をお願いします。

http://www31.atpages.jp/ujitv/images/demof3_1.jpg
http://www31.atpages.jp/ujitv/images/demof3_2.jpg

wiki
http://www31.atpages.jp/ujitv/
840デフォルトの名無しさん:2012/04/20(金) 01:38:13.55
> いやぁ、スレが盛り上がっていてなにより

この一文はなくした方がいいと思うぞよ
白々しさを感じてリンクをふむのを戸惑ってしまう
841デフォルトの名無しさん:2012/04/20(金) 01:58:13.76
どんな文面だったとしてもうざいとしか思わないよ
電車に乗ってるときに、知らない人からいきなり完全な正論を吐かれたとしてもいやな気分にしかならない
842デフォルトの名無しさん:2012/04/20(金) 02:46:11.20
内容伏せてプロパガンダ貼るとか、ネガキャン側の人間の工作としか思えない
右翼の街宣カーと一緒だな
843デフォルトの名無しさん:2012/04/20(金) 02:47:43.71
>>837
1-2 ってオーバーフローなの?
844デフォルトの名無しさん:2012/04/20(金) 02:50:47.70
>知らない人からいきなり完全な正論を吐かれたとしてもいやな気分にしかならない
こいつはテレビを見るたびにイラっとしてんだな・・・
845デフォルトの名無しさん:2012/04/20(金) 02:51:21.50
政治レスに触る奴死ねよ
せめて安価つけろ
846デフォルトの名無しさん:2012/04/20(金) 04:04:26.88
深夜にこんなところでキレてるキチガイってキモイな・・・
847デフォルトの名無しさん:2012/04/20(金) 06:11:55.51
>>843
凄い馬鹿がいるw
848デフォルトの名無しさん:2012/04/20(金) 07:32:33.37
>>843
両方正の数あるいは式になって無いもしくは強引に解釈しても加算処理施している件について。

引き算でデータがぶっ飛ぶ恐れがあるのは…
足し算で考えると
正+正 負+負
この2パターン。だから、
正-負(+正と同義)
負-正(+負と同義)
が引き算においてデータがぶっ飛ぶ恐れがある。…合ってますか?

>a>=0 && b<0 のとき a-b<=0 なら オーバーフロー
a=正 b=負
正-負(+正と同義) 正の加算処理してなんで負の数になるの。
>a<0 && b>0 のとき a-b>=0 なら アンダーフロー
a=負 b=正
負-正(+負と同義) 負の加算処理してなんで正の数になるの。
849デフォルトの名無しさん:2012/04/20(金) 12:15:25.98
>>847
弱いものいじめはやめろ!
850デフォルトの名無しさん:2012/04/20(金) 18:55:07.28
>>848
符号ビットが反転するから
でも、これを期待したコードって書いてよかったのかどうかが怪しい。
前にも同じ話が出たと思うけど、結論忘れた。

>>847 >>849
>>837の記述にはミスがあるけど、そこは別にいいか。
851デフォルトの名無しさん:2012/04/20(金) 18:57:07.01
>>850
ミスkwsk
852850:2012/04/20(金) 18:57:37.89
と思ったけど俺の勘違いでした。(2段目)
853850:2012/04/20(金) 18:58:14.02
わ、即レスついてた、惑わせてごめんなさい。
854デフォルトの名無しさん:2012/04/20(金) 21:31:17.01
>>850
補足ありがとう。
でも教えているだけだよ…

4ビット2の補数で考えると
(1)-(-8)=(9)
0|1000 + 0|0001
0|1001(-7)
(7)-(-1)=(8)
0|0111 + 0|0001
0|1000(-8)
(7)-(-8)=(15)
0|0111 + 0|1000
0|1111(-1)
(-8)-(1)=(-9)
0|1000 + 0|1111
1|0111(5)
(-1)-(7)=(-8)
0|1111 + 0|1001
1|1000(-8)
(-2)-(7)=(-9)
0|1110 + 0|1001
1|0111(7)
(-8)-(7)=(-15)
0|1000 + 0|1001
1|0001(1)
だねぇ。
とりあえず適当に数ぶち込んだ限りではちゃんとなってるけど。
855デフォルトの名無しさん:2012/04/21(土) 04:02:09.99
>>832
>サイズの大きい変数は使わないという前提でお願いします。
limits.hは不可って事?

int chk_sub_overf_underf(short a, short b)
{
if(a==0||b==0)return 0;
if(a>0&&b>0)return 0;
if(a<0&&b<0)return 0;
if(a-(a+b)/2>SHRT_MAX/2)return 1;
if(a-(a+b)/2<SHRT_MIN/2)return -1;
return 0;
}
856デフォルトの名無しさん:2012/04/21(土) 11:06:54.06
[1]
[2] 問題文
@C プログラムでx; y のそれぞれについて適当な関数を定義し(x; y) 座標の点を500 組生成する
[3] 環境
 [3.1] OS:mac
 [3.2] コンパイラ名とバージョン: ターミナル
 [3.3] 言語: どちらでも可
[4] 期限: 4月25日13時まで
[5] その他の制限: 特にありません
857デフォルトの名無しさん:2012/04/21(土) 11:21:00.72
カレーを作るのに必要な食材: まな板
858デフォルトの名無しさん:2012/04/21(土) 11:38:46.75
> [3.2] コンパイラ名とバージョン: ターミナル

なにか勘違いしてる
プログラミングうんぬんの前に
もっと別の教育が必要らしい
859デフォルトの名無しさん:2012/04/21(土) 12:38:56.44
[2] 問題文
> x; y のそれぞれについて適当な関数を定義し(x; y) 座標の点を500 組生成する
x^2+y^2=1 とすると、y^2=1-x^2 ; y=sqrt(1-x^2) ;
860デフォルトの名無しさん:2012/04/21(土) 12:44:10.17
そりゃ何もわからないから丸投げにくるわけで・・・・
わかってるやつなら質問スレに行くわ・・・
861デフォルトの名無しさん:2012/04/21(土) 12:49:49.09
x=rand(); y=rand();
862デフォルトの名無しさん:2012/04/21(土) 13:12:04.50
込み入った漸化式をつかって
マンデルブロ集合でも描けばいい
863デフォルトの名無しさん:2012/04/21(土) 13:17:34.91
y=xでいいじゃん。
864デフォルトの名無しさん:2012/04/21(土) 21:51:15.45
あのなあ
865デフォルトの名無しさん:2012/04/21(土) 21:59:23.64
そうか
まだ難易度が低いっていうのか
いや失敬

それならフレネル積分が登場する
クロソイド曲線とかはどうだ
プロットすればいいものが見られるぞ
866デフォルトの名無しさん:2012/04/21(土) 22:26:04.05
>>856
@C プログラムでx; y のそれぞれについて適当な関数を定義し(x; y) 座標の点を500 組生成する
[3.3] 言語: どちらでも可

…矛盾してね?

@C プログラムでx; y のそれぞれについて適当な関数を定義し(x; y) 座標の点を500 組生成する

いまいち意味分かって無いのは俺だけか?
y=x+30
とかテキトーに作ってforあたりで回せと?
文字通り何でもいいと言うなら
>>861>>863
ですぐできるが。
867デフォルトの名無しさん:2012/04/22(日) 23:40:43.80
>>856です
皆さんの言うとおりこちらの勉強不足でした。
様々なご意見ありがとうございました。
868デフォルトの名無しさん:2012/04/23(月) 09:37:40.32
#include <time.h>
#include <stdio.h>
#include <stdlib.h>

int main(void)
{
int no;
int ans;
srand(time(NULL));
ans=rand()%10;
printf("0〜9の整数を当ててください");
do{
printf("いくつですか");
scanf("%d",&no);
if(no>ans)
printf("もっと小さい\n");
else if(no<ans)
printf("もっと大きい\n");
}while(no!=ans);
printf("当たりです\n");
return(0);
}

っていう0〜9の数字を当てるハイ&ローのプログラムなんだけど
これに残りの入力できる回数を追加したいんだけど残り回数=nokoriとして
入力できる回数をkai=10とした場合のプログラムを教えてください
869デフォルトの名無しさん:2012/04/23(月) 10:47:05.45
質問スレ行け
ここは宿題をやるところ
870デフォルトの名無しさん:2012/04/23(月) 10:51:32.70
>>868
テンプレ読め
871デフォルトの名無しさん:2012/04/23(月) 11:24:18.51
doをwhileかforにして残り回数で回せ。
入力させるごとに残り回数を減らせ。

ループの下に外れまくった時の処理を書きなさい。
872デフォルトの名無しさん:2012/04/23(月) 11:27:20.14
>>871
テンプレも読まないバカに答えんなよks
お前も消えろ
873デフォルトの名無しさん:2012/04/23(月) 12:34:21.68
>>872
テンプレ通りに質問する必要も回答する必要も本来は無いハズなんだよ。
…あまりにもどうしようもないバカが多すぎるだけで。
処理結果…は無いけどはっきり何したいか言ってくるだけましだろ…

これで解りませんソース全文くださいって言ったりバックレたりしたらふざけんなテンプレぐらい読めよって言うけどな。
874デフォルトの名無しさん:2012/04/23(月) 12:38:40.42
875デフォルトの名無しさん:2012/04/23(月) 13:11:36.22
>>871

#include <time.h>
#include <stdio.h>
#include <stdlib.h>

int main(void)
{
#define kai 10
int no=10,ans,nokori;
srand(time(NULL));ans=rand()%10;printf("0〜9の整数を当ててください");
for(nokori=kai;no!=ans&&nokori!=0;nokori--)
printf("いくつですか"),
scanf("%d",&no),
no>ans?printf("もっと小さい\n"):
no<ans?printf("もっと大きい\n"):NULL;
no==ans?printf("当たりです\n"):
printf("はずれまくり\n");
return(0);
}
876デフォルトの名無しさん:2012/04/23(月) 16:31:42.96
877デフォルトの名無しさん:2012/04/23(月) 23:25:01.07
>>875
kai と nokori って同じ意味じゃね?
878デフォルトの名無しさん:2012/04/24(火) 01:57:20.51
>>868
http://ideone.com/vBcII
PC使えたから出来るだけ原形とどめて書いてみたよ。
一回聞いてみて「ハズレ なら もう一回」聞くのを、
「ハズレ&残り回数がある なら もう一回」聞くようにしてみた。
ところがこれだとnokoriの初期値が0以下でも聞いてきてしまうことに注意。
>>874との違いはnokoriが0以下でも答えを教えてくれること。

>>877
kaiはdefine定数だね。
回答可能回数の略だろう。
879デフォルトの名無しさん:2012/04/24(火) 02:01:32.53
>>878取り消し。
http://ideone.com/HOfXP
ごめんよやらかした。
前置型の名残が残ってた。
878でも問題ないとは思うけど。
880デフォルトの名無しさん:2012/04/24(火) 02:21:20.29
>>856
http://ideone.com/xC2xe
とりあえず…何もないと困るだろうから関数とループの勉強とみなして
x=i;(※iはすでに作った組の生成数)
y=500-x;
って事にしておいた。
後は適当に数式の部分だけ書き換えれば良いと思うけど。

27行目がx=…
36行目がy=…
に対応しているからそこだけ書き換えれば良いんじゃないかな。
何組目か表示しろ!って言われたら14行目を消して15行目のコメントを解除。
コメント何か入れんな!だったら15行目を削除。
これ以上は処理結果や数式提示してくれないとちょっときつい。
881デフォルトの名無しさん:2012/04/24(火) 15:35:32.81
昨日宿題で出された問題です。よろしくお願いします。
解説無しでここから試験が出るようなので難しさに焦っています。

[1] 授業単元:C言語
[2] 問題文(含コード&リンク):
1〜9までの連続する数字の間に和・差・積の演算子(+, -, *)を適当に入れて、
式の値がちょうど 100 となる例を挙げよ(10とおりだけ書け)。

たとえば、
 1 + 2 * 3 * 4 * 5 + 6 * 7 - 8 * 9 = 91
というような計算をする。ただし、この例では式の値が91となるので答えではない。

[3] 環境
 [3.1] OS: MacOSXLion
[3.2]ターミナル
[3.3]C
[4] 無期限
882デフォルトの名無しさん:2012/04/24(火) 15:41:50.80
>>881
ターミナルっていう名前のコンパイラなの?
883デフォルトの名無しさん:2012/04/24(火) 15:56:39.71
>>882
黙ってろ、つまんねーんだよ
884デフォルトの名無しさん:2012/04/24(火) 16:10:11.24
この手の小町算て面倒くさいよな
Cでやるの

コンパイラを通す言語だから
しょーがないて言えばそれで終わりだけど

evalを自作すれば一番応用が利くかも

つーかそれ以前に
小町算 とかでggてみたのか?
885デフォルトの名無しさん:2012/04/24(火) 16:13:14.94
#include <stdio.h>

int cnt;
char s[8];

void f(int idx, int tmp, int sum)
{
int i;
if(idx == 8) {
if(sum + tmp == 100 && cnt < 10) {
cnt++;
for(i = 0; i < 8; i++) printf("%d %c ", i + 1, s[i]);
printf("9 = 100\n");
}
return;
}
s[idx] = '+';
f(idx + 1, idx + 2, sum + tmp);
s[idx] = '-';
f(idx + 1, -(idx + 2), sum + tmp);
s[idx] = '*';
f(idx + 1, tmp * (idx + 2), sum);
}

int main(void)
{
f(0, 1, 0);
return 0;
}
886デフォルトの名無しさん:2012/04/24(火) 16:20:59.19
小町算っていうのか勉強になる
887デフォルトの名無しさん:2012/04/24(火) 16:24:00.39
888デフォルトの名無しさん:2012/04/24(火) 17:38:49.42
>>880
解答ありがとうございます。
参考にしながら作ってみます。
889デフォルトの名無しさん:2012/04/24(火) 19:35:51.08
>>885
ありがとうございます!C言語の試験は学内最難関で200人は
落ちてしまうんです。
でもその試験に合格すれば合格者は1人ずつ名前を覚えて
研究生の候補生として先生が認識してくれるんです。
ですから頑張りたいと思っています。
890デフォルトの名無しさん:2012/04/24(火) 19:46:00.72
この程度のCの試験が学内最難関とか
いったいどういう学校だよ……

まさか大学の工学部とかじゃねーよなw
ははは
891デフォルトの名無しさん:2012/04/24(火) 19:49:28.87
>889
自力じゃないんだから、結局後々苦労するんじゃないの?
問題が出題される度にここで訊いてたら、いつまで経ってもスキルは上がらない。
892デフォルトの名無しさん:2012/04/24(火) 20:19:09.52
>>891
どうなんでしょうか。
柴田茫洋とかはやっていますし、私も決して勉強を怠っている訳ではないんですが
この先生の問題はどれも捻った問題だらけで私にはさっぱり解き方が分からないん
です。絶対にどの参考書からも外した問題を出してきます。
893デフォルトの名無しさん:2012/04/24(火) 20:21:24.95
12+13 は習ったことがありますが 12+14 は習ってないので分かりません
894デフォルトの名無しさん:2012/04/24(火) 20:31:56.27
自分で考える習慣がないと、研究なんてできないだろ
895デフォルトの名無しさん:2012/04/24(火) 20:36:33.64
[1] 授業単元: プログラミング
[2] 問題文(含コード&リンク):
[問1] 1からNまでの平均値を求めるプログラムkadai1.cを書きなさい。ただしNはキーぼどから入力するものとし、出力は以下で出力されるものとする。
printf("average = %f\n", answer);
[3] 環境
 [3.1] OS:Linux
 [3.2] gcc
 [3.3] C
[4] 期限:2012年4月26日まで
[5] その他の制限: 特になし

896デフォルトの名無しさん:2012/04/24(火) 20:38:01.28
[1] 授業単元: プログラミング
[2] 問題文(含コード&リンク):
1からNまでの値の中で3の倍数の和を求めるプログラムkadai2.cを書きなさい。但しNはキーボードから入力するものとして,出力は以下で出力されるものとする。
printf("sum = %d\n", answer);

[3] 環境
 [3.1] OS:Linux
 [3.2] gcc
 [3.3] C
[4] 期限:2012年4月26日まで
[5] その他の制限: 特になし

計二問ですよろしくお願いします。
897デフォルトの名無しさん:2012/04/24(火) 20:39:40.33
つりじゃないの?
898デフォルトの名無しさん:2012/04/24(火) 20:39:59.29
>>892
>>881も望洋読んでりゃ解ける基本的な問題やで
899デフォルトの名無しさん:2012/04/24(火) 20:41:17.31
・・・余計な事を書かなきゃこういう風に
スレも荒れなかったし普通に質問も出来ましたね。
言い訳みたいなのも一応ありますが書きません、さらに荒れそうですから。
結局、私はアホですしどの参考書にも当てはまらない問題が出て来てしまえば
また質問に来てしまうでしょう。ごめんなさい。
900デフォルトの名無しさん:2012/04/24(火) 20:41:28.08
http://www.bohyoh.com/
ちょっぴり石黒賢っぽいイケメソだけど、どうよ?
901デフォルトの名無しさん:2012/04/24(火) 20:54:40.92
これで荒れてるとかどんだけメンタルよわいの
902デフォルトの名無しさん:2012/04/24(火) 21:04:29.56
>>896
そのまま答えるのは>>896自身にとって良くないことなのでヒントだけ。

>>895
平均を求める計算式は?
その計算に必要な値はどうやったら用意できる?

>>896
倍数の定義を日本語にすると?
903デフォルトの名無しさん:2012/04/24(火) 21:06:47.29
>>896
int main(void){
int i;
int answer;
int N;
scanf("%d", &N);
answer = 0;
for(i = 1; i <= N; i++)
if(i % 3 == 0)
answer += i;
printf("sum = %d\n", answer);

return 0;
}
904デフォルトの名無しさん:2012/04/24(火) 21:24:07.56
>>881がわからなくて悔しい・・・小町算勉強するか
905デフォルトの名無しさん:2012/04/24(火) 21:44:29.63
100を基準に9から下っていけば?
906デフォルトの名無しさん:2012/04/24(火) 22:12:20.22
下って行って
割り算と小数点のクソコンボで判定できなくなる未来が見える
胸熱
907デフォルトの名無しさん:2012/04/24(火) 22:13:31.90
>和・差・積の演算子(+, -, *)を適当に入れて
908デフォルトの名無しさん:2012/04/24(火) 22:16:10.06
空白も含めて
123+4...
とかだったらホンモノすぎるだろww
めんどくせーよw
Cでやんのは
909895:2012/04/24(火) 22:32:31.08
>>903
ありがとうございます。
誰か>>895もよろしくお願いします
910デフォルトの名無しさん:2012/04/24(火) 22:41:44.63
10個探せばいいんだから演算子の優先順位が問題にならない順番にしてランダムで適当に探せばよろしい
911デフォルトの名無しさん:2012/04/24(火) 22:45:22.13
C言語のcallocを使ってて壁にぶち当たって悩んでる者です。一度だけcallocで確保したメモリをforループして値をいれていってるんだけど、PF使用量ってのがループ毎に増えてしまって悩んでます。初心者なんで訳わからんこと書いてたらすいません。
912デフォルトの名無しさん:2012/04/24(火) 22:49:47.46
>>911
ソースを晒せ
913デフォルトの名無しさん:2012/04/24(火) 22:50:37.15
ソースもなしにレス立てとな
914デフォルトの名無しさん:2012/04/24(火) 22:52:25.74

         |:;:;:;:;:;:;:;:;:;:;:;:;:;:i;:;:;:;:;:;:;:;:;:;:;:;:;|
           |;:;:_:;:_:;:_:;:_;:;_:;:l:;_;:_:;:_:;:_:;:_;:_;|
        |______|_____|
        | 三|  _     _   |三 !
        | 三|  三シ   ヾ三  |三 |
        | 三′  .._     _,,..  i三 |
        ト、ニ| <でiンヽ  ;'i"ィでiン |三.|   ソースも貼らずにレス立てとな!?
        ', iヽ!  、 ‐' /  !、 ーシ |シ,イ
         i,ヽリ    ,' :  !.     |f ノ
         ヾ!    i ,、 ,..、ヽ   lノ
          |      _ _    イ l
            l    ,ィチ‐-‐ヽ  i /、
             ゙i、   ゝ、二フ′ ノ/'"\
              | \  ー一 / /   _,ン'゙\
          ,ィ|、  \     /_,、-'" _,.-''´ `丶、__
       _, イ  | ヽ_ 二=''" _,. -''´  """""´´  ``ー
915デフォルトの名無しさん:2012/04/24(火) 23:02:10.94
麻呂のクソース、キターーー!?
916デフォルトの名無しさん:2012/04/24(火) 23:09:08.56
お前ら一条三位を馬鹿にするが、極官は関白の家柄。
賤民が神コードを書いても届かない名家なんだぞ。
917デフォルトの名無しさん:2012/04/24(火) 23:13:00.62
名家つっても戦争負けて天皇がもうオワコンだしいまいち凄みが・・・・
918デフォルトの名無しさん:2012/04/24(火) 23:34:09.20
>>909
answer=N*(N+1.0)/2.0;
919デフォルトの名無しさん:2012/04/25(水) 00:00:01.38
>>918
言いたいことは分かるが、求めるべきは平均だ
920895:2012/04/25(水) 00:16:33.13
誰か教えてください
エロい人
921デフォルトの名無しさん:2012/04/25(水) 00:17:20.51
>>920
(1+N)/2.0
922デフォルトの名無しさん:2012/04/25(水) 00:17:22.10
>>918は1〜Nまでの和を表す式だよ
923デフォルトの名無しさん:2012/04/25(水) 00:27:15.45
小町ちゃんの解凍だれかきぼんぬ
924デフォルトの名無しさん:2012/04/25(水) 00:29:20.29
896がわかったら895もわかりそうなもんだけど、応用のできないかわいそうな子か?
925デフォルトの名無しさん:2012/04/25(水) 00:29:41.44
>>923
小町算でググる
見つかった答え10個を printf で書き出すようにする
926デフォルトの名無しさん:2012/04/25(水) 00:31:27.84
>>925
なんだよ、それw 1〜100までの素数をコピペするみたいなw
927デフォルトの名無しさん:2012/04/25(水) 00:41:26.58
誰か教えてやれよww
928デフォルトの名無しさん:2012/04/25(水) 01:14:12.95
>>895

プログラミング初心者ですが頑張って書いてみました。
間違っていたらごめんなさい。

#include <stdio.h>
#define N 'N'

int main(void)
{
char c;
int i, sum = 0;
double answer;

printf("Nを入力してください :");
scanf("%c", &c);

if (c != N) {
printf("これはNではありません!\n");
return -1;
}

for (i = 1; i <= N; i++) {
sum += i;
}

answer = (double)sum / N;
printf("average = %f\n", answer);
return 0;
}
929デフォルトの名無しさん:2012/04/25(水) 01:53:54.91
よろしくお願いします

[1] 授業単元: C言語
[2] 問題文(含コード&リンク):
ひとつの英文をキーボードから入力し、その単語数と文字数を出力
するプログラムを作成せよ。
[3] 環境
 [3.1] OS: MacOSXLion
 [3.2] コンパイラ名とバージョン: gcc
 [3.3] 言語: C
[4] 期限: 無期限 
930デフォルトの名無しさん:2012/04/25(水) 01:56:55.92
885は小町だろ?
931デフォルトの名無しさん:2012/04/25(水) 02:07:18.58
932デフォルトの名無しさん:2012/04/25(水) 02:14:57.10
>>931
ありがとうございます、助かりました
933デフォルトの名無しさん:2012/04/25(水) 03:08:17.30
その小野小町を導くアルゴリズムが重要なんじゃなイカ?
934デフォルトの名無しさん:2012/04/25(水) 03:19:11.74
881は完全な小町算を要求してるわけではない
数字の間に演算子が入らない場合を認めるのかどうかも不明だし
935デフォルトの名無しさん:2012/04/25(水) 03:24:59.62
936デフォルトの名無しさん:2012/04/25(水) 03:33:59.25
無駄な計算多いね
937デフォルトの名無しさん:2012/04/25(水) 03:55:20.09
指摘するくらいなら自分がスマートなコードを提示すべきだろう
そうだと指摘する自分の意見を正当なものとするためにも。出来なければ単なる野次。
国会中継を見てご覧。野党は野次馬党と化している。かつて与党だった自民でさえ
野党時代の民主と変わらん。しかも審議拒否w
938デフォルトの名無しさん:2012/04/25(水) 04:07:18.32
野次でええやん
939 ◆QZaw55cn4c :2012/04/25(水) 04:08:14.81
>>937
谷垣でしょ?
ナベツネと同レベル、震災時、挙国一致内閣を立ち上げあけなければならない重要な時期に党利党略優先で菅叩きに猛進した馬鹿野郎でしょ?
菅は馬鹿だがあの時期に叩く理由が理解不能。期待するのが無駄。さっさと首にして神経がまともな党首にすげかえるべきでしょうね。
それにしても、かつての優秀な自由民主党はどこにいったのでしょうね。

せめて全国に放射能を拡散させる「燃やして応援」は勘弁ね。
940デフォルトの名無しさん:2012/04/25(水) 04:11:58.85
>>929
#include <stdio.h>
#include <string.h>
#include <stdlib.h>

#define SIZE 128

int main(void)
{
char buf[SIZE], *str;
int i, c, w;

while (fgets(buf, SIZE, stdin) != NULL) {
str = (char *)malloc(sizeof(char) * SIZE);
strcpy(str, buf);
}
for (i = 0, c = 0, w = 0; str[i] != '\0'; i++) {
if (str[i] != ' ') c++;
else w++;
}

printf("文字数: %d, 単語数: %d\n", c - 1, w + 1);

return 0;
}

ねむい 寝る
941デフォルトの名無しさん:2012/04/25(水) 04:23:20.60
>>937 = >>935なら、そんなのスルーしておけばいいし、
そうじゃないなら如何に頭悪いレスかを理解すべきだし
942デフォルトの名無しさん:2012/04/25(水) 04:40:13.89
885と比べると計算回数どんだけ多いか
配列に記号突っ込むだけなのに除算や余算使いまくりなのも酷い
943デフォルトの名無しさん:2012/04/25(水) 07:49:16.97
>>881
先頭から順にではなく、演算子の優先順位も守ってのことか。面倒だからやーでおじゃる〜
それより、小町ちゃ〜〜ん
944デフォルトの名無しさん:2012/04/25(水) 08:43:08.81
加算減産乗算しかないのなら、

ループ開始

まず*を排除。
数値配列バッファに数字を順次ぶちこむが*の時だけ乗算処理をする。
「1+2+3*4」ならあらかじめ全部1にした数値配列に、
1*1として+だから次にずらし
1*2として+だから次にずらし
1*3として「*なのでずらさない」
3*4として
終わり。

次に加算原産処理をバッファから読みこみつつ回答にぶちこむ。
先頭が+確定なのでまずこれを回答にぶちこみ
+なら加算
-なら減算
*ならスルー
でいいのでは?

この時点で回答が100なら「答えだよカウント」+1
答えだよカウントが10なら10個でたから終了。

加算減産除算を3進数とみなし1加算行う。

ループ終了

…で良いと思うんだが今から作ると俺の時間が無いので誰か頼む…
945デフォルトの名無しさん:2012/04/25(水) 11:39:59.81
# include<stdio.h>
int main(void){
int a[9],b[9],bc,kc,ans,ans_cnt=0,next,i;
char k[9]={'+','+','+','+','+','+','+','+','+'};
while(k[9]=='+'){
bc=1;next=1;
for(i=0;i<9;i++){a[i]=i;b[i]=1;}
for(i=1;i<9;i++){
switch(k[i-1]){
case '+':
bc++;break;
case '-':
bc++;a[i]*=-1;break;}
b[bc-1]*=a[i];}
ans=b[0];
for(i=1;i<bc;i++) ans+=b[i];
if(ans== 100){
ans_cnt++;
for(i=0;i<8;i++) printf("%d%c",i+1,k[i]);
printf("%d\n",9);}
for(i=0;next;i++)
switch(k[i]){
case '+':
next--;k[i]='-';break;
case '-':
next--;k[i]='*';break;
case '*':
k[i]='+';break;}
}
return 0;}
946デフォルトの名無しさん:2012/04/25(水) 11:42:20.34
>>945だけど。
>>881
…携帯からだからテストもしてないんだ…ごめんよ。
自宅帰っても回答無いなら挑んでみるわ。
947デフォルトの名無しさん:2012/04/25(水) 12:09:18.07
なんか小汚いゴミみたいなソースが来たな
全然美しくない
アホが自己満足で作って自分も他人も苦しませるために存在してるようなコードだ
948デフォルトの名無しさん:2012/04/25(水) 12:11:05.75
馬鹿に合わせてコード書いてたらレベルが下がるわな
949デフォルトの名無しさん:2012/04/25(水) 12:17:10.28
それならそうと
「あなたはバカなのでそれに合わせてコードの質を下げました、
この豚のエサで満足してください」
と書いた方がいい
950デフォルトの名無しさん:2012/04/25(水) 12:17:14.20
バカに馬鹿って言う奴がバカなんだお^ω^?
951デフォルトの名無しさん:2012/04/25(水) 12:34:38.50
ターミナルでコンパイルするお^ω^?
952デフォルトの名無しさん:2012/04/25(水) 12:51:04.49

ターミナル上でもコンパイルできるのは
変わりないわなwww
プw
953デフォルトの名無しさん:2012/04/25(水) 13:09:19.24
人はそれを、ターミネーターという。
954デフォルトの名無しさん:2012/04/25(水) 13:18:20.91
アイルビーバック!!
955デフォルトの名無しさん:2012/04/25(水) 13:26:58.34
アイルビーコンパイル 彼はそういって再びコンパイルしたのであった
956tako:2012/04/25(水) 15:26:05.60
[1] 授業単元:プログラミング
[2] 問題文(含コード&リンク):次のプログラムをstrcpy(a,b)を使わずに
whileを使って同じことを行うプログラムを作れ。
int main(void){
char a[64],*b;
b="INFORMATION";
strcpy(a,b);
printf("%s\n",a);
return 0;
}
[3] 環境
 [3.1] OS:Linux
 [3.2] コンパイラ名とバージョン:gcc
 [3.3] 言語:C
[4] 期限:2012年4月26日午後1時
[5] その他の制限:特になし
957デフォルトの名無しさん:2012/04/25(水) 15:38:30.61
int main(void)
{
int i = 0;
char a[65], *b;
b = "INFOMATION";

while(a[i++] = *b++);

printf("%s\n", a);

return 0;
}
958デフォルトの名無しさん:2012/04/25(水) 15:55:50.14
int main(void){
char a[64],*b;
b="INFORMATION";
while(memcpy(a,b,64));
printf("%s\n",a);
return 0;
}
959デフォルトの名無しさん:2012/04/25(水) 16:00:01.22
[1] 授業単元:プログラミングC
[2] 問題文 配列vxの各要素に整数をscanf関数で入力し、5の倍数のみを新たな配列に格納し、これを出力するプログラムを作成せよ。
[3] 環境
 [3.1] OS: Windows vista
 [3.2] コンパイラ名とバージョン: VisualStudio2010
 [3.3] 言語: C言語 (C++)
[4] 期限: 4/26
[5] その他の制限:初歩的なものしか使えません。

よろしくお願いします。
960デフォルトの名無しさん:2012/04/25(水) 16:14:42.03
#include <stdio.h>

int main(void)
{
int i, j;
int vx[10], vy[10];

for(i = j = 0; i < 10; i++) {
scanf("%d", vx + i);
if(vx[i] % 5 == 0) vy[j++] = vx[i];
}

for(i = 0; i < j; i++) printf("%d\n", vy[i]);

return 0;
}
961デフォルトの名無しさん:2012/04/25(水) 17:52:17.43
>>881
http://ideone.com/G0nWb
宣言通りちゃんと作ったどー。
環境依存でムリーとか言われたらムリー。

先に減算と乗算を片付けて加算だけにしてみた。
演算子は完全に総当たり。

1*2+3-4*5*6+7*8-9 って出て来たら、
(1*2)+3+(-4*5*6)+(7*8)+(-9) とみなし、
(2)+3+(-120)+(56)+(-9) と直して、
まとめて加算。=(-68)
記号は3進数に+1加算しているのと一緒です。
桁上がり(*→+)がある限り記号ずらし(加算)を繰り返します。

…ここから試験出るって言うけどそれってソース提示すればOKなの?
穴埋め埋めとかなら質問はここじゃ無い方が良い気がするんだが。

コーディング下手糞のバカで悪かったなバカで。
携帯からだとideome先生が使えないんだよ。
ついでにバグ取りしてくれりゃよかったものを…
962デフォルトの名無しさん:2012/04/25(水) 18:21:17.45
だからわっかんねーのかなwww
>>910あたりはイイ線ついてんだよwww
+−だけならクソキャリーとか考えなくていいだろww
ついでに計算順も考えなくていいw

ま、10個見つかるかどうかは知らんけど
ラクしよう手抜こう早く仕上げよう てな
一番大切な精神をもってる

コーディングじゃあないんだ、
そのウラの考え方が美しくないって言ってんだろww
963デフォルトの名無しさん:2012/04/25(水) 18:43:24.51
1から9まで足して45なのに、+-だけでいいわけねーだろ
どんだけバカなら気が済むんだw
964デフォルトの名無しさん:2012/04/25(水) 19:41:59.29
>>881
http://ideone.com/rvxI1
宣言通りちゃんと作ったどー。
空白対応小町っちゃんパワーうpバージョン。
空白対処もやってることは>>961と一緒。
965デフォルトの名無しさん:2012/04/25(水) 20:07:15.23
885
#include <stdio.h>

char s[9];

void f(int idx, int tmp, int tmp2, int sum) {
if(idx == 9) {
if(tmp2) sum += tmp * tmp2;
else sum += tmp;
if(sum == 100) {
int i;
for(i = 1; i < 9; i++) {
printf("%d", i);
if(s[i] != ' ') printf(" %c ", s[i]); }
printf("9 = 100\n"); }
return ; }
if(tmp2) {
s[idx] = '+'; f(idx + 1, idx + 1, 0, sum + tmp * tmp2);
s[idx] = '-'; f(idx + 1, -idx - 1, 0, sum + tmp * tmp2);
s[idx] = '*'; f(idx + 1, tmp * tmp2, idx + 1, sum);
s[idx] = ' '; f(idx + 1, tmp, tmp2 * 10 + idx + 1, sum); }
else {
s[idx] = '+'; f(idx + 1, idx + 1, 0, sum + tmp);
s[idx] = '-'; f(idx + 1, -idx - 1, 0, sum + tmp);
s[idx] = '*'; f(idx + 1, tmp, idx + 1, sum);
s[idx] = ' '; f(idx + 1, tmp *10 + (tmp > 0 ? idx + 1 : -idx - 1), 0, sum); } }

int main(void)
{
f(1, 1, 0, 0);
return 0;
}
966デフォルトの名無しさん:2012/04/25(水) 20:08:30.69
>>960
ありがとうございます!!
967デフォルトの名無しさん:2012/04/25(水) 21:12:49.09
>>881
しつこいようだがソース全文提出orそれに近いものが条件でない場合アルゴリズムの学習をすること。
「自分で作ってきたよね?じゃあそれに除算機能も追加できるよね^^?」
こんなこと言いだす先生が相手の場合ソース丸暗記だけじゃ歯が立たないよ。
出題形式が先生自作プログラムの穴埋めの場合もまた然り。
試験落ち過ぎだろ…もちろん881の方の事じゃ無い!

脳内思考そのままコードにしている奴が言うセリフじゃないんでしょうけど。
965を参考に勉強するから良いんです。
半分以下だと流石に悔しい…。
968デフォルトの名無しさん:2012/04/25(水) 21:17:08.67
>967
とりあえず落ち着け。日本語が分からん。
969デフォルトの名無しさん:2012/04/25(水) 21:23:07.60
単純に演算子を配列に入れるだけなら、再帰より>>964のほうが速いだろうけど
全部入れ終わってから計算を始めると、同じ計算を何度もすることになるから遅くなる
970デフォルトの名無しさん:2012/04/26(木) 03:22:49.18
>>967
言いたいことは分かる。
分かるけど、脳内思考そのままコードにするのはそれでよくて、重要なのは脳内思考を変化させること。
971デフォルトの名無しさん:2012/04/26(木) 07:43:51.63
>>968 我 是 日本人、不是 中国人 ワカッタアルカ?
972デフォルトの名無しさん:2012/04/26(木) 10:06:16.43
そうだね、途中まで同じ計算なら、それを使って残りの数字で100になるパターンを探した方が良い罠
973デフォルトの名無しさん:2012/04/26(木) 17:47:00.10
得意げなバカは結局何も考えてない
974デフォルトの名無しさん:2012/04/26(木) 18:02:53.29
他人を見下す奴ほど、問題点は指摘するが改善点を示さない
975デフォルトの名無しさん:2012/04/26(木) 18:20:43.96
何を言ってるか理解できないからってそうやって煽ってみても、
お前が理解できるように説明なんかしてくれないよw
976 ◆jPpg5.obl6 :2012/04/26(木) 18:35:54.73
[1] 授業単元:C言語
[2] 問題文:2値化処理を行って画像明るい(暗い)領域を抽出することを考える。
微分ヒストグラム法を用いて2値化閾値選択を行い、画像を2値化するプログラムを作成し、
その画像に適用した2値化画像とヒストグラムを出力するようにせよ。
[3] 環境
 [3.1] OS: linux
 [3.2] コンパイラ名とバージョン:gcc
 [3.3] 言語: C言語
[4] 期限: 5/1
宜しくお願いします。
977 ◆jPpg5.obl6 :2012/04/26(木) 18:38:12.64
[1] 授業単元:C言語
[2] 問題文:2値化処理を行って画像明るい(暗い)領域を抽出することを考える。
微分ヒストグラム法を用いて2値化閾値選択を行い、画像を2値化するプログラムを作成し、
その画像に適用した2値化画像とヒストグラムを出力するようにせよ。
[3] 環境
 [3.1] OS: linux
 [3.2] コンパイラ名とバージョン:gcc
 [3.3] 言語: C言語
[4] 期限: 5/1
宜しくお願いします。
978デフォルトの名無しさん:2012/04/26(木) 18:39:12.17
[1] 授業単元:C言語
[2] 問題文:2値化処理を行って画像明るい(暗い)領域を抽出することを考える。
微分ヒストグラム法を用いて2値化閾値選択を行い、画像を2値化するプログラムを作成し、
その画像に適用した2値化画像とヒストグラムを出力するようにせよ。
[3] 環境
 [3.1] OS: linux
 [3.2] コンパイラ名とバージョン:gcc
 [3.3] 言語: C言語
[4] 期限: 5/1
宜しくお願いします。
979デフォルトの名無しさん:2012/04/26(木) 18:41:15.79
画像フォーマットが問題だ
980デフォルトの名無しさん
>>975
お前は何を言っているんだ?