C/C++の宿題片付けます 156代目
レス数が1000を超えています。これ以上書き込みはできません。
0001デフォルトの名無しさん
2012/02/03(金) 22:43:17.22【質問者へ】
回答者の便宜のため、質問の際は以下を行うことを推奨します。
・質問は【質問テンプレ】を利用してください。 >>2以降にあります。
・問題文は、出題されたまま全文を書いてください。
・問題文やコードをリンクするときは、一言内容にについて説明をつけましょう。
・計算問題は数式をあげ、どのような計算をするのか詳しく説明してください。
・エラーは、その詳細と発生した行を書きましょう。エラーメッセージはコピペしてください。
・後から問題に付け足しするのはコラー!!です。付け足しは作業を無駄にしがちです。
・なりすましを防ぐため、トリップを使ってください。名前欄に、「#」に続けて任意の文字列を入力して投稿すると、その文字列を知らない他人に騙られることを防ぐことができます。
0002デフォルトの名無しさん
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/
0003デフォルトの名無しさん
2012/02/03(金) 22:51:40.33おつかれさまー
0004デフォルトの名無しさん
2012/02/03(金) 22:53:59.82自分勝手な仕様変更をしたり正常に動作しないコードを書くなどするうえに
無駄な煽りを行う要注意人物
0005デフォルトの名無しさん
2012/02/04(土) 08:49:40.390006デフォルトの名無しさん
2012/02/04(土) 09:09:53.01並ぶように運用しましょう。これレスも含めて余計なちょっかいには
スルーを。
0007デフォルトの名無しさん
2012/02/04(土) 20:08:51.74[2] 問題文 初期状態をファイルより読み込みライフゲームを実行しなさい
[3] 環境
[3.1] OS: Windows7
[3.2] コンパイラ名とバージョン: VisualStudio2010
[3.3] 言語: C言語
[4] 期限: 2/5
[5] その他の制限: ライフゲームの作成です。セルの生死を判定するための条件付けをうまく記述することができません。
他にもツッコミどころ満載ですがどなたか指摘していただけると助かります。お願いします
http://ideone.com/LFPu6
次スレがあるにもかかわらず前スレに書き込んでしまいました。こちらに再度書き込みさせていただきます
0008デフォルトの名無しさん
2012/02/04(土) 22:00:37.56http://ideone.com/DyffC
0009デフォルトの名無しさん
2012/02/05(日) 00:00:07.14>次スレがあるにもかかわらず前スレに書き込んでしまいました
前スレがまだ埋まってないにもかかわらず次スレに書き込んでしまいました
だろ なんでこっちに書くんだよ
0010デフォルトの名無しさん
2012/02/05(日) 14:37:42.770011デフォルトの名無しさん
2012/02/05(日) 16:48:15.28[2] 問題文:狼と山羊とキャベツと男 (深さ優先探索)
[3] 環境
[3.1] OS: ubuntu linux
[3.2] コンパイラ名とバージョン:gcc
[3.3] 言語: C言語
[4] 期限: 2/5
よろしくお願いします。
0012デフォルトの名無しさん
2012/02/05(日) 16:49:35.29リンク貼るのを忘れました。
http://ideone.com/E3ZL6
0013デフォルトの名無しさん
2012/02/05(日) 16:50:59.10>[2] 問題文:狼と山羊とキャベツと男 (深さ優先探索)
これじゃあ無理。
問題文は、出題された内容をそのまま書け。
0014デフォルトの名無しさん
2012/02/05(日) 17:25:16.49問題は詳しく載っていませんでしたが、このサイトが詳しかったです。
http://www.geocities.jp/m_hiroi/puzzle/farmer.html
すいません...
0015デフォルトの名無しさん
2012/02/05(日) 18:39:53.33>>1
>・問題文は、出題されたまま全文を書いてください。
重要なのは仕様。
他言語で書いてるのと、今回の宿題とが同じ仕様かどうか判断ついてないだろ?
0016デフォルトの名無しさん
2012/02/05(日) 18:46:38.540017デフォルトの名無しさん
2012/02/05(日) 18:54:34.80Problem of the Wolf, Goat, and Cabbage. - 旅人と狼と山羊とキャベツ : クイズ&パズルの部屋「Quizzical Days.」
http://r27.jp/quiz/across-cabbage/
0018デフォルトの名無しさん
2012/02/05(日) 19:56:20.340019デフォルトの名無しさん
2012/02/05(日) 20:45:06.26無言でソース渡されたのかw
0020デフォルトの名無しさん
2012/02/05(日) 22:23:48.58こういうことですかね・・・
、「狼・山羊・キャベツ・男」の問題を幅優先探索を使って解くプログラムを作成してもらいます。
プログラムはC言語で作成してもらえればどのようなものでも構わない。
0: [ 男狼山羊キャベツ] [ ]
1: [ 狼キャベツ] [ 男山羊]
…
?: [ ] [ 男狼山羊キャベツ]
のように移動する過程が分かるように左岸と右岸にいるものをステップごとに表示するようにしてください。
0021デフォルトの名無しさん
2012/02/05(日) 22:27:14.89お前がそのように想像するなら、その想像にしたがって作ってやればいいじゃないか。
0022デフォルトの名無しさん
2012/02/05(日) 22:42:26.57これを直せと言うことじゃない?
0023デフォルトの名無しさん
2012/02/05(日) 22:46:34.85そこのperlスクリプトを移植してくれ!!!!!
って話だろ
話の中身はカンタンだよ
0024デフォルトの名無しさん
2012/02/05(日) 22:59:10.57http://ideone.com/EKIVM
0025デフォルトの名無しさん
2012/02/05(日) 23:12:21.45「標準ライブラリ」は使わないっていう条件は間違えです。すみません。
改めてお願いします。
[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日まで
0026デフォルトの名無しさん
2012/02/05(日) 23:47:46.75ありがとうございます。
感謝しきりです。
拙い説明で誤解や説明足らずで申し訳ありませんでした。
0027デフォルトの名無しさん
2012/02/05(日) 23:53:46.04このsとtの定義の仕方すごく気持ち悪い
特にtのほうはRAM破壊してるんじゃないかと疑ってしまう
tはchar*にすべきだったのか?
http://ideone.com/Qi17G
0028デフォルトの名無しさん
2012/02/05(日) 23:55:53.55お前さんの勉強不足
0029デフォルトの名無しさん
2012/02/05(日) 23:58:28.710030デフォルトの名無しさん
2012/02/06(月) 00:06:13.633決めうちとか'\0'どこ行くんだよとか
またクズ養成校か
0031デフォルトの名無しさん
2012/02/06(月) 00:12:47.98まじか、不足してる点が分かるなら何を調べればいいか教えてほしい
疑問はtの定義で右辺の'\0'の行き場が左辺にないことなんだけど
003231
2012/02/06(月) 00:38:50.45ヌル文字は空きがあるときだけくっつくのね
以下引用(JISX3010 6.7.8 初期化)
>文字型の配列は,単純文字列リテラルで初期化してもよい。それを波括弧で囲んでもよい。単純文字列
>リテラルの文字(空きがある場合又は配列の大きさが分からない場合,終端ナル文字も含めて。)がその配
>列の要素を前から順に初期化する。
0033デフォルトの名無しさん
2012/02/06(月) 00:39:58.59#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; }
0034デフォルトの名無しさん
2012/02/06(月) 00:57:26.52[2] 問題文:狼と山羊とキャベツと男 (幅優先探索)
http://ideone.com/9r5cn
[3] 環境
[3.1] OS: ubuntu linux
[3.2] コンパイラ名とバージョン:gcc
[3.3] 言語: C言語
[4] 期限: 2/6
何卒よろしくお願いします。
よろしくお願いします。
0035デフォルトの名無しさん
2012/02/06(月) 01:00:16.04>>11
>>24
この先生って本当に無言で問題を出したのだろうか・・・?
0036デフォルトの名無しさん
2012/02/06(月) 01:04:11.56おお間違えたすまん
今度は幅優先なのね
0037デフォルトの名無しさん
2012/02/06(月) 05:13:08.91[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
お手数ですがよろしくお願いします。
0038デフォルトの名無しさん
2012/02/06(月) 11:59:33.24>e^xをマクローリン展開すると
>e^x= Σ[n=0,∞] x^n/n^2
n=0だと∞になるけどこの式あってる?
分母はn!じゃなかったか?
0039デフォルトの名無しさん
2012/02/06(月) 13:03:43.88>>20みたいに移動ステップ数を表示しようとすると
「/*** この部分を自分で作成する ***/」以外の箇所まで触る必要があるね
http://ideone.com/D6KUc
0040デフォルトの名無しさん
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の値がうまく出力されません、どうぞよろしくお願いします。
0041デフォルトの名無しさん
2012/02/06(月) 13:39:36.68本当にWindowsでgcc3.4なのかがあやしいんだけど。
意地悪な人だとその環境でしか動かせないコードを上げる場合があるよ
0042デフォルトの名無しさん
2012/02/06(月) 13:42:02.73>・問題文は、出題されたまま全文を書いてください。
問題文は?何の説明もなく埋めろと言われたの?
centerとpivotてどう違うの?
0043デフォルトの名無しさん
2012/02/06(月) 14:54:07.99大幅に書き換えれば動くだろう。
宿題じゃなく、自作プログラムのデバッグならそう書いてくれ。
0044デフォルトの名無しさん
2012/02/06(月) 15:41:45.61問題文がこれだけです
「クイックソートを完成させなさい.
ただし,以下の仕様を満たすものとする.
・最も左側の要素を軸とする.
・軸と等しい値は右側に移動する.
・関数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;
}
とだけ書いてありました。
本当にこれ以外情報がありませんが、何卒よろしくお願いします。
0045デフォルトの名無しさん
2012/02/06(月) 17:21:45.18[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] その他の制限:
よろしくお願いします。
0046デフォルトの名無しさん
2012/02/06(月) 17:34:23.39http://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] その他の制限
この問題を貼るの忘れてました。よろしくお願いします。
0047デフォルトの名無しさん
2012/02/06(月) 17:44:43.43[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] その他の制限
お願いします。
0048デフォルトの名無しさん
2012/02/06(月) 18:10:16.62http://ideone.com/FDFK7
0049デフォルトの名無しさん
2012/02/06(月) 18:19:44.36http://ideone.com/IBuI8
0050デフォルトの名無しさん
2012/02/06(月) 18:31:45.90ありがとうございます。
ただ申し訳ないのですが、コンパイルできません。
(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 が参照)
0051デフォルトの名無しさん
2012/02/06(月) 18:40:55.50ありがとうございます。
申し訳ないのですが、コンパイルはできたのですが、その後の動作させたところ
文字列の読み取りができません。お手数ですが、どうしてこうなるのか教えてください。
0052デフォルトの名無しさん
2012/02/06(月) 18:42:24.89http://ideone.com/77IgM
0053デフォルトの名無しさん
2012/02/06(月) 19:05:07.64読取終了は、Ctrl+D
0055デフォルトの名無しさん
2012/02/06(月) 19:07:37.24ideone.comでは動作してるから、環境の問題じゃないか?
0056デフォルトの名無しさん
2012/02/06(月) 19:22:21.400057デフォルトの名無しさん
2012/02/06(月) 19:30:16.70>>53の方がおっしゃるCtrl+Dも試しましたが、^Dとなるだけで読み取れませんでした。
やはり>>55の方がおっしゃるように環境の問題でしょうか?
わかる方がいましたら教えてください。
何度もすみません。
0058デフォルトの名無しさん
2012/02/06(月) 19:50:41.78ファイル名にハイフンが入っているからとかじゃない?
0059デフォルトの名無しさん
2012/02/06(月) 20:13:15.120060デフォルトの名無しさん
2012/02/06(月) 20:18:31.30http://ideone.com/OsVQt
このようにプログラムをくんだのですが
partitionで右からの探索のときpivotと同じ値のときはよみすすめよるような
構造に変えたいのですが
60: while(j>=left && a[j]>=p) j--;
とかきかえると無限ループしてしまいます。
これを解消するためにはどこを直せばいいでしょうか?
0061デフォルトの名無しさん
2012/02/06(月) 20:22:27.90ありがとうございます。
できました!
0062デフォルトの名無しさん
2012/02/06(月) 21:24:16.00j > left
0063デフォルトの名無しさん
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);
出力の変化で違いを見ていったらすぐ分かったよ
0064デフォルトの名無しさん
2012/02/06(月) 21:34:07.58main() に 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
こうやって毎回入力する手間を省きましょう。
0065デフォルトの名無しさん
2012/02/06(月) 21:37:04.84ありがとうございます、無事解決しました!!
0066デフォルトの名無しさん
2012/02/06(月) 21:39:31.02debugの仕方を身につけて下さい。
0067デフォルトの名無しさん
2012/02/06(月) 21:39:57.56思ってやってみたら、ちゃんと実行時間で切ってるのね。。
log inなしユーザーだと5sなのか。disabledなチェックボックスは
そう言う意味だったのね。。
http://ideone.com/GJ9d2
クソレスでした
0068デフォルトの名無しさん
2012/02/06(月) 21:47:04.21Usage
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.
0069デフォルトの名無しさん
2012/02/06(月) 22:21:57.03書き忘れじゃなくて、後から見つけただけじゃないの?
0070デフォルトの名無しさん
2012/02/06(月) 22:24:17.88http://ideone.com/r8fUN
0071デフォルトの名無しさん
2012/02/06(月) 22:32:00.87ありがとうございます。
感謝してます。
ただ、出力が
0: [ 男 狼 山羊 キャベツ ] [ ]
1: [ 狼 キャベツ ] [ 男 山羊 ]
2: [ 男 狼 キャベツ ] [ 山羊 ]
3: [ キャベツ ] [ 男 狼 山羊 ]
5: [ 男 山羊 キャベツ ] [ 狼 ]
7: [ 山羊 ] [ 男 狼 キャベツ ]
8: [ 男 山羊 ] [ 狼 キャベツ ]
9: [ ] [ 男 狼 山羊 キャベツ ]
6の数字が飛ばされて表示されるのですが、直してもらえないでしょうか。
自分では分かりませんでした。
http://ideone.com/D6KUc
0072デフォルトの名無しさん
2012/02/06(月) 22:35:11.78どっちもかな?
出力の大きさがある一定の大きさ以上になった場合と
経過時間が一定時間よりも長くなった場合
0073デフォルトの名無しさん
2012/02/06(月) 22:46:52.050074デフォルトの名無しさん
2012/02/06(月) 22:52:22.67そう
0075デフォルトの名無しさん
2012/02/06(月) 22:54:29.52次の1から3の全てを利用した自作ツールをひとつ作成してください。テーマは自由とします。
1 ポインタの利用
2 構造体の利用
3 Makefileを利用した分割コンパイル
簡単なところでは、UNIXコマンドの自作です。例えば、headやtailなど。
あるいは簡単な統計処理ツールの自作です。
ファイル処理やコマンドライン処理を使えば、ほぼ条件はクリアされます。
[3.1] OS: unix
[3.2] コンパイラ名とバージョン: gcc
[3.3] 言語: C
[4] 期限:2月7日(出来れば早めにお願いします)
この条件であれば何でも良いので良い例のプログラムを一つお願いします。
0077デフォルトの名無しさん
2012/02/06(月) 22:58:18.76>>70は実行時間の長さ
0078デフォルトの名無しさん
2012/02/06(月) 23:03:07.66例えば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/
0079デフォルトの名無しさん
2012/02/06(月) 23:15:58.10その条件を満たしていれば「死ね」と表示するツールでもいいのだな。
0080デフォルトの名無しさん
2012/02/07(火) 01:07:32.40>>39
>>>20みたいに移動ステップ数を表示しようとすると
>「/*** この部分を自分で作成する ***/」以外の箇所まで触る必要があるね
普通に考えると上記のとおり別の箇所で対応すべきだと思うが
/*** この部分を自分で作成する ***/の箇所のみで対応するとこんなとこか
http://ideone.com/F20Gh
0081デフォルトの名無しさん
2012/02/07(火) 01:42:24.57ありがとうございます。
こんなに懇切に対応してくださって感謝しきりです。
ありがとうございましたm(_ _)m
0082デフォルトの名無しさん
2012/02/07(火) 18:09:37.71[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時まで
どなたかよろしくお願いします。
0083デフォルトの名無しさん
2012/02/07(火) 21:06:50.73[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の場合など取りこぼしもしてしまいます
何か効率の良い方法はありませんでしょうか?長文で失礼致します
0084デフォルトの名無しさん
2012/02/07(火) 22:12:11.69// 実行時間 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;
}
0085デフォルトの名無しさん
2012/02/07(火) 22:18:25.74QZさんが解いてくれる。
0086デフォルトの名無しさん
2012/02/07(火) 22:31:14.16ヤコビの四平方定理
あたり
0087デフォルトの名無しさん
2012/02/07(火) 22:56:51.98的外れすぎる
0088デフォルトの名無しさん
2012/02/07(火) 22:57:17.87http://ideone.com/5Tujz
0090デフォルトの名無しさん
2012/02/07(火) 23:37:12.94ideoneのほうがいいよ
実行時間出るから
http://ideone.com/iis9g
0091デフォルトの名無しさん
2012/02/08(水) 00:09:34.53こんなに早くありがとうございます
非常に助かりました
0092デフォルトの名無しさん
2012/02/08(水) 00:15:01.44ありがとうございます。できれば�@の方もお願いします。
(キーボードから入力する必要はありません。)
たしかに。
標準入力を要求するコードでは特に便利で時々使っています。
http://toro.2ch.net/test/read.cgi/tech/1325685876/839
0094デフォルトの名無しさん
2012/02/08(水) 00:39:42.81ふつーにご存知ですよね。。失礼した
0095デフォルトの名無しさん
2012/02/08(水) 01:53:31.18[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
よろしくお願いします
0096デフォルトの名無しさん
2012/02/08(水) 02:44:45.87#include <stdio.h>
int main(void)
{
char c;
printf("数値入力==>");
scanf("%hhd", &c);
printf("%sの値です\n", (c & 128) ? "マイナス" : "プラス");
return 0;
}
0097デフォルトの名無しさん
2012/02/08(水) 03:08:23.86http://ideone.com/BiWbq
0098デフォルトの名無しさん
2012/02/08(水) 07:20:40.57ありがとうございます
0099デフォルトの名無しさん
2012/02/08(水) 08:46:52.37ありがとうございました。助かりました。
010025
2012/02/08(水) 18:40:20.080101デフォルトの名無しさん
2012/02/08(水) 19:02:51.47[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] その他の制限:文字列処理の標準関数は使用しないこと。
よろしくおねがいします。
何か質問があったら言ってください。
0102デフォルトの名無しさん
2012/02/08(水) 19:25:21.13次のソースプログラムをMakefileを利用した分割コンパイルで実行出来るよう組み替えなさい
http://codepad.org/mnddLSDK
[3.1] OS: unix
[3.2] コンパイラ名とバージョン: gcc
[3.3] 言語: C
[4] 期限:2月8日 23時まで
分割コンパイルのコマンドもよくわからないため一緒に解説できたらおねがいします
0103デフォルトの名無しさん
2012/02/08(水) 19:34:12.42それC言語プログラムの問題じゃないだろ。プログラムはすでに出来てるんだろ。
makeコマンドの使い方調べろ。
0104デフォルトの名無しさん
2012/02/08(水) 19:45:13.31言葉足りませんでした このプログラムを2つのファイルに分割してa.outを生成するよう指示されています
分割したプログラムの作成がよく解らないのです
0106デフォルトの名無しさん
2012/02/08(水) 20:46:38.66>2つのファイルに分割して
どういう基準で分割するんだ
それによって話が変わる
0107102
2012/02/08(水) 21:01:20.04ただmakefileを利用した分割コンパイルするために一つのプログラムを二つに分割してコンパイル出来るようにしろといわれてます
0108デフォルトの名無しさん
2012/02/08(水) 21:17:56.88「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」ができるだろ、たぶん
0109デフォルトの名無しさん
2012/02/08(水) 21:19:25.330110デフォルトの名無しさん
2012/02/08(水) 21:22:42.530111デフォルトの名無しさん
2012/02/08(水) 21:27:56.810112デフォルトの名無しさん
2012/02/08(水) 21:36:31.970113デフォルトの名無しさん
2012/02/08(水) 21:42:40.32疑問1:
>>関数�@x行目のy番目の文字からz個の文字を抜き出し、その抜き出した文字数を返す関数。
「文字列を返す」だと思うが?
文字数を返すとなると、
>>また、その2つの文字列を関数�Aに渡し、2つの文字列内に同じ文字があればその文字を表示せよ。
の部分の、�Aに渡す文字列をどうやって取得するか不明。
疑問2:
関数�Aに、"yoto","kyo"を渡した場合、返す文字は"oo"?
0115デフォルトの名無しさん
2012/02/08(水) 21:53:50.41X >関数�Aに、"yoto","kyo"を渡した場合、返す文字は"oo"?
O >関数�Aに、"yoto","kyo"を渡した場合、返す文字は"yoo"?
0116デフォルトの名無しさん
2012/02/08(水) 22:05:38.03http://ideone.com/FMfgi
0117デフォルトの名無しさん
2012/02/09(木) 04:28:20.72最低限依存関係は書いたほうがいいよ
0118名無し
2012/02/09(木) 16:31:20.52このラジコンティーポットの動かすプログラミングをお願いします
0119デフォルトの名無しさん
2012/02/09(木) 16:39:31.27バカがたくさんいるからバカ山大学なのか
覚えたぞ
0120名無し
2012/02/09(木) 16:58:06.580121デフォルトの名無しさん
2012/02/09(木) 16:59:24.84後輩よ、焦る気持ちはわかるがまずはテンプレを読もうぜ
0122デフォルトの名無しさん
2012/02/09(木) 17:12:16.570123名無し
2012/02/09(木) 17:36:58.990124デフォルトの名無しさん
2012/02/09(木) 17:39:56.440125名無し
2012/02/09(木) 17:41:05.870126名無し
2012/02/09(木) 18:14:57.010127デフォルトの名無しさん
2012/02/09(木) 18:31:45.070128名無し
2012/02/09(木) 18:53:05.63[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(今日)
よろしくお願いします。
0129デフォルトの名無しさん
2012/02/09(木) 19:37:18.040130名無し
2012/02/09(木) 19:40:29.090131デフォルトの名無しさん
2012/02/09(木) 20:30:41.47もしかすると環境構築からはじめなきゃあ行けないとかいうアホな相談を持ちかけてんのかこのアホクズは?
0132デフォルトの名無しさん
2012/02/09(木) 20:46:33.52知恵袋でカンニングして逮捕されたアホと同じだわ
0133デフォルトの名無しさん
2012/02/09(木) 21:27:57.05研究室サイトには、インストール方法載ってるから、がんばれ
0134デフォルトの名無しさん
2012/02/09(木) 21:35:38.86そんくらい載せろよkswwwww
そんなんだからAFOなんだよw
めんどくせーなー
とか言われて投げられるのがオチだろ
0135デフォルトの名無しさん
2012/02/09(木) 21:38:20.690136デフォルトの名無しさん
2012/02/09(木) 21:41:08.22http://www.wakayama-u.ac.jp/~tokoi/opengl/libglut.html
教えたぞ、頼むw
0137デフォルトの名無しさん
2012/02/09(木) 21:44:48.32その説明サイトはどこよアホ
ぬかりなくやれよ 時間と資源の無駄だ葛
0138デフォルトの名無しさん
2012/02/09(木) 21:45:37.91$ sudo apt-get install freeglut3-dev
するだけじゃね?1分も掛からないよ
0139デフォルトの名無しさん
2012/02/09(木) 21:47:44.08そうならそうとそれを初めっから書けばいいじゃんwwww
0140デフォルトの名無しさん
2012/02/09(木) 21:49:40.33deb系OSでGLUT使うなら常識じゃん
それすら知らない人に聞いたってしょうがないじゃん
0141デフォルトの名無しさん
2012/02/09(木) 21:54:23.14アホじゃねおめー
それなら>>138の文言はいらねーだろwww
分かる人ならすでに入っているしやり方も知ってる、
そんな人間に>>138なこと書いても意味が無いと自分?で言ってる、
おめーの脳みそアホの塊で出来てんのか?
0142デフォルトの名無しさん
2012/02/09(木) 21:55:32.910143デフォルトの名無しさん
2012/02/09(木) 22:01:05.80140は質問する立場からしたらってこと
138は単に131を馬鹿にしてるだけ
0144デフォルトの名無しさん
2012/02/09(木) 22:08:53.43ttp://marina.sys.wakayama-u.ac.jp/~tokoi/?date=20111207#c03
0145デフォルトの名無しさん
2012/02/09(木) 22:16:56.83眠いので寝るw
0146デフォルトの名無しさん
2012/02/09(木) 22:26:01.57[2] 問題文(含コード&リンク):
http://codepad.org/gcasKWhG
ハッシュ表を用いて単語とその出現回数を登録し、
さらに単語の出現回数順にソートするソート関数を作成せよ。
[3.1] OS:Mac
[3.2] コンパイラ名とバージョン:gcc
[3.3] 言語:C
[4] 期限:2月11日まで
基本的な骨格は出来ましたが、ソートの関数が作れませんでした。
よろしくお願いします。
Macのターミナルを利用してテキストファイルを読み込み、単語(基本的に英単語)を登録します。
0147デフォルトの名無しさん
2012/02/09(木) 22:27:35.690148デフォルトの名無しさん
2012/02/09(木) 22:28:20.840149デフォルトの名無しさん
2012/02/09(木) 22:51:49.95間違っていたら悪いけれど、
ハッシュ表を用いてないように思える。
連想リストになってる?
0150デフォルトの名無しさん
2012/02/09(木) 23:00:22.03この文脈ではハッシュはハッシュ関数
0151 ◆g/ZMVdytmo
2012/02/09(木) 23:12:05.16[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文は習いました。
よろしくお願いします。
0152デフォルトの名無しさん
2012/02/09(木) 23:16:49.44次の宿題は「身体測定のファイルを開いてBMIを計算しろ」になるはずだ
0153デフォルトの名無しさん
2012/02/09(木) 23:18:42.630154149
2012/02/09(木) 23:41:21.64ハッシュ表なんて実装したことがなかったから全然知らなかった。
0155デフォルトの名無しさん
2012/02/09(木) 23:47:28.080156デフォルトの名無しさん
2012/02/10(金) 00:03:42.21オープンアドレス方だとむずいのよ・・・いろいろ。
0157デフォルトの名無しさん
2012/02/10(金) 00:19:51.69でもお前は知らなかったんだろ
0158146
2012/02/10(金) 00:59:43.71http://www.dotup.org/uploda/www.dotup.org2617840.txt.html
0159デフォルトの名無しさん
2012/02/10(金) 01:16:26.03http://www.dotup.org/uploda/www.dotup.org2617840.txt
0160デフォルトの名無しさん
2012/02/10(金) 01:17:58.64その結果はどーーーーーなのよ
0161デフォルトの名無しさん
2012/02/10(金) 01:20:51.15http://ideone.com/7gw4X
こんなに早くありがとうございます。
すごく助かりました 。
0163デフォルトの名無しさん
2012/02/10(金) 03:01:19.15[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程度まではわかります。
よろしくお願いします。
0164デフォルトの名無しさん
2012/02/10(金) 03:17:47.61http://ideone.com/LuCDm
0165164
2012/02/10(金) 03:20:36.930166デフォルトの名無しさん
2012/02/10(金) 04:33:02.76http://ideone.com/LIESf
0167デフォルトの名無しさん
2012/02/10(金) 05:25:49.16[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;
}
これでうまく表示されない・・・どこが間違ってますかねえ・・・
0168デフォルトの名無しさん
2012/02/10(金) 06:14:17.10[2][A1,A2,A3,B1,B2,B3]の6つの要素から、2つを合わせたペアを全通り出力せよ
ただし、同じ記号と数字を含む要素はペアにはできない
(例:A1A2やA1B1は×、A1B2やA1B3は○)
[3] 環境
[3.1] OS:Linux
[3.2] コンパイラ名とバージョン:gcc
[3.3] 言語: C
0169デフォルトの名無しさん
2012/02/10(金) 06:32:37.390170デフォルトの名無しさん
2012/02/10(金) 08:18:59.23#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;
}
0171デフォルトの名無しさん
2012/02/10(金) 11:19:24.13>これでうまく表示されない・・・どこが間違ってますかねえ・・・
期待する結果を書けよ。
>[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みたいだが?
0172デフォルトの名無しさん
2012/02/10(金) 15:56:11.47焼きなまし法で巡回セールスマン問題を解いているのですが、近傍の選択方法について悩んでいます。
1. ランダムにある1つの都市を選び、そこからの訪問先の都市と順序を入れ替えた場合
2. ランダムにある2つの都市を選び、訪問順序を入れ替えた場合
と2つの近傍を考えました。
ランダムに訪問順序を決めた時に総距離が30000程度である時、
1の近傍だと総距離が13000程度、2の近傍だと8500程度まで短くなりました。
なお最適解が既に知られており、最小総距離が7542だそうです。
一般にヒューリスティックな方法を採用した場合に、13000や8500というのはおよそ良い近似解と見なせるのでしょうか?
0173デフォルトの名無しさん
2012/02/10(金) 16:24:13.92上のレスでは判断しようがありませんね
無視でお願いします
0174デフォルトの名無しさん
2012/02/10(金) 17:30:26.90スレ立てるまでもない質問はここで 117匹目
http://toro.2ch.net/test/read.cgi/tech/1328439334/
0175デフォルトの名無しさん
2012/02/10(金) 18:05:50.29ありがとうございます
そちらで質問してみます
0176デフォルトの名無しさん
2012/02/10(金) 19:09:54.43>>116ありがとうございます。
参考にして自分でやってみたのですが上手くいきません。
おかしいところがあれば修正をお願いします。
http://codepad.org/wFA4jTwr
0177デフォルトの名無しさん
2012/02/10(金) 20:21:57.72>http://codepad.org/wFA4jTwr
コンパイルエラーになってる。
0178デフォルトの名無しさん
2012/02/10(金) 22:38:00.45> printf(" 文字列¥n%s¥n 文字列の個数¥n%d¥n",a1,cnt+1);
これをz回実行する意図は?
0179デフォルトの名無しさん
2012/02/11(土) 19:49:41.79[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言語の基本的なものはわかっているつもりです。
よろしくお願いします
0180デフォルトの名無しさん
2012/02/11(土) 20:05:03.890181デフォルトの名無しさん
2012/02/11(土) 21:17:19.27後日談になりますが、最終的に最適解の1.001倍の近似解が得られるようになりました
0182176
2012/02/11(土) 22:04:52.23> printf(" 文字列\n%s\n 文字列の個数\n%d\n",a1,cnt+1);
これをz回実行するのはおかしいですね
ありがとうございます。
0183デフォルトの名無しさん
2012/02/11(土) 22:33:42.28この関数呼び出しのオーバーヘッドは何クロックサイクルなのでしょうか。
0184デフォルトの名無しさん
2012/02/11(土) 22:35:02.920185デフォルトの名無しさん
2012/02/11(土) 22:37:46.730186デフォルトの名無しさん
2012/02/11(土) 22:38:48.06今一、やりたいことが判らんないんだが、実行例を書いてみたら?
あと、x,yに範囲外(マイナスとか大きすぎる値)を指定した時はどうする?
0187デフォルトの名無しさん
2012/02/12(日) 02:18:18.48関数の呼び出し規約によって変わるのでは
詳しくないけど。
0188デフォルトの名無しさん
2012/02/12(日) 03:50:23.19#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;
}
0189デフォルトの名無しさん
2012/02/12(日) 04:38:08.451000/3+1000/7-1000/21
でよくね?
0190 ◆jPpg5.obl6
2012/02/12(日) 05:16:05.84[2] リスト構造を使ったアドレス帳の作成。
リスト構造で管理し次の機能が実現できること。
•追加(データの新規登録)
•削除(任意のデータの削除)
•探索(任意のデータの詳細表示)
•一覧表示
•データのソー扱うデータは氏名、住所、電話番号、eメールアドレス
http://ideone.com/lMgd3
[3] 環境
[3.1] OS:Windows7
[3.2] コンパイラ名とバージョン:gcc
[3.3] 言語: C言語(アルゴリズム)
[4] 期限: 2/12中(今日)
[5]これ以上どうやって良いかわからないのでよろしくお願いします
0191デフォルトの名無しさん
2012/02/12(日) 09:22:35.95>CのIDEで良いものはありません
確かに良いものは少ない。特に最近のWindowsのIDEは
学習者向けじゃない。うNIXでは、IDE使うな主義だし。
Windowsじゃコンソールでカタカタすることは非常にやりにくい
からやっぱりIDEじゃないと苦しいかも
OpenWatcomは学習者用にお勧め.
特に16bit環境でプログラミングすると、コンピュータ特有の
メモリ量制約の問題がわかりやすく「やってはいけないこと」
とかの理解がしやすい。
LSI-Cとかでもできなくもないが同じコードで16bitと32bitの
比較が出来たりするのがWatcom
lsi-c のスモールモデル限定(ただし far ポインタはあり)というのも捨てがたいですね。
lsi-c 、オープンソースにならないかな‥‥‥。
0193デフォルトの名無しさん
2012/02/12(日) 09:45:39.74[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言語の基本的なものはわかっているつもりです。
よろしくお願いします
0194デフォルトの名無しさん
2012/02/12(日) 11:10:20.530195デフォルトの名無しさん
2012/02/12(日) 11:56:16.64>>1
>・問題文は、出題されたまま全文を書いてください。
削除、探索、ソートのパラメータ指定は?(名前で削除、など)
0196 ◆jPpg5.obl6
2012/02/12(日) 12:27:49.78個人データを管理するアドレス帳を作ってください。
•扱う個人データ
–氏名,住所,電話番号,eメールアドレス
•プログラムの内部では,リスト構造を使用して実現してください。
リスト構造で管理し次の機能が実現できること。
•追加(データの新規登録)
•削除(任意のデータの削除)
•探索(任意のデータの詳細表示)
•一覧表示
•データのソート
基本的に名前で削除、探索です。
これで大丈夫でしょうか?
0197デフォルトの名無しさん
2012/02/12(日) 12:39:40.08http://dixq.net/forum/viewtopic.php?t=9744&p=78652
0198 ◆jPpg5.obl6
2012/02/12(日) 12:50:49.20大変、申し訳ありませんでした
0199デフォルトの名無しさん
2012/02/12(日) 13:46:40.80Name: astrea Date: 2011年12月12日(月) 13:33
2ヶ月経ってるじゃねーかよ
なんなんだこのゴミは?
0200デフォルトの名無しさん
2012/02/12(日) 13:51:37.020201デフォルトの名無しさん
2012/02/12(日) 14:34:11.30あの掲示板じゃ答えをくれないから逃げてきたってこと?
0202デフォルトの名無しさん
2012/02/12(日) 14:40:53.420203デフォルトの名無しさん
2012/02/12(日) 14:41:30.550204デフォルトの名無しさん
2012/02/12(日) 14:42:10.670205デフォルトの名無しさん
2012/02/12(日) 14:43:19.62あっちの掲示板にも詫びいれてこいよwww
下種がwwwww
0206デフォルトの名無しさん
2012/02/12(日) 14:46:54.45日常茶飯事
0207デフォルトの名無しさん
2012/02/12(日) 14:50:52.530208デフォルトの名無しさん
2012/02/12(日) 14:52:37.11>>193でもないし、>>190でもないよ。
QZにしてみる?
0209デフォルトの名無しさん
2012/02/12(日) 15:19:26.010210デフォルトの名無しさん
2012/02/12(日) 15:26:21.230211デフォルトの名無しさん
2012/02/12(日) 15:33:11.570212デフォルトの名無しさん
2012/02/12(日) 15:35:21.22[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迄
よろしくお願いします。
0213デフォルトの名無しさん
2012/02/12(日) 15:36:11.41[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迄
よろしくお願いします。
0215デフォルトの名無しさん
2012/02/12(日) 15:39:43.660216デフォルトの名無しさん
2012/02/12(日) 15:40:48.48はい、頑張ってください。
0217デフォルトの名無しさん
2012/02/12(日) 15:55:23.790218デフォルトの名無しさん
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迄
よろしくお願いします。
0219デフォルトの名無しさん
2012/02/12(日) 17:19:15.720220デフォルトの名無しさん
2012/02/12(日) 17:20:32.400221デフォルトの名無しさん
2012/02/12(日) 17:22:06.100222デフォルトの名無しさん
2012/02/12(日) 17:23:00.920223デフォルトの名無しさん
2012/02/12(日) 17:23:38.270224デフォルトの名無しさん
2012/02/12(日) 17:25:34.290225デフォルトの名無しさん
2012/02/12(日) 20:52:45.50予定を守れてプログラマー
と聞きました。このスレッドにプログラマーの方はいらっしゃいますか?
0226デフォルトの名無しさん
2012/02/12(日) 21:10:41.140227デフォルトの名無しさん
2012/02/12(日) 21:17:19.98職業プログラマーなら引退してますが。
0228デフォルトの名無しさん
2012/02/12(日) 21:34:29.020230デフォルトの名無しさん
2012/02/12(日) 23:26:35.54そのテストは持ち込み可で会話以外なにしても大丈夫なのですが(2chでスレ立ててもなにしてもよいとのこと)
テストうpしたら解いてもらえますか?
ちゃんと自分でも解きます
0231デフォルトの名無しさん
2012/02/12(日) 23:33:02.60glutのセンセんとこに報告するよーな場所ですが・・・OK?
0232デフォルトの名無しさん
2012/02/12(日) 23:34:42.35わらた
0233デフォルトの名無しさん
2012/02/12(日) 23:37:27.640234デフォルトの名無しさん
2012/02/12(日) 23:38:40.23それは全く構わないが初めっからそう言う話であるとバラすと
全くの間違いを教える人間がワンサカ湧く
むしろあなたを落第させようと画策するようなコードが山のように出てくるはずだ
それで範囲はどのあたりだ
そこらへんが分かれば色々仕込んだコードを今から入念に用意できる
0235デフォルトの名無しさん
2012/02/12(日) 23:46:27.54嘘を嘘と見抜けないと(掲示板を使うのは)難しい by ひろゆき
0236デフォルトの名無しさん
2012/02/12(日) 23:48:19.920237デフォルトの名無しさん
2012/02/12(日) 23:49:10.01スマホもPCも使用おkです
0238デフォルトの名無しさん
2012/02/12(日) 23:51:36.14どれが正解か、先生に見てもらってから答えに採用すると間違いがないかも
0239デフォルトの名無しさん
2012/02/12(日) 23:54:49.080240デフォルトの名無しさん
2012/02/13(月) 00:04:05.52授業時間がそういう区切りなのは高専か?
0241デフォルトの名無しさん
2012/02/13(月) 01:11:58.790242デフォルトの名無しさん
2012/02/13(月) 01:22:01.610244デフォルトの名無しさん
2012/02/13(月) 02:34:38.190245デフォルトの名無しさん
2012/02/13(月) 04:36:16.730246デフォルトの名無しさん
2012/02/13(月) 07:53:22.31>>494
お前さんのほうがゴキブリに近いのでは?
なぜ意味もなく叩く?
うまく質問がすすまないのは単なるスキルの問題に過ぎないのだから、スキルの一片でもみせてやったらええんとちゃうか?
それができないのなら、それはお前さんのほうがゴキブリ。
死ね
0247デフォルトの名無しさん
2012/02/13(月) 08:25:16.11>>490
教員側も、実は質問されるのはうれしいと思いますよ。レスポンスがあるということは少なくとも自分の話が聞き手に届いていることを確認できますからね。
「先生の今おっしゃったことは、これこれこういうことでしょうか?」
と自分の解釈を交えながら再確認を繰り返すことがコツだと思います。
わからないことをわからないというのは、全然失礼じゃないですよ。
494 名前:デフォルトの名無しさん[sage] 投稿日:2012/02/10(金) 21:41:20.46
だから>>490みたいなゴキブリ並の知能しかない香具師はスルーしろって。
0248デフォルトの名無しさん
2012/02/13(月) 12:07:36.94テストはどうなったんだ?
0249デフォルトの名無しさん
2012/02/13(月) 13:39:15.72全部自分で解きましたw
自分の答案あるんですけど
答え合わせしてもらえますか?
0250デフォルトの名無しさん
2012/02/13(月) 13:40:00.99やだよ
さっさと失せろ
0251デフォルトの名無しさん
2012/02/13(月) 13:41:29.570252デフォルトの名無しさん
2012/02/13(月) 14:15:25.450253デフォルトの名無しさん
2012/02/13(月) 15:10:36.160254デフォルトの名無しさん
2012/02/13(月) 16:07:14.21X int select;
O int select=1;
0255デフォルトの名無しさん
2012/02/13(月) 16:07:57.41まず貼って見たら?
0256デフォルトの名無しさん
2012/02/13(月) 17:00:18.89[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] その他の制限:特になし
よろしくお願いします。
0257デフォルトの名無しさん
2012/02/13(月) 17:08:12.40void?
0258デフォルトの名無しさん
2012/02/13(月) 17:10:19.570259デフォルトの名無しさん
2012/02/13(月) 17:18:55.21(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; }
0260デフォルトの名無しさん
2012/02/13(月) 17:19:24.220261デフォルトの名無しさん
2012/02/13(月) 17:19:51.270262デフォルトの名無しさん
2012/02/13(月) 17:21:48.830263デフォルトの名無しさん
2012/02/13(月) 17:22:01.17ジュゲムさんの本名適当に区切って繋げてみろよwww
0264デフォルトの名無しさん
2012/02/13(月) 17:24:37.04ありがとうございました。
0265デフォルトの名無しさん
2012/02/13(月) 18:36:44.26題意からはポインターを使うのが順当だろうけど、以下でも可能。
void getname(char *s1, const char *s2)
{
sprintf(s1,"%s-%s",s1,s2);
}
0266デフォルトの名無しさん
2012/02/13(月) 18:42:14.14sprintf って第一引数のポインタと 第三引数以降で詰まれるポインタが同じ場合でも
正しく動作できるん?
memcpy のコピー先がコピー元と被ってる時のイメージでどうなのかな?とは思うけど
0267デフォルトの名無しさん
2012/02/13(月) 18:57:33.230268デフォルトの名無しさん
2012/02/13(月) 19:23:20.850269デフォルトの名無しさん
2012/02/13(月) 19:25:50.06それは分かってる。 sprintf で同じようなことが発生しないの?という疑問
0270デフォルトの名無しさん
2012/02/13(月) 19:32:11.49つまり>>265はどうしようもないアホ
0271デフォルトの名無しさん
2012/02/13(月) 19:48:41.30不要でしょう。どのみち 202行目〜203行目で値が必ず入ります。
そもそも auto 変数を初期化するその書き方が「Cらしくない。」
0273デフォルトの名無しさん
2012/02/13(月) 20:12:50.87sprintf(s1,"%s-%s",s1,s2); なら?
0274デフォルトの名無しさん
2012/02/13(月) 20:19:34.41「たまたま上手くいく」って事じゃない?
おっと失礼。199行目で未初期化のselect を参照していましたね。これは大失態。
>>272 は取り下げます。
ご指摘ありがとうございました。
>>190 >>196
以下に訂正いたします。
http://codepad.org/GZAQCjsg
0276デフォルトの名無しさん
2012/02/13(月) 20:48:14.01sprintf(s1,"ABC-%s-%s",s1,s2);
これだと駄目
0277デフォルトの名無しさん
2012/02/13(月) 21:36:26.31199行目の while(select != 0){
で、selectが初期化されてないんじゃ?
0278デフォルトの名無しさん
2012/02/13(月) 21:37:04.59>>275に既に書かれてましたね、失礼。
0279デフォルトの名無しさん
2012/02/14(火) 07:28:12.320280デフォルトの名無しさん
2012/02/14(火) 13:07:27.660281デフォルトの名無しさん
2012/02/14(火) 13:08:33.460282デフォルトの名無しさん
2012/02/16(木) 01:07:45.42あるディレクトリに"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;
}
です。
0283デフォルトの名無しさん
2012/02/16(木) 01:09:18.19tom 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からこの不要な部位を取り除くことができるのでしょうか。
0284デフォルトの名無しさん
2012/02/16(木) 01:13:48.19[1] 授業単元: 趣味
[3] 環境
[3.1] OS: ubuntu 11.10
[3.2] コンパイラ名とバージョン: ubuntu11.10に最初から入ってるコンパイラ
[3.3] 言語: C
[4] 期限: 無期限
[5] その他の制限: 標準ライブラリって何だろう
0285デフォルトの名無しさん
2012/02/16(木) 01:32:27.58http://ideone.com/HZtfD
0286デフォルトの名無しさん
2012/02/16(木) 01:49:20.50おおお
ありがとうございます。
入力時にはfscanfとかfreadとか使わない方がいいのですね!
独学で使ってる『わかりやすいC 入門編』にはsscanfなんて出てこなかったorz
0287デフォルトの名無しさん
2012/02/16(木) 02:39:39.59使い方間違えておいて酷い言いようだwww
0288デフォルトの名無しさん
2012/02/16(木) 02:59:35.08cvThresholdでエラーが出ます。どうしたらいいですか?
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 スキップ ==========
0289デフォルトの名無しさん
2012/02/16(木) 03:02:26.71>入力時には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の方が扱いやすい。
0290デフォルトの名無しさん
2012/02/16(木) 06:29:30.06焦らずテンプレを読むんだ
0291デフォルトの名無しさん
2012/02/16(木) 07:29:17.20[2] 問題文 探索によってパズルを解くプログラムを作成せよ(小町算)
[3] 環境
[3.1] OS: Windows7
[3.2] コンパイラ名とバージョン: VisualStudio2010
[3.3] 言語: C言語
[4] 期限: 2/16
よろしくおねがいします><
0292デフォルトの名無しさん
2012/02/16(木) 08:52:44.46小町算には変形ルールのやつもあるけど、
「1□2□3□4□5□6□7□8□9 = 100 という数式の□の中に、+,−,×,÷,空白 のいずれかを一つずつ入れる」でいいのかな?
ttp://ja.wikipedia.org/wiki/%E5%B0%8F%E7%94%BA%E7%AE%97
0293デフォルトの名無しさん
2012/02/16(木) 12:34:14.04空白なし、*優先、/で小数部切り捨てなら↓
http://ideone.com/IjTzV
0294デフォルトの名無しさん
2012/02/16(木) 14:31:59.32[2] 問題文 ローゼンケーニッヒ
[3] 環境
[3.1] OS: Windows7
[3.2] コンパイラ名とバージョン: VisualStudio2008
[3.3] 言語: C++
[4] 期限: 2/18
ローゼンケーニッヒってカードゲームなんですが、出力は標準出力だそうです・・・
お願いします
0295デフォルトの名無しさん
2012/02/16(木) 14:45:35.24これか?
もっと詳しいルールが書いてあるサイトとかレジュメとか無いの?
0296デフォルトの名無しさん
2012/02/16(木) 14:57:39.99http://web.me.com/gamefun/ボードゲーム%E3%80%80カードゲーム%E3%80%80大好きサイト/ふたりで/エントリー/2010/1/17_ローゼンケーニッヒ_RosenkÖnig_by_Dirk_Henn.html
ここを参考に見てました
詳しいのなかなかないですね
0297デフォルトの名無しさん
2012/02/16(木) 19:43:36.14perlとかでゴリ押しすりゃあ簡単に書けるのに
なんでわざわざC使うんだろ
0298デフォルトの名無しさん
2012/02/17(金) 02:48:47.52OpenIndiana(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)
どうか解決のヒントだけでもお教えください、よろしくお願いします。
0299デフォルトの名無しさん
2012/02/17(金) 02:57:30.67libbridge.h:24:29: linux/if_bridge.h: No such file or directory
0300デフォルトの名無しさん
2012/02/17(金) 03:00:14.49libbridge.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で参照できるパスにシンボリックリンクでもはる
ないならちょっとわからん。
0301デフォルトの名無しさん
2012/02/17(金) 11:26:36.28相当量書き直さないとダメじゃね
言い換えると無理
0302298
2012/02/17(金) 12:47:32.37アドバイスありがとうございます。
私もヘッダ部分だけ追ってみたのですが、これ無理じゃね?という気がしてきました。
SourceForgeには「システム要件:POSIX (Linux,BSD,Solaris など), Linux」って書いてあるのに・・・
ブリッジを使用しようとしてるアプリケーションのコマンド体系を変更すれば
dladmで代用できそうな予感がしてきたので、こちらの方向でチャレンジしてみたいと思います。
(しかしドキュメントや用例の多いLinuxと違って、Solaris系は必要な情報を調べるのが難しぃ)
0303デフォルトの名無しさん
2012/02/17(金) 13:11:49.62確認する気も環境も無いけど
もしかしたら configure がダメダメなだけかもしれない
0304デフォルトの名無しさん
2012/02/18(土) 10:48:52.53これは単にそれを操作するためのユーティリティーかと。
でOS毎にカーネルインターフェースが違ったりするわけだが、このソフトは
なんとなくlinux専用なんじゃ。
0305デフォルトの名無しさん
2012/02/18(土) 13:23:10.850306デフォルトの名無しさん
2012/02/21(火) 17:04:23.53[2] n個の数の総和
[3] 環境
[3.1] OS: ubuntu linux
[3.2] コンパイラ名とバージョン:cc
[3.3] 言語: C
[4] 期限:無
[5]
アドバイスよろしくお願いします
http://codepad.org/PPgZa5ll
0307デフォルトの名無しさん
2012/02/21(火) 17:08:27.56↓
double xval_xsum_num(double xval, double xsum)
0308ナナシ
2012/02/22(水) 22:17:19.382進数10110001-2進数00101110の計算を2の補数を利用して計算する
という問題です。全く出来なくて困っています、助けてください
0309ナナシ
2012/02/22(水) 22:17:52.14例: 1の入力が4回、2では2回、3では3回、4では0回、5では1回の場合
*
* *
* * *
* * * *
1 2 3 4 5
という感じです。全くできないので助けてください
0310デフォルトの名無しさん
2012/02/22(水) 22:26:00.69>>1を読んでテンプレ通りに書きなよ
309はいいとしても308は具体的に何を作るのか見えない
入力は何?出力は何?
0311デフォルトの名無しさん
2012/02/22(水) 22:26:25.53>>1のテンプレ使え
0312デフォルトの名無しさん
2012/02/22(水) 22:26:32.01これは考えればわかる問題がんばってくださいw
0313ナナシ
2012/02/22(水) 22:36:12.14include<stdio.h>だけでやってもらえると嬉しいです
0314ナナシ
2012/02/22(水) 22:38:00.980315デフォルトの名無しさん
2012/02/22(水) 22:40:15.36これは釣り
0316デフォルトの名無しさん
2012/02/22(水) 22:46:10.87#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;
}
0317ナナシ
2012/02/22(水) 22:46:16.700318デフォルトの名無しさん
2012/02/22(水) 22:51:27.61質問の仕方どうこうじゃなくてテンプレ使えって言ってんの
質問する側なんだからルールぐらい守れ
0319ナナシ
2012/02/22(水) 22:51:29.26ありがとうございます!
でも、
printf("%c ", a[j] >= i ? '*' : ' ');
の!?ってどういう意味なんですか?
というか、使い方がさっぱり分からないです。
すいません。
0320デフォルトの名無しさん
2012/02/22(水) 22:57:42.090321デフォルトの名無しさん
2012/02/22(水) 23:03:58.34else printf(" ");
0322ナナシ
2012/02/22(水) 23:09:27.63>>320さん僕は素人なんですいません。
工業高校でC言語を学び始めたもので・・・
0323デフォルトの名無しさん
2012/02/22(水) 23:10:04.89iの後ろに1-2個の空白、そのあと任意個の'あとは書いてあるとおりだよ
0324デフォルトの名無しさん
2012/02/22(水) 23:11:01.080325ナナシ
2012/02/22(水) 23:18:57.00僕は本当にC言語が出来ないんでここで質問してるんです・・・
補数の方もできないでしょうか?
0326デフォルトの名無しさん
2012/02/22(水) 23:23:11.310327ナナシ
2012/02/22(水) 23:25:53.40だから、力を貸していただけないでしょうか?
0328デフォルトの名無しさん
2012/02/22(水) 23:33:08.57>>306
コンパイラが答え教えてくれてるじゃん。
41行目の引数二つの間にコンマがないよ。
中身については見てないからわかんね。
インデントしてないから読む気が起きないお…
0329デフォルトの名無しさん
2012/02/22(水) 23:35:45.64お前は直下のレスも読めない文盲か?
識字障害か?
0330デフォルトの名無しさん
2012/02/22(水) 23:37:56.120331デフォルトの名無しさん
2012/02/22(水) 23:38:41.050332デフォルトの名無しさん
2012/02/22(水) 23:39:19.300333デフォルトの名無しさん
2012/02/22(水) 23:42:04.750334デフォルトの名無しさん
2012/02/22(水) 23:44:01.82素直に謝れない奴は死んだほうがマシ
0335ナナシ
2012/02/22(水) 23:44:20.86if(a[j] >= i) printf("* ");
else printf(" ");
だとうまく表示されないのでやはり%cが必要だと思いましたがうまくつかえません。
三項演算を使わないでprintf("%c ", a[j] >= i ? '*' : ' ');の文と同じにしてもらえないでしょうか?
0336デフォルトの名無しさん
2012/02/22(水) 23:44:55.270337ナナシ
2012/02/22(水) 23:45:38.740338デフォルトの名無しさん
2012/02/22(水) 23:46:51.110339デフォルトの名無しさん
2012/02/22(水) 23:47:37.87else printf("%c ",' ');
0340デフォルトの名無しさん
2012/02/22(水) 23:48:02.920341ナナシ
2012/02/22(水) 23:49:33.410342デフォルトの名無しさん
2012/02/22(水) 23:51:12.29http://ideone.com/w7RW0
0343ナナシ
2012/02/22(水) 23:53:02.04あとは2の補数の問題なんですけど・・・
2進数を10進数にや10進数を2進数にってのは出来るんで、2進数を2の補数を利用してやるところだけ力を貸していただけないでしょうか?
0344デフォルトの名無しさん
2012/02/22(水) 23:54:52.72今まで全く授業に出席してなくて、若しくはセンセイがゴミで
勉強してないのにいきなり課題をやろうとしてるように感じるのは俺だけか
0345デフォルトの名無しさん
2012/02/22(水) 23:55:40.145と10がふんだんにちりばめられた、とてもすばらしいコードですね。
まるで素敵な奇跡みたいです。
その調子でこんごも精進してくだしあ。
0346デフォルトの名無しさん
2012/02/22(水) 23:56:47.89あ、ありがとうございますorz
0347デフォルトの名無しさん
2012/02/22(水) 23:57:51.560348デフォルトの名無しさん
2012/02/22(水) 23:58:33.870349ナナシ
2012/02/22(水) 23:59:38.28だから力を貸してください・・・
0350デフォルトの名無しさん
2012/02/23(木) 00:00:01.200351ナナシ
2012/02/23(木) 00:01:06.20なんかがっかりです・・・
0352ナナシ
2012/02/23(木) 00:02:46.480353デフォルトの名無しさん
2012/02/23(木) 00:02:50.77お引き取りください
0355デフォルトの名無しさん
2012/02/23(木) 00:03:04.110356ナナシ
2012/02/23(木) 00:03:13.23問題文を全部書いてるし、数字もちゃんと書いて、目的も書いています。
コレ以上何を書くんですか?
0357ナナシ
2012/02/23(木) 00:05:34.42答えてくれたっていいじゃないですか
それくらいのことが出来ないなんてダメですね。
0358デフォルトの名無しさん
2012/02/23(木) 00:06:52.48>>2のテンプレ
0359デフォルトの名無しさん
2012/02/23(木) 00:07:42.090360デフォルトの名無しさん
2012/02/23(木) 00:09:58.26とりあえず、立場なw
テンプレそんなに大変か?w
0361デフォルトの名無しさん
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
0362ナナシ
2012/02/23(木) 00:14:49.89じゃあ、
単元はサブ関数
問題文は2進数10110001-2進数00101110の計算を2の補数を利用して計算する
環境は何を書いていいのやら
OSはwin7
コンパイラはBCC
言語はC
期限は2012年02月23日00:25
でお願いします
0363ナナシ
2012/02/23(木) 00:16:14.080364デフォルトの名無しさん
2012/02/23(木) 00:16:36.300365デフォルトの名無しさん
2012/02/23(木) 00:17:02.280366デフォルトの名無しさん
2012/02/23(木) 00:17:12.280367デフォルトの名無しさん
2012/02/23(木) 00:17:39.78鬼かおまえはw
0368デフォルトの名無しさん
2012/02/23(木) 00:17:44.08相当周りの見えないやつだな
0369デフォルトの名無しさん
2012/02/23(木) 00:20:24.910370デフォルトの名無しさん
2012/02/23(木) 00:21:04.530371ナナシ
2012/02/23(木) 00:22:12.40[2] 問題文 2進数10110001-2進数00101110の計算を2の補数を利用して計算する
[3] 環境
[3.1] OS: Windows7 64bit
[3.2] コンパイラ名とバージョン: BCC
[3.3] 言語: C言語
[4] 期限: 23日の00:50分までで
[5] その他の制限: 特になし
0372ナナシ
2012/02/23(木) 00:22:54.90今までのミスを許してください。
ごめんなさい
0373デフォルトの名無しさん
2012/02/23(木) 00:24:50.860374デフォルトの名無しさん
2012/02/23(木) 00:25:25.30___,,,,,..... -一ァ
/ ̄ ,-──--、,!
. / / お .,!
. / .i 断 だ ,!
/ i り が ,!
. / i し ,!
. / .ヽ ま ,!
. / / | ./ .〉 す__,,!
/ ノ |//ノ // ,!
/ / \ .,!
. / / ○ ○ .ヽ ,!
/__∩ | (__人__) | .,!
. //ヨ ) ヽ . / .,!
ヽ|.ヨノ | ,i
``ヽ.、_| ,!
``ヽ.、.. ,,!
``ヾ、 ,,!
``ヽ,!
0375デフォルトの名無しさん
2012/02/23(木) 00:26:21.060376デフォルトの名無しさん
2012/02/23(木) 00:26:25.68数値積分やったなぁ
でも4/(1+x^2)の0〜1定積分の方が結果が出た時嬉しい
0377デフォルトの名無しさん
2012/02/23(木) 00:26:37.950378ナナシ
2012/02/23(木) 00:27:09.30だから、2の補数だけども教えてください!
0379デフォルトの名無しさん
2012/02/23(木) 00:27:24.42普通は負の数はみんな2の補数で表現されてるから、普通に計算すりゃいいんじゃね?
0380ナナシ
2012/02/23(木) 00:27:57.11僕の力ではもう、どうしようもないのですから・・・
0381デフォルトの名無しさん
2012/02/23(木) 00:28:44.992の補数 - Wikipedia
ttp://ja.wikipedia.org/wiki/2%E3%81%AE%E8%A3%9C%E6%95%B0
0383ナナシ
2012/02/23(木) 00:29:32.832の補数を利用して0と1を交換して+1をするということが出来ないんです・・・
0384ナナシ
2012/02/23(木) 00:30:35.45お気持ちはありがたいですけど2の補数についてじゃなくて2の補数をC言語で利用するのが出来ないんです
0385375
2012/02/23(木) 00:31:38.510386ナナシ
2012/02/23(木) 00:32:29.640387361
2012/02/23(木) 00:33:03.74単に配列xの値をx[n-1]までしか定義してなかったのに、x[n]の値を呼び出そうとしてエラーが起きていただけでした。
0388デフォルトの名無しさん
2012/02/23(木) 00:34:03.16printf("%x\n", ~2+1); --> fffffffe
printf("%x\n", -2); --> fffffffe
こういうこと?
0389ナナシ
2012/02/23(木) 00:34:13.68あなたがたがテンプレを書けといったからこっちは書いたんです
それなのに何ですかこの対応は。人としておかしいと思いませんか?
0390デフォルトの名無しさん
2012/02/23(木) 00:35:03.490391ナナシ
2012/02/23(木) 00:35:24.010392デフォルトの名無しさん
2012/02/23(木) 00:35:33.750393デフォルトの名無しさん
2012/02/23(木) 00:36:30.48ほらよ
http://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q1241152992
0394ナナシ
2012/02/23(木) 00:36:46.1500101110というのを
11010011という風に変えたいんです。
でも、2の補数がプログラムで組めないので出来ないです・・・
0395ナナシ
2012/02/23(木) 00:37:12.10こちらが謝礼を貰っても良いくらいですが
今回は特別にタダで解かせてあげます
0396ナナシ
2012/02/23(木) 00:38:11.450397デフォルトの名無しさん
2012/02/23(木) 00:39:56.670398ナナシ
2012/02/23(木) 00:41:11.12すみませんが早くしてください。
0399ナナシ
2012/02/23(木) 00:42:01.90どうしてそんなことするんですか?
僕はそんなこと思ってないです
0400デフォルトの名無しさん
2012/02/23(木) 00:42:13.130401デフォルトの名無しさん
2012/02/23(木) 00:42:26.68残念だったな
0402ナナシ
2012/02/23(木) 00:43:12.620403デフォルトの名無しさん
2012/02/23(木) 00:43:22.18リファレンス読め
急がば回れ
0404デフォルトの名無しさん
2012/02/23(木) 00:46:36.57素直にテンプレ書いてればとっくの昔に答えが出てたのに
0405デフォルトの名無しさん
2012/02/23(木) 00:50:09.92たまにこういうやつ紛れ込んでくるけど、いつもイラッとする。
0406デフォルトの名無しさん
2012/02/23(木) 00:52:28.130407デフォルトの名無しさん
2012/02/23(木) 00:52:56.30まあ釣りだろ
0408ナナシ
2012/02/23(木) 00:54:22.15テンプレを書かずに質問していて。
以後気をつけるので今回は許して頂けないでしょうか
0409ナナシ
2012/02/23(木) 00:56:42.41釣りじゃなくてマジで分からないんです・・・
0410デフォルトの名無しさん
2012/02/23(木) 00:57:37.04驚きのコードを貼っていってくれるでしょう
0411ナナシ
2012/02/23(木) 00:59:11.08じゃあ待ってます
0412ナナシ
2012/02/23(木) 00:59:46.910413デフォルトの名無しさん
2012/02/23(木) 01:00:43.29い い か げ ん に し ろ
0414ナナシ
2012/02/23(木) 01:01:42.52分からないので諦めるわけには
0415デフォルトの名無しさん
2012/02/23(木) 01:02:57.330416デフォルトの名無しさん
2012/02/23(木) 01:06:46.420417デフォルトの名無しさん
2012/02/23(木) 01:07:08.450418デフォルトの名無しさん
2012/02/23(木) 01:07:51.320419デフォルトの名無しさん
2012/02/23(木) 01:08:50.430420デフォルトの名無しさん
2012/02/23(木) 01:08:52.810421デフォルトの名無しさん
2012/02/23(木) 01:10:03.380422デフォルトの名無しさん
2012/02/23(木) 01:11:18.27俺にょろ使わんかったわー。
0423デフォルトの名無しさん
2012/02/23(木) 01:12:41.940425デフォルトの名無しさん
2012/02/23(木) 05:24:37.01マニアックすぎる、このスレでは俺にしか通じないと思うがw
0426デフォルトの名無しさん
2012/02/23(木) 05:33:40.97どうせプレイしたこともない知ったかだろw
0427デフォルトの名無しさん
2012/02/23(木) 07:51:14.20ネタとして知ってりゃいいレベル
0428デフォルトの名無しさん
2012/02/23(木) 09:08:42.40ttp://ideone.com/EQvG1
0429デフォルトの名無しさん
2012/02/23(木) 15:12:24.630430デフォルトの名無しさん
2012/02/23(木) 16:00:04.510431デフォルトの名無しさん
2012/02/23(木) 16:11:57.500432デフォルトの名無しさん
2012/02/23(木) 16:54:48.220433デフォルトの名無しさん
2012/02/23(木) 17:07:52.290434デフォルトの名無しさん
2012/02/23(木) 17:24:16.810435デフォルトの名無しさん
2012/02/23(木) 17:38:59.560436デフォルトの名無しさん
2012/02/23(木) 17:48:27.12は根本的に違うだろうな
0437デフォルトの名無しさん
2012/02/23(木) 17:54:05.570438デフォルトの名無しさん
2012/02/23(木) 17:55:02.060439デフォルトの名無しさん
2012/02/24(金) 01:30:30.61糞ゲーネタって一般的なのか、すまんかった
0440デフォルトの名無しさん
2012/02/24(金) 04:17:02.02>>425じゃないけどポスターもってる。R-TYPEみたいな画風の。
0442デフォルトの名無しさん
2012/02/24(金) 06:10:29.140444デフォルトの名無しさん
2012/02/24(金) 06:20:18.890445デフォルトの名無しさん
2012/02/24(金) 06:46:35.60http://hibari.2ch.net/test/read.cgi/tech/1320365280/859
0446デフォルトの名無しさん
2012/02/24(金) 10:08:58.630447デフォルトの名無しさん
2012/02/24(金) 21:38:35.82コンソール画面から*、(、)を入力させるのが面倒だったので、文字列を与えるようにした。
ttp://ideone.com/lDaF9
0448デフォルトの名無しさん
2012/02/26(日) 00:11:20.20ずいぶん昔にぼくが依頼したプログラムですねw
もう授業も終わって春休みだけどありがとうございます
0450デフォルトの名無しさん
2012/02/26(日) 18:54:34.04「ソートプログラムとデータ構造について
具体的なソートプログラムの名前をあげ、
とのようなデータ構造(配列、単方向リスト、双方向リスト、循環リストなど)が
なぜ適しているか述べろ。
が分かりません!教えてください
0451デフォルトの名無しさん
2012/02/26(日) 18:56:59.72スレチ
wikipedia でも丸写ししとけ
0452デフォルトの名無しさん
2012/02/26(日) 20:38:16.02のってないから聞いてます
0453デフォルトの名無しさん
2012/02/26(日) 20:40:58.085点
0454デフォルトの名無しさん
2012/02/26(日) 20:46:40.98スリープソート
ソート対象を数値で表した時に値域が狭い場合に適する
0455デフォルトの名無しさん
2012/02/26(日) 20:52:29.34シャッフルソート
リストをシャッフル→ソートされているかをチェック の2段階からなる
ものの論文によれば、リストが小さい時、
シャッフルソートはバブルソートよりも早く終わる確率が高い
0456デフォルトの名無しさん
2012/02/26(日) 22:03:29.62単語カウントだけの用途だと、ハッシュ値が衝突するとハッシュを使う意味が無いが、
このプログラムはハッシュ値が衝突するんじゃないか?
0457デフォルトの名無しさん
2012/02/26(日) 22:13:02.00チェインハッシュ法を採用しました。チェイン方法としては双方向線形リストを使い、この線形リストは頻度順になるようにデータ挿入ごとに並び替えを行っています。
0459デフォルトの名無しさん
2012/02/27(月) 03:53:09.24http://live.nicovideo.jp/watch/lv83151829
http://live.nicovideo.jp/watch/lv83151829
http://live.nicovideo.jp/watch/lv83151829
http://live.nicovideo.jp/watch/lv83151829
http://live.nicovideo.jp/watch/lv83151829
0460デフォルトの名無しさん
2012/02/27(月) 17:06:47.43[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] その他の制限:特になし。
よろしくお願いします。
0461デフォルトの名無しさん
2012/02/27(月) 17:50:00.32(2)の方 これをコピペ
printf("%02d時%02d分%02d秒",
local->tm_hour,
local->tm_min,
local->tm_sec);
0462デフォルトの名無しさん
2012/02/27(月) 19:23:00.98ありがとうございます。
ただ申し訳ないのですが、もう少し詳しく説明していただけると助かります。
0463デフォルトの名無しさん
2012/02/27(月) 19:39:36.42直感による
local->tm_year
local->tm_mon
local->tm_mday
local->tm_wday
これらのあとには、大抵、hour,min,secとかが続くから、
何も考えずに local->tm_ の後を書き換えればいい
0464デフォルトの名無しさん
2012/02/27(月) 20:07:41.28ありがとうございます。
書き換えて見たのですが、コンパイルに失敗し、
エラー 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 ***
と表示されます。どういう意味なのかわからないので、どなたかわかる方はお教えください。
0465デフォルトの名無しさん
2012/02/27(月) 20:21:51.26ttp://ideone.com/zRylO
0466デフォルトの名無しさん
2012/02/27(月) 20:32:38.47ありがとうございます。何が違ったのかちゃんと見てみます。
どなたかわかる方がいましたら>>460の(1)もお手数ですがよろしくお願いします。
0467デフォルトの名無しさん
2012/02/27(月) 20:51:33.65http://ideone.com/zJjwv
0468デフォルトの名無しさん
2012/02/27(月) 21:29:13.08http://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] 期限: 今日中
よろしくお願いします。
0469デフォルトの名無しさん
2012/02/27(月) 21:47:24.09void print_4bits(unsigned x)
{
int i;
for ( i = 3; i>=0; i--)
putchar( ( (x >> i) & 1U) ? '1' : '0');
}
0470デフォルトの名無しさん
2012/02/27(月) 22:00:17.24ありがとうございました。
追記:確かに >>449 のハッシュ関数の実装は適当で性能は最悪でしょう。MD5/RFC1321 も一度は採用してはいたのですが、MD5 ルーチンの記述量が全体の5割以上になってしまうので、とりやめました。
宿題用途でお手軽に記述できてかつそこそこの性能を発揮するハッシュ関数としてはどんな実装になるのでしょうか?
0472デフォルトの名無しさん
2012/02/27(月) 22:50:08.22世間で流通してるハッシュ関数ならハッシュコードを使うのが普通とは思うけど、
宿題&単語カウントってキーワードから考えると、ハッシュは単なる辞書機能のことを指してて最初の提示例で十分じゃないかと思うのは自分だけ?
0473デフォルトの名無しさん
2012/02/27(月) 23:16:14.38宿題やってほしい勢と、俺のプログラムを見ろ勢の利害が一致して成り立ってるスレだし
0474デフォルトの名無しさん
2012/02/28(火) 01:34:38.560475デフォルトの名無しさん
2012/02/28(火) 12:43:59.74>最初の提示例
ん?どれ?
お手ごろなハッシュ関数(FNV Hash関数:http://www.isthe.com/chongo/tech/comp/fnv/index.html)をみつけましたので、それにさしかえました。
http://toro.2ch.net/test/read.cgi/tech/1313183984/43
0478デフォルトの名無しさん
2012/03/01(木) 01:19:54.82[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行以内に収めるのが望ましい。
お願いします。
0479デフォルトの名無しさん
2012/03/01(木) 01:24:10.13動作例の上のほうのstudenは入力です。
あと、studentと、scoreの二つをを
stdataという構造体で扱って解いてほしいです。
追記になり少々見苦しいかもしれませんが
よろしくお願いします。
0480デフォルトの名無しさん
2012/03/01(木) 01:33:17.28そのままソートして結果出力してるように見える
stdataという構造体作ったとしても、scoreが点数として、studentには何を格納するの?
0481デフォルトの名無しさん
2012/03/01(木) 01:34:57.110482デフォルトの名無しさん
2012/03/01(木) 01:53:56.30さんくす
そりゃそうだ
0483デフォルトの名無しさん
2012/03/01(木) 02:00:06.34題意とはデータ構造が違うっぽいな
http://ideone.com/OiLRm
0484デフォルトの名無しさん
2012/03/01(木) 02:21:48.86夜分遅くにありがとうございます。
せっかく解いていただいたところ、申し訳ないのですが、
どうやら、成績はEOF(ctrl+Z)が入力されるまで自分の手で
入力していくプログラムのようです。
よろしければ修正していただくことは可能でしょうか。
もし可能であればお願いしたいです。
0485デフォルトの名無しさん
2012/03/01(木) 02:37:02.09やってみた
EOF または 空エンターで入力打ち切り
http://ideone.com/9bzK2
0486デフォルトの名無しさん
2012/03/01(木) 16:57:33.87-ーー ,,_
r'" `ヽ,__
\ ∩/ ̄ ̄ ヽつ
ノ ̄\ /"ヽ/ " ノ ヽi
| \_)\ .\ > < |\
\ ~ ) \ .\_ ( _●_)\_つ ありがとう。
 ̄ \_つ
無事提出することができて、たすかりました。
0487デフォルトの名無しさん
2012/03/01(木) 17:46:31.18>http://ideone.com/9bzK2
>>478
>点数を高いものから順に並び替えよ
なので、x、y逆じゃね?
X return ((stdata*)x)->score - ((stdata*)y)->score;
O return ((stdata*)y)->score - ((stdata*)x)->score;
0488デフォルトの名無しさん
2012/03/01(木) 18:10:08.14ttp://ideone.com/VbsV6
0489デフォルトの名無しさん
2012/03/02(金) 18:27:35.63[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日中まで
お願いします。
0490デフォルトの名無しさん
2012/03/02(金) 19:52:15.78名前を10個まで入力できます。桁数は最大30です。
char name[300];
各名前の先頭アドレスをp_nameに入れます。
char (*p_name)[10];
p_nameのアドレスをptrptrに入れます。
char *(*ptrptr)[10]);
こういうこと?
C言語より日本語のが難しいわ
0491デフォルトの名無しさん
2012/03/02(金) 19:54:56.60char (**ptrptr)[10];
0492489
2012/03/03(土) 00:59:31.66そういうことなんですかね。
とりあえず実行例にあるように、適当にキーボードから名前を入力していったあとに、
一番長い名前とその桁数、一番短い名前とその桁数、nameのアドレス、p_nameのアドレス、
ptrptrのアドレスを表示するようなプログラムを作成したいです。
全然できない状況です。よろしくおねがいします。
0493デフォルトの名無しさん
2012/03/03(土) 02:00:33.46ttp://ideone.com/NIewy
0494デフォルトの名無しさん
2012/03/03(土) 02:01:03.93元の問題文がその通り書いてあるなら出題に不備がある感が…
ダブルポインタの練習のための問題だと思うけど
char name[300]; って宣言と
char * name[10]; って宣言の2パターンある希ガス。
まあchar * name[10];のほうだと、p_nameにアドレス入れるのが冗長になるから
問題を好意的に捉えれば前者なんだろうけど。
コードも出さずに偉そうなこといって申し訳ない
0495デフォルトの名無しさん
2012/03/03(土) 02:08:04.23ぐあ。すげえ。
書きもしないで問題に文句言ってた自分が恥ずかしや
0497デフォルトの名無しさん
2012/03/03(土) 08:36:56.98一番長い名前、一番短い名前が複数あったらどうするの?
0498デフォルトの名無しさん
2012/03/03(土) 09:31:50.02質問者・回答者はおろか出題者すら考えてねーんだろーな
tanaka
yamada
kagaya
kaneko
koyano
sasaki
sakuma
0499デフォルトの名無しさん
2012/03/03(土) 09:39:15.570500デフォルトの名無しさん
2012/03/03(土) 09:45:42.37ああいうの出される所で勉強してるとプログラミング嫌いになるんだろうなぁ
0501デフォルトの名無しさん
2012/03/03(土) 11:53:40.64わざとバグを仕込んであるアセンブリコードのデバッグの宿題とか死にかけたな。懐かしい
0502デフォルトの名無しさん
2012/03/03(土) 15:01:19.24>わざとバグを仕込んであるアセンブリコードのデバッグの宿題
期待される動作をきちんと説明してあれば、いい教材になりうるけどな。
教える側のイメージが曖昧で、何通りにも解釈可能ってのはたまによくある。
0503デフォルトの名無しさん
2012/03/03(土) 16:10:22.23> たまによくある。
お前の人生自体も失敗がたまによくありそうだな。
0504デフォルトの名無しさん
2012/03/03(土) 17:03:37.940505デフォルトの名無しさん
2012/03/03(土) 18:41:48.63310に変えておいたほうがいいよ
0506デフォルトの名無しさん
2012/03/04(日) 06:05:40.840507デフォルトの名無しさん
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からまったくわかりません><
0508デフォルトの名無しさん
2012/03/04(日) 12:34:09.60[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について、要素の数が膨大になる場合、パフォーマンスが劣化する。
という解答では×とのことでした。
以上です。よろしくお願いします。
0509デフォルトの名無しさん
2012/03/04(日) 15:07:29.94strtokは第一引数の文字列を直接変更する。
pogeは変更してはいけない
0510デフォルトの名無しさん
2012/03/04(日) 15:09:22.85はしょった?
0511デフォルトの名無しさん
2012/03/04(日) 15:18:19.03>�Afor(int i=0; i<plName->Getlength(); i++)
Getlength()の返り値が途中で変わったらまずいだろうけど、他にあるかな?
0512デフォルトの名無しさん
2012/03/04(日) 21:36:43.090513デフォルトの名無しさん
2012/03/04(日) 22:07:23.10int len = plName->Getlength();
for(int i=0; i<len; ++i)
とかじゃないよね?
0514508
2012/03/04(日) 22:42:09.41皆さんありがとう。
�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ループの箇所
0515デフォルトの名無しさん
2012/03/04(日) 22:46:02.44アホかこいつ
0516デフォルトの名無しさん
2012/03/04(日) 23:03:10.01しかもXMLの処理は.NETが異常に捗るからMSXML使ってる人なんてもういないだろ
0517デフォルトの名無しさん
2012/03/04(日) 23:08:07.39問題の意図がわからんな
パフォーマンスを求める前にエラーチェックをするべきでしょ
0518デフォルトの名無しさん
2012/03/05(月) 03:23:48.78forループの箇所に問題はないけど、それ以外に問題ありのように思うわ。
23時には間に合わなかったけど、18分もかかるほどの内容ではなかった。
0519デフォルトの名無しさん
2012/03/05(月) 03:46:42.95typedefがないってことではないよなぁw
0520デフォルトの名無しさん
2012/03/08(木) 10:20:08.22>for(int i=0; i<plName->Getlength(); i++)
X int i
O long i
0521デフォルトの名無しさん
2012/03/08(木) 12:12:24.06無かったらコンパイル通らないし
いや、まさか・・・
0522デフォルトの名無しさん
2012/03/09(金) 20:25:50.41[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)で使用したサイトであげていただけると助かります。
よろしくお願いします。
0523デフォルトの名無しさん
2012/03/09(金) 22:49:18.09(1) http://ideone.com/BJtZP
(2) http://ideone.com/yntWm
数学苦手だから (2) はちょっと自信ない
0524デフォルトの名無しさん
2012/03/09(金) 23:09:14.96ありがとうございます。
0525デフォルトの名無しさん
2012/03/09(金) 23:51:00.612番目はこんな感じじゃなかろうか
http://ideone.com/WqmYZ
0527デフォルトの名無しさん
2012/03/15(木) 21:50:23.21[2] 問題文(含コード&リンク):
KMP法のアルゴリズムの関数を作成せよ。
[3] 環境
[3.1] vista
[3.2] VC 2008
[3.3] 言語: C
[4] 期限: 3月16日まで
分かる方いらしたらよろしくお願いします
0529デフォルトの名無しさん
2012/03/15(木) 21:52:28.99宿題は、出された問題をそのまま書かないと、誰もやってくれないよ
0530デフォルトの名無しさん
2012/03/15(木) 22:08:20.14分かる方って、自分では調べてやってみた?
http://www.amazon.co.jp/dp/4874084141/
の p389 に 30 行ほどでのってるよ。algo.lzh っていうこの本のサンプル集もどこかに転がってるんじゃないかな。
最近の図書館は24時間営業じゃなかったっけ。この時期なんかは特に。
0532デフォルトの名無しさん
2012/03/16(金) 10:39:01.000533デフォルトの名無しさん
2012/03/16(金) 10:43:17.37http://codepad.org/MBex3iLm
おら、動いたぞ。
0534デフォルトの名無しさん
2012/03/18(日) 06:20:26.52[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
一応書いてみたのですが正解として受け入れられませんでした。
微妙にスレチな気もしますが宜しくお願いします。
#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));
}
}
微妙にノーコンパイルにしておいた。
0536デフォルトの名無しさん
2012/03/18(日) 08:47:19.81何がダメで不正解じゃなかったのか書かないと
意味ねーじゃん
0537デフォルトの名無しさん
2012/03/18(日) 08:56:21.53code.c: In function ‘main’:
code.c:11: error: expected expression before ‘int’
だそうです
>>565
不正解の時は「Wrong Answer」としか言ってくれない
#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;}
0539デフォルトの名無しさん
2012/03/18(日) 09:28:00.11コミュニケーションとれてないw
#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;}
0541デフォルトの名無しさん
2012/03/18(日) 10:20:05.900542デフォルトの名無しさん
2012/03/18(日) 10:28:04.600543デフォルトの名無しさん
2012/03/18(日) 10:29:36.05/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^)/
[3.1] OS: Unix
[3.2] コンパイラ名とバージョン: cc
[3.3] 言語: C
if(!fgets(buf,80,stdin)) break; // ddd ddd[NEWLINE][EOF]
0545デフォルトの名無しさん
2012/03/18(日) 10:46:15.07自分が解いた限りではそんな問題なかったぞ
0546デフォルトの名無しさん
2012/03/18(日) 10:53:49.67これ
http://judge.u-aizu.ac.jp/onlinejudge/description.jsp?id=0009&lang=jp
0547デフォルトの名無しさん
2012/03/18(日) 10:56:44.91一回計算した値は使いまわせば余裕
0548デフォルトの名無しさん
2012/03/18(日) 11:36:22.02致命的な間違いがあるけど、指摘されてんのはそこじゃねーんだよな
0549デフォルトの名無しさん
2012/03/18(日) 11:46:25.99jについてのループおかしくね?
数字以外の入力もそのまま処理されるのもまずい気がする
それと>>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);
}
}
0550デフォルトの名無しさん
2012/03/18(日) 11:56:28.06/tmp/ccmsA2nL.o: In function `main':
code.c:(.text+0x7d): warning: the `gets' function is dangerous and should not be used.
getsは使ったらダメなようです
0551デフォルトの名無しさん
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;
}
0552デフォルトの名無しさん
2012/03/18(日) 12:37:13.86すげぇ・・・通った
天才だわ
0553デフォルトの名無しさん
2012/03/18(日) 12:57:10.81解けた人数が難易度の目安になる
200人のは簡単
100人くらいのを解こうとしたら動的計画法を使えるようにならないとだめ
50人くらいのを解こうとしたら思いつきがいる
0554デフォルトの名無しさん
2012/03/18(日) 13:07:01.25今回の問題1647人いるんですが・・・
0555デフォルトの名無しさん
2012/03/18(日) 13:17:21.840556デフォルトの名無しさん
2012/03/18(日) 13:19:26.26やれば分かる
0557デフォルトの名無しさん
2012/03/18(日) 13:31:35.501] 授業単元: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] その他の制限:特になし
【アップローダー==ラウンジ】(質問が長い時はココ使うと便利 回答者もコードが長ければここに)
0558デフォルトの名無しさん
2012/03/18(日) 13:42:15.97○文字目っていうのは全角も考えたうえでの数?
全部全角だとすると77文字目って142バイト目くらいから始まることになるけど
0559デフォルトの名無しさん
2012/03/18(日) 13:45:18.02という言葉を言い出せない僕らにとって無くてはならないアイテムです。もちろんこの醤油的存在はアジア圏を
中心に大活躍しているわけですが、昨日のコンビニ弁当と学校給食に続き、お隣韓国の醤油工場をご紹介です。
しかも摘発された工場です。
無許可で経営していたとの理由で摘発された韓国醤油「魚醤(エクジョッ)」製造工場なのですが…。
http://spytune.net/wp-content/uploads/2012/03/uji.jpg
ウジ虫が主原料になっちゃってるぅぅぅぅ!!!!
これ無許可の前に食品衛生法違反で逮捕して!ちなみに観光客や市民に向けて出荷されていたそうです…。
http://spytune.net/?p=450
0560デフォルトの名無しさん
2012/03/18(日) 13:54:19.44エスケープとかクォートとか
0561デフォルトの名無しさん
2012/03/18(日) 14:11:10.87たぶん、xをターミネーションしてない
0562デフォルトの名無しさん
2012/03/18(日) 14:15:45.97間違いました。1ー66バイトが1バイト、67ー126が変換対象(日本語混じり)124ー150が1バイト
となります。
学校ではなく、職場の(自己啓発)プログラミング講座の課題です。
0563デフォルトの名無しさん
2012/03/18(日) 14:18:27.651ー77バイトが1バイト、77ー126が変換対象。126ー150が1バイト
です。
何度もスミマセン。
0564デフォルトの名無しさん
2012/03/18(日) 14:20:38.52自力で解かなきゃ意味ないじゃんwwwww
0565デフォルトの名無しさん
2012/03/18(日) 14:21:07.07それを言ってしまったらこのスレ全部アウト
0566デフォルトの名無しさん
2012/03/18(日) 14:24:34.04これで給料もらってるなら話は別だろ
0567デフォルトの名無しさん
2012/03/18(日) 14:35:51.95そういうもんかね。AOJとかの質問するほうがどうかしてると思うけど。
>>557
> 固定長バイトの文字列の中の一部を抜き出すところがわかりません
それが必要な場面がないけれど、
必要なら
strncpy(dst, src+startoffset, wantlength);
dst[wantlength] = '\0'
とかやればいいよ
0568デフォルトの名無しさん
2012/03/18(日) 14:41:16.10AOJのは高専向けの問題の中でも超入門の過去問だろ
0569デフォルトの名無しさん
2012/03/18(日) 14:56:15.68ありがとうございます。この問題では
文字列Aのキーになる文字列を抜き出し、ループの中で文字列Bのキーになる文字列
を抜き出し比較しif文でマッチしたら、
文字列Aの対象文字列前,後の文字列を抜き出し間にBの文字列を差し込みファイル出力
という処理を考えていました。文字列を抜き出さずに比較する方法とは
どのようなものでしょうか?
0570デフォルトの名無しさん
2012/03/18(日) 15:18:51.15そのやり方でいいと思うよ
>char str[256], x[256], y[256];
決め打ちか‥‥。
0573デフォルトの名無しさん
2012/03/19(月) 13:10:45.21>>534
0574デフォルトの名無しさん
2012/03/19(月) 18:34:33.39文字列A側の1万行以上のそれぞれの行にたいして、
一致する行を文字列Bの一万行以上から捜して、
文字列置換して、文字列A側がEOFになるまで繰り返す
という問題ではないのか?
0575デフォルトの名無しさん
2012/03/19(月) 20:39:22.99何が変わったん
0576デフォルトの名無しさん
2012/03/19(月) 20:41:40.940577デフォルトの名無しさん
2012/03/19(月) 22:25:18.22他に条件ないの?csvパースするの面倒なんだけどw
昔書いたモジュールぶち込むのも面倒だし。。。
0578デフォルトの名無しさん
2012/03/19(月) 23:01:56.76ある程度でいいんじゃないかなぁ。面倒でやる気でないけど…
0579デフォルトの名無しさん
2012/03/20(火) 00:21:34.08head -n 100でもしてデータぐらいは上げて欲しいな
0580デフォルトの名無しさん
2012/03/20(火) 02:07:42.81http://ideone.com/kNPtm
0581デフォルトの名無しさん
2012/03/20(火) 02:56:01.08TTTとかMMMとかは半角だけど、>>580が伏せるときに間違えただけ?
0582デフォルトの名無しさん
2012/03/20(火) 03:26:33.13なぜ、AとBを別々に上げないの?
なぜEUC-JPではなくUTF8なの?
なぜ1行目(コメントヘッダ除く)でいきなり150バイト超えてるの?
Bの4カラム目ってどこなの?2列しかないのに。
0583デフォルトの名無しさん
2012/03/20(火) 03:29:49.290584デフォルトの名無しさん
2012/03/20(火) 08:36:53.99なんで実行させる設定にしてるんだよw
オフにしとけよ
0585デフォルトの名無しさん
2012/03/20(火) 11:48:06.090586デフォルトの名無しさん
2012/03/20(火) 11:54:17.26>
> 文字列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でやっちゃあいけないデータ移行作業か何かかと
0587デフォルトの名無しさん
2012/03/20(火) 11:57:39.44_. -─‐-
/ ⌒ \ カラムが絡む…からむがからむ…
/ ⌒ (● ) \ ┏┓
/ ( ● ) 、_) ヽ ┏┛
| (__ノ / | ・
ヽ  ̄ _ノ
>  ̄ \
つhttp://toro.2ch.net/test/read.cgi/tech/1313183984/
5000モリタポで受託します。
0589デフォルトの名無しさん
2012/03/20(火) 12:39:04.19Cでそのままやるにゃあキツイってことだ
言わせんなよ恥ずかしい
区切り文字で切り分けするだけでクソ作業になる
0590デフォルトの名無しさん
2012/03/20(火) 12:46:48.340591デフォルトの名無しさん
2012/03/20(火) 13:14:06.680592デフォルトの名無しさん
2012/03/20(火) 13:24:42.13UTF8だったり色々と面倒なので、途中まで。
ttp://ideone.com/X4CBR
0593デフォルトの名無しさん
2012/03/20(火) 13:30:33.910594デフォルトの名無しさん
2012/03/20(火) 14:01:17.49固定長はC向けだろ
0595デフォルトの名無しさん
2012/03/20(火) 17:04:07.34> 文字コード:文字列A(EUC-JP)、文字列B(sjis2eucで変換)
JIS X 0201片仮名文字ってEUC-jpじゃSS使うんだっけ? 大変だな。頑張ってくれ。
0596デフォルトの名無しさん
2012/03/21(水) 00:29:18.020597デフォルトの名無しさん
2012/03/21(水) 00:47:07.490598デフォルトの名無しさん
2012/03/21(水) 21:05:11.700x8f(SS3) 0xa1?0xfe 0xa1?0xfe: G3文字(JIS X 0212) (JIS補助漢字)
SS single shift
必要に応じ、SS2やSS3が先行し3バイトとなることがある
0599デフォルトの名無しさん
2012/03/21(水) 22:36:33.82半角カナが2バイトで表現されると大変なのかな。
G3文字が使用されたら大変そうだなぁというのは理解できたけども…
0600デフォルトの名無しさん
2012/03/21(水) 22:43:01.58多分固定長じゃないから、嫌なんだと思う
0601デフォルトの名無しさん
2012/03/21(水) 22:49:18.98> EUC-日本語 では、半角カナは前に 0x8E (シングルシフト2, SS2) をおいた2バイト表現
> 補助漢字は制御文字SS3(シングルシフト3、0x8F)に続けて現れるので、都合3バイトを要する
補助漢字の領域=悪魔の領域 G3。
使うことなんて滅多に無いだろうけど、
課題が課題、地名だからしょうがない。
地名なんてG3がいかにも来そうな語群だからしょうがない。
0602デフォルトの名無しさん
2012/03/21(水) 22:51:02.76そもそも統一されてない文字コード
0603デフォルトの名無しさん
2012/03/21(水) 22:55:01.250604デフォルトの名無しさん
2012/03/21(水) 22:58:30.010605デフォルトの名無しさん
2012/03/21(水) 23:23:30.020606デフォルトの名無しさん
2012/03/22(木) 13:23:50.250607デフォルトの名無しさん
2012/03/22(木) 13:26:58.08自己紹介か?
「文字コードの話題について行けません! もっとカンタンなお話おながいします!!」
ってな
0608デフォルトの名無しさん
2012/03/22(木) 18:47:12.60ロケールセットしてmblenで50バイト以下の最大文字長を切り出し
50バイトに満たなければ' 'fill
これだけじゃね?
0609デフォルトの名無しさん
2012/03/22(木) 19:48:09.020610デフォルトの名無しさん
2012/03/23(金) 15:22:09.92[2] 問題文(含コード&リンク): 最長しりとり問題を整数計画法を用い、しりとりの数が最長となるパターンを導出するプログラムを作成せよ.ただし構造体とポインタを使用すること.
[3] 環境
[3.1] OS: Windows Vista
[3.2] コンパイラ名とバージョン:VC 2008
[3.3] 言語: C言語
[4] 期限: 3月26日まで
[5] その他の制限:あたえられた単語は半角カタカナ表記で、単語を登録するのではなく, 頭文字,末尾文字を登録することも可
です。よろしくお願いします。
0611デフォルトの名無しさん
2012/03/23(金) 22:29:07.00本当にその問題文だけでできると思ってるのか?
最長しりとり問題ってなんだ
入力はどう受け取るんだ
導出した結果はどうやって出力するんだ
質問に答えるだけじゃなくて与えられた情報をすべて記載しろ
0612デフォルトの名無しさん
2012/03/23(金) 22:35:11.61拷問じゃねーかwww
バカとかカバとかどーやってしりとりssssっさせるんだろ
アポとポアとかさ
0613デフォルトの名無しさん
2012/03/23(金) 22:36:20.45それくらいは何とかしてやれるだろw
0614デフォルトの名無しさん
2012/03/23(金) 22:42:36.60半角カナなら最後の(半)濁点とりゃいいじゃん
むしろ全角のほうがめんどくさかろ。
0615デフォルトの名無しさん
2012/03/23(金) 22:43:04.320616デフォルトの名無しさん
2012/03/23(金) 22:52:10.64ちがうでしょうね
0617デフォルトの名無しさん
2012/03/23(金) 22:54:30.97違いますそうではなくてこうです、こうしてください、
と再提出を促し続けられるパターンとみた。
0618デフォルトの名無しさん
2012/03/23(金) 22:59:22.29半角カタカナで濁点、-は無視してかまいません。
総当たりでしりとりを行うプログラムをつくったのですが、
単語数が多くなるとプログラムが処理しきれなくなったところ、
整数計画法を用いて解けといわれたので。
ttp://auemath.aichi-edu.ac.jp/~ykhashi/semi/2010note/08_issey_final.pdf
にのっているアルゴリズムでよさそうなのですが、自分だと実装できなくて。
説明不足で済みません。
0619デフォルトの名無しさん
2012/03/23(金) 22:59:27.26最後の長音は母音とするルールと、無視するルール、長音を含みながら答えるルールと、負けになるルールがある[2]。
最後の文字が拗音・促音(ぁ、ぃ、ぅ、ぇ、ぉ、ゃ、ゅ、ょ、っ)の場合、もとの文字(清音)に戻すルールと、そのままのルール、負けになるルールがある[3]。
最後の文字が濁音・半濁音の場合、「゛(濁点)」「゜(半濁点)」を取っていいルールと、取ってはいけないルールがある[4]。
このあたりのローカルルールはどちらか明記するし
単語データも添えるよね
0620デフォルトの名無しさん
2012/03/23(金) 23:02:35.89大学の課題なんて適当だろ。ある程度実装されてたらいいもんだ。
付加価値として、それらのローカルルールの可否をオプション設定できるようにするとかすればいいだけで。
0621デフォルトの名無しさん
2012/03/23(金) 23:11:57.09ここが何度考えても分からん
0622デフォルトの名無しさん
2012/03/23(金) 23:12:30.50総当たりの時は末尾時の小文字は大文字に変換していました。
単語データは国名で構造体に頭文字と末尾字を組み込んで
typedef struct {
char top;
char end;
} word;
ベルギーなら{'ヘ','キ'}としてデータをとりあつかっていました。
0623デフォルトの名無しさん
2012/03/23(金) 23:17:58.560624デフォルトの名無しさん
2012/03/23(金) 23:23:10.41楽しみながらまじめに取り組んだんだろうな。詳細は読んでないけど、実にいい生徒だとおもう。
0625デフォルトの名無しさん
2012/03/23(金) 23:30:03.650626デフォルトの名無しさん
2012/03/23(金) 23:30:20.23一体どういうことだ
600オーバーとか
0627デフォルトの名無しさん
2012/03/24(土) 00:30:35.85参考:
いちばん長いしりとりどう書く?org
ttp://webcache.googleusercontent.com/search?q=cache:99yEp_R9dY8J:ja.doukaku.org/277/nested/+&cd=1&hl=ja&ct=clnk&gl=jp
0628デフォルトの名無しさん
2012/03/24(土) 01:05:54.38どれも>>610の解き方とそんなに変わらなくね?
0629デフォルトの名無しさん
2012/03/24(土) 01:57:44.720630デフォルトの名無しさん
2012/03/24(土) 02:37:31.15ジョジョ使わなくてもンで始まる単語はかなりあります
あと、ンドゥールは普通に実在する名前です
0631デフォルトの名無しさん
2012/03/24(土) 02:58:48.40を解きました
Ideoneにアップロードしました
http://ideone.com/GXE1P#
2^16 = (2^2)^8 = (2^4)^4 = (2^8)^2
つまりは、ここでいう16の約数に着目してときましたが、
重複する箇所のチェックに100個ぐらいの漏れがあるみたいなのですが、
何回見てもわかりません。
どこを直せば正しい答えがでるでしょうか。
お願いします。
0632デフォルトの名無しさん
2012/03/24(土) 03:16:01.600633デフォルトの名無しさん
2012/03/24(土) 03:50:16.690634デフォルトの名無しさん
2012/03/24(土) 04:32:12.47#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;
}
0635デフォルトの名無しさん
2012/03/24(土) 05:18:40.95抜けてる例
32^30 = 4^75
0636デフォルトの名無しさん
2012/03/24(土) 05:51:32.30matrix[32][2]とかが0のままだね。
0637デフォルトの名無しさん
2012/03/24(土) 05:52:24.96using 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;
}
0638デフォルトの名無しさん
2012/03/24(土) 06:41:09.540639デフォルトの名無しさん
2012/03/24(土) 13:34:41.389183 っぽい
0640デフォルトの名無しさん
2012/03/24(土) 22:09:49.12多倍長演算するようにするか
素因数分解するか好きなほうを選ぶ
どちらの場合でも a のループを b のループより外側にする
多倍長演算の場合は前回の計算結果を元に計算する
素因数分解の場合は a を素因数分解した結果に b を掛ければいい
計算結果を qsort する
一つ前と同じであれば minus_count++ する
計算結果の個数-minus_count が答えになる
http://codepad.org/881G8z2p
>>639
一致しました。
0642デフォルトの名無しさん
2012/03/24(土) 23:39:19.750643デフォルトの名無しさん
2012/03/24(土) 23:42:53.08どこがゴミかちょっとでいいので教えていただけるとありがたいです。
0645デフォルトの名無しさん
2012/03/24(土) 23:46:27.040646デフォルトの名無しさん
2012/03/24(土) 23:56:43.12Prelude Data.List> length $ nub $ map (\(x,y)->x**y) [(x,y) | x<-[2..100], y<-[2..100]]
9183
0647デフォルトの名無しさん
2012/03/25(日) 00:05:28.12でいけたが滅茶遅いな。
0648デフォルトの名無しさん
2012/03/25(日) 00:08:02.460649デフォルトの名無しさん
2012/03/25(日) 00:24:03.54#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;}
そりゃだめですね。>>640 にしたがって素因数分解を選択し、2<a<100 という点から√100 = 10 までの素因数の個数+10以上の素数1つだけの種類・その個数と仮定して組んでいますからね。
N = 10000 にするのだったら、100 以下の素数について記録するようになおさないといけないですね。
それも理解せずに N=100000 にしたんですか?
0651デフォルトの名無しさん
2012/03/25(日) 11:38:17.86ゴミコードとまではいわんが、オナニー見せられたような気分だw
>>640が提示したアルゴリズムがデチューンされてるw
>>>640が提示したアルゴリズムがデチューンされてる
>>640 は qsort を使う方針のところを、>>641 では 二分木に変えていますから。しかしそれがなぜオナニーコードになるのかなあ?
0653デフォルトの名無しさん
2012/03/25(日) 12:21:16.110654デフォルトの名無しさん
2012/03/25(日) 12:38:54.410655デフォルトの名無しさん
2012/03/25(日) 13:04:03.680656デフォルトの名無しさん
2012/03/25(日) 13:24:58.03二分木も quick sort もNlogN という点で能率は同じですから、あとは料理しやすい方をえらびました。
quick sort に与える比較関数に迷いましたので二分木にしましたね。結局、二分木に与えたものと同じものを qsort() で使ってもいいようですけれども。
>>654
え?見づらいですかねえ。普通に書いただけですけれども。
>>655 >>656
まあ >>649 は爆速ですね。
0658デフォルトの名無しさん
2012/03/25(日) 14:57:42.320659デフォルトの名無しさん
2012/03/25(日) 16:10:48.96自覚があったら書くのをやめる
ただしこれに対して「私のコードのどこがゴミなのか具体的に説明してもらえますか?」
という質問は受け付けない
とくにQ
難癖付けて絶対にゴミコードだと認めないのは今まで腐臭が漂うほど見てきたからな
0660デフォルトの名無しさん
2012/03/25(日) 16:18:17.94お前、トリップ付けろ。
0661デフォルトの名無しさん
2012/03/25(日) 16:22:44.20QZの回答はちゃんとしてないからなぁ・・・
ステマですか?
ちゃんとした回答じゃないよ、という指摘があればちゃんとした回答になるまであきらめずに訂正してきています。今までずっとそうしてきました。
0663デフォルトの名無しさん
2012/03/25(日) 16:30:29.780664デフォルトの名無しさん
2012/03/25(日) 16:32:51.68勘違いは多いし、故意の嘘も1回や2回じゃねー
>ただしこれに対して「私のコードのどこがゴミなのか具体的に説明してもらえますか?」という質問は受け付けない
それは一方的ですね。ある対象コードがゴミというからには、そのコードがどうごみなのか、記述するのがより客観的な表明というもの。
ゴミと言い放つだけでなにも説明しない、いや正確には説明「できない」のでは、それは、
お つ む が メ ル ヘ ン
というだけですよ。
>>649 が >>641 よりも優れている点は >>657 で認めています。
0667デフォルトの名無しさん
2012/03/25(日) 16:38:39.7150000モリタポでどこがクソか教えてやるよ。
まじめな話、5000モリタポでどうですか?
�@>>667 がクソな部分の URL および論理行 No. を、トリップをつけて投稿
�AQZaw55cn4c が納得すれば、そのトリップに送金、いや送モリタポ
�B>>667 がクソな点を説明
の流れでいかがでしょう?
0669658
2012/03/25(日) 16:43:45.580670デフォルトの名無しさん
2012/03/25(日) 16:43:48.780671デフォルトの名無しさん
2012/03/25(日) 16:45:58.23かいたこーどがそれよりひどかったことは
おぼえている
0672デフォルトの名無しさん
2012/03/25(日) 16:46:14.59そこを 5000 モリタポで、なんとか(もみ手すりすり)
0674デフォルトの名無しさん
2012/03/25(日) 16:48:17.540675デフォルトの名無しさん
2012/03/25(日) 16:50:50.56しょっちゅう外れてるけど、何もせずにクズクズ言ってる相手をあおろうとしているんじゃないかな。
0676デフォルトの名無しさん
2012/03/25(日) 16:54:06.62興味があるから観察を続けてるんだ(キリリって言ってたけど、興味なくなったんかな
0677デフォルトの名無しさん
2012/03/25(日) 16:55:41.700678デフォルトの名無しさん
2012/03/25(日) 16:57:24.68>>673
>>677
トリップを意図的にはずした投稿はひとつもありません。そうであるだけに ID はほしいですね。
自治スレが落ち着いたようだし、win32api スレの沈静化を目的に ID付きを提案してみましょうか。
0680デフォルトの名無しさん
2012/03/25(日) 17:01:26.51まともな人間関係も築けない屑人間がプライドだけ高くなっちゃって、もうちょっと自重すべきだろ
いやいや、そういうわけじゃありません。
「適切なアルゴリズムを使っているかどうかはコードがゴミであるかどうかに関与しない」というつもりはないので。
0682デフォルトの名無しさん
2012/03/25(日) 17:03:04.87発言に責任を持つ意味でトリップをつけろよ。
0683デフォルトの名無しさん
2012/03/25(日) 17:03:16.97以下の単語の意味がまったくわからないか、私の理解とはかけ離れている可能性がありますので、あなたの定義または説明をお願いいたします。
>人間としての
>一般的な
>コミュ力
>歪む
>屑人間
>プライド
そんな無駄な書き込みはしないほうがいいですよ。どうせできっこないですから。
0686デフォルトの名無しさん
2012/03/25(日) 17:05:38.450687デフォルトの名無しさん
2012/03/25(日) 17:07:08.78ちっとも成長しないし態度もかわらなかったからなあ
0688デフォルトの名無しさん
2012/03/25(日) 17:07:08.930689デフォルトの名無しさん
2012/03/25(日) 17:07:45.520690デフォルトの名無しさん
2012/03/25(日) 17:09:42.44宿題スレってことは学生向けの見本になるコードなんだから
if文の中に代入式を書くのはやめたほうがいいよ
バグの元だからコーディング規約で禁止されてる会社も多いし変な癖つかないように
>QZの間違ったとこを指摘してきた
そうですか。しっかり読んでいるつもりですが、あまり記憶にありません。
>成長しないし
すみません。長い目でみてやってください。
0692デフォルトの名無しさん
2012/03/25(日) 17:12:07.19>if文の中に代入式を書くのはやめたほうがいいよ
うーん、これは考え方の一つではありますが、私としてはとりたくない。昔からよくある書き方だしアイディアがコンパクトにつまっている、一種の慣用句ですしね。
それはそうと
>バグの元
について kwsk
ほんと、NG にいれればいいのにね。なぜそうしないんでしょうね。私も不思議です。
0695デフォルトの名無しさん
2012/03/25(日) 17:14:13.86>>691みたいなこと言うだけだからなあ
0696デフォルトの名無しさん
2012/03/25(日) 17:15:15.14そんなことないと思います。
仮に
>あまり記憶にありません。
といったとしても、なかば無意識的に◆QZaw55cn4c のコードに反映されているんじゃないですか?
◆QZaw55cn4c のコードに反映されている、ということはすなわちアドバイスを受け入れた、ということでOKではないでしょうか?
0698デフォルトの名無しさん
2012/03/25(日) 17:21:16.97よくある'=', '=='の書きミスとかかな
-Wallとかつければ警告でるんだけどね
昔はディスプレイで見渡せる範囲が狭かったから1行に79文字めいっぱい詰めたりしましたけど
そういうのは昔からやってるからというのがずっと通用するわけじゃないですよ
例えばこれとか2行に分けるとそんなに見づらいですか?
> if ((p = malloc(sizeof(struct node))) == NULL) {
それとgdb使ったりするときbreakpoint貼れないとかあるみたいよ
if文に代入文を入れないようにすれば関数の戻り値をデバッガで書き換えてパスを通すような単体テストも可能ですから
0699デフォルトの名無しさん
2012/03/25(日) 17:29:53.89名無しでいちゃもんつけ続けることにしたのかw
QZちゃんも大変だなw
0700デフォルトの名無しさん
2012/03/25(日) 17:34:01.06いや、個人的に書く分はいいけど
宿題で貼るコードだけは教科書向きにしようよって話だけど
0701デフォルトの名無しさん
2012/03/25(日) 17:40:58.41仮にも人の問題解いてモリタポ貰おうってやつが、何言ってんだ?
そんな中途半端なやつに払えるモリタポなんかねぇよ・・・
0702デフォルトの名無しさん
2012/03/25(日) 17:42:19.27反映されてないから今でもNGくらってるんでしょ
0703デフォルトの名無しさん
2012/03/25(日) 18:04:16.53動けばいいんじゃね
0704デフォルトの名無しさん
2012/03/25(日) 18:05:53.240705デフォルトの名無しさん
2012/03/25(日) 18:13:49.83卒業したら二度とさわりたくないと思うんだが
確かに入れ子の中の関数がなにを返してきているのかみたいときに、if 文の中にブレークポイントはつけられませんね。
将来、すこし大きなことをするときに役立つかもしれません。覚えておきます。
0708デフォルトの名無しさん
2012/03/25(日) 18:19:31.140709デフォルトの名無しさん
2012/03/25(日) 18:20:29.31>将来、すこし大きなことをするときに役立つかもしれません。覚えておきます。
最高のギャグを見た。
0710デフォルトの名無しさん
2012/03/25(日) 18:22:11.36http://toro.2ch.net/test/read.cgi/tech/1324704285/584
いや漫画バージョンのほうだったか?
0712デフォルトの名無しさん
2012/03/25(日) 18:54:16.69スレをのぞき込むとき、そのスレもこちらを見つめているのだ。
----フリードリッヒ・>>710
『C/C++の宿題片付けます 156代目はかく語りき』
0713デフォルトの名無しさん
2012/03/25(日) 18:59:15.06アメリカのファンタジーとか悪役が外道だからそれに対抗して主人公側も外道になっていくんだよなw
ヒロインが敵にちんこ自分で切り取らせて食わせたのは吹いたわ
訂正しておきました。あと、
>>645 のように N をかえる要望もあるので、それに対応して可変長の構造体にしました。
いずれにしても劇激遅です。
http://codepad.org/UP0DypUY
>>672
降参です。>>634, >>649 の考え方を、よろしければちょっとだけでも。
フリードリヒ・ニーチェですか。でも「ゾロアスターかくかたりき」にはないようですね。今、流行っているのですか?
0716デフォルトの名無しさん
2012/03/25(日) 21:33:25.020717デフォルトの名無しさん
2012/03/25(日) 23:32:16.32とりあえずaとbをいじってどうにかする方法を検討してみてはどう。
要するに
・質問者がやろうとしていたことを理解
・質問者が工夫した点を把握
・「それをいったん取り除き」
・質問者が工夫をする前のシンプルなコードを求め
・そのコードでは導出できない解を、導出できるようなコードに変更←これが本質的な疑問への回答(>>635でその一例は挙げている)
・質問者が工夫していた内容が使えるのなら、それを使う形にする、無理ならそれを伝える
これが、コードを提示した質問者へのまじめな回答の仕方だと俺は思っているし、そういう風にしてきた。
実務では当たり前のように行われている、最小限の変更で正しく動くようにするための作業ね。
別のアプローチをした挙句に、遅いコードは質問者にとってメリットが極めて少ないよ。
0718デフォルトの名無しさん
2012/03/26(月) 00:07:13.82人に見せるのなら特に。
0719デフォルトの名無しさん
2012/03/26(月) 00:10:41.62大真面目な回答として出してるから頭おかしいといわれる。
0720デフォルトの名無しさん
2012/03/26(月) 01:31:34.35my $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;
}
0721デフォルトの名無しさん
2012/03/26(月) 01:49:33.980722デフォルトの名無しさん
2012/03/26(月) 01:52:51.610723デフォルトの名無しさん
2012/03/26(月) 01:55:12.98scalar書くヤツ
0724デフォルトの名無しさん
2012/03/26(月) 02:07:00.70QZに劣るとか恥ずかしいと思わないの
0725デフォルトの名無しさん
2012/03/26(月) 10:47:35.510726デフォルトの名無しさん
2012/03/26(月) 15:34:40.210727デフォルトの名無しさん
2012/03/26(月) 18:07:44.020728デフォルトの名無しさん
2012/03/26(月) 20:21:34.11[2] 問題文(含コード&リンク): あたえられた単語で文字数が最長となるようなしりとりをプログラムしパターンと文字数を導出せよ.ただし構造体とポインタを使用すること.
[3] 環境
[3.1] OS: Windows Vista
[3.2] コンパイラ名とバージョン:VC 2008
[3.3] 言語: C言語
[4] 期限: 3月27日まで
[5] その他の制限:
>>610と同じものです。立て続けに質問して申し訳ありません。
http://ideone.com/YRIao
単語のデータは与えられていて、総当たりでしりとりを行っています。
構造体には頭文字,末尾文字,文字数の順にいれてあります。
最長文字数は導出できるのですが、どうにかしてパターンがわかるように取り出せないものでしょうか。
よろしくお願いします。
0729デフォルトの名無しさん
2012/03/26(月) 21:29:15.30このプログラム正しいか?
52行目のfor文って下のfor文の中でやらないとまずくね?
0730デフォルトの名無しさん
2012/03/26(月) 21:40:03.52いちおう文字数変えたときもちゃんと動いたと思うんですが
0731デフォルトの名無しさん
2012/03/26(月) 22:42:25.33すまん、そこは問題ないです。
78行目見落としてた。
0732デフォルトの名無しさん
2012/03/27(火) 02:04:05.17http://ideone.com/TWMps
0733デフォルトの名無しさん
2012/03/27(火) 02:09:06.87すみません。これだと構造体の文字数がカウントできないと思うのですが...
>>728
にあるように構造体の最後はどれも同じですが文字数です
0734デフォルトの名無しさん
2012/03/27(火) 02:48:46.06[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]ローカル変数はステートメントが始まる前にすべて宣言しなければならないと注意を受けました。よろしくお願いします。
0735デフォルトの名無しさん
2012/03/27(火) 03:35:32.690736デフォルトの名無しさん
2012/03/27(火) 04:36:50.23ちょい([11])のコード量が多くなってかけないから、↓に張る。
>http://codepad.org/qq6JeGRk
0737デフォルトの名無しさん
2012/03/27(火) 10:43:28.640738デフォルトの名無しさん
2012/03/27(火) 11:10:24.80これでいいんじゃね?
ttp://ideone.com/S4fbi
0739デフォルトの名無しさん
2012/03/27(火) 11:22:15.95([3]) が無理だな
([11]) の中で変数を定義すれば書けない事はないけど無茶苦茶汚いコードになるし
明らかに転記ミスだろう
0740デフォルトの名無しさん
2012/03/27(火) 11:32:25.12[1] *t
[2] int
[3] console
[4] ←なぜかない
[5] continue
[6]min
[7]max
[8] 未解決
[9]1
[10]20
[11]未解決
0741デフォルトの名無しさん
2012/03/27(火) 11:38:36.60なのかも
0742デフォルトの名無しさん
2012/03/27(火) 12:03:52.86resultで、5個の数字を合成したものを返す(入力が3,1,4,5,9なら3010509とか)んだと思うが、
fgetsは3引数、atoiは1引数だから、[3]は転記ミスじゃないかな?
0743デフォルトの名無しさん
2012/03/27(火) 12:04:51.10X 3010509
O 301040509
でした。
0744デフォルトの名無しさん
2012/03/27(火) 12:11:03.67>static int readNumber(char *msg,int min,int max,int m1,int m2,int m3,int m4)
を見るにreadNumberはmain側で5回コールされることになってるはず。
[8]と[11]がどんな回答を想定してるのか楽しみではあるw
0745デフォルトの名無しさん
2012/03/27(火) 12:12:25.58[4] console
だったら少し話が通る漢字
0746デフォルトの名無しさん
2012/03/27(火) 12:32:53.37大丈夫そうです。ありがとうございました。
0747デフォルトの名無しさん
2012/03/27(火) 12:47:58.64力任せ。
ttp://ideone.com/ZOYrV
0748デフォルトの名無しさん
2012/03/27(火) 12:49:01.93[5]との順番的には
t=fgets( ([3]),([4]),stdin);ではなかろうか。
0749デフォルトの名無しさん
2012/03/27(火) 13:23:17.26メッセージの部分がおかしいが、動作はするね。
ただし16ビット処理系では無理っぽい
0750デフォルトの名無しさん
2012/03/27(火) 13:32:29.370751デフォルトの名無しさん
2012/03/27(火) 14:12:04.26くずの方がまだましな気がしないでもない。。。
0752デフォルトの名無しさん
2012/03/27(火) 16:14:15.25>ただし16ビット処理系では無理っぽい
組み合わせ数は20C5→15504だから、可能ではあるけど面倒だな。
題意に沿うように、などという思考は QZ には皆無。
0754デフォルトの名無しさん
2012/03/27(火) 21:57:14.18QZの常套手段じゃなかったっけw
その方法自体はプログラムを作る分には悪くはない.悪くないどころか
むしろ正統じゃないかと...
もしかするとそういうライブラリが一つの言語コミュニティを作るぐらいまで
に成長するかもしれないし、実際そういう例もあるし...
毎回毎回カスタムオプティマイズするような作り方のほうがむしろ異常。
ただ初心者が依頼者の半数以上であるような宿題を解いてやるスレでは
そうとは限らないかも。
0755デフォルトの名無しさん
2012/03/27(火) 22:07:03.59kwsk
0757デフォルトの名無しさん
2012/03/28(水) 21:09:41.620758デフォルトの名無しさん
2012/03/28(水) 21:15:04.110759デフォルトの名無しさん
2012/03/28(水) 22:08:46.530760デフォルトの名無しさん
2012/03/28(水) 22:12:42.460761デフォルトの名無しさん
2012/03/28(水) 22:16:25.640763デフォルトの名無しさん
2012/03/28(水) 22:30:45.02NGに引っかかって、読めない
0764デフォルトの名無しさん
2012/03/28(水) 22:35:42.130765営利利用に関するLR審議中@詳細は自治スレへ
2012/03/29(木) 00:21:49.500766営利利用に関するLR審議中@詳細は自治スレへ
2012/03/29(木) 15:57:38.480767営利利用に関するLR審議中@詳細は自治スレへ
2012/03/30(金) 18:56:29.68(11)の部分が1M近くなったけど
まぁ解けたと思う
けど、こういう意地悪な問題解けて提出しても
多分怒られると思うので貼らない。
0768営利利用に関するLR審議中@詳細は自治スレへ
2012/03/30(金) 20:48:35.88(3)を解出来てるなら、知りたい。
0769営利利用に関するLR審議中@詳細は自治スレへ
2012/03/31(土) 10:56:07.58マクロって線を考えたんだが書く場所が無いんだよな
(2) に書くことって可能だっけ?
まぁ可能だとしても俺にそんなコードは書けないけどw
0770営利利用に関するLR審議中@詳細は自治スレへ
2012/03/31(土) 22:56:30.872番目: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
0771営利利用に関するLR審議中@詳細は自治スレへ
2012/04/01(日) 06:04:05.78二行目、三行目の範囲下限が何故2なのかわからない。8,12ではないのか?
0772営利利用に関するLR審議中@詳細は自治スレへ
2012/04/01(日) 11:14:57.96そんな手があったか
0773営利利用に関するLR審議中@詳細は自治スレへ
2012/04/01(日) 16:51:34.30祝日も表記されるようにな。
0774営利利用に関するLR審議中@詳細は自治スレへ
2012/04/01(日) 17:11:21.31春分の日は神様でないと分からない
春分・秋分はどうするの?
0776営利利用に関するLR審議中@詳細は自治スレへ
2012/04/01(日) 17:16:42.96それで未来の春分がわかるとでも
0778営利利用に関するLR審議中@詳細は自治スレへ
2012/04/01(日) 17:25:33.98そこまで言うならお前が書けよカス
あほか
できん問題を出すなと
0780営利利用に関するLR審議中@詳細は自治スレへ
2012/04/01(日) 17:49:33.09じゃあ文句つけんな馬鹿
0781営利利用に関するLR審議中@詳細は自治スレへ
2012/04/01(日) 17:52:56.450782営利利用に関するLR審議中@詳細は自治スレへ
2012/04/01(日) 17:57:01.36Cではないが、
http://nojiriko.asia/prolog/c146_371_3.html
の真ん中より下の方に春分の日の定義がある。
0783営利利用に関するLR審議中@詳細は自治スレへ
2012/04/01(日) 19:07:37.690784営利利用に関するLR審議中@詳細は自治スレへ
2012/04/01(日) 19:48:34.90正式には前年に出された官報によるということでしょう。
宇宙が急に揺らぐかも知れないから、いつからいつまでの
範囲ではこの計算式とは確定できないが、ここしばらくは
概ねこの計算式で出されるに相違ないという式はある。
0785デフォルトの名無しさん
2012/04/03(火) 14:48:15.97変なスレがあったからどうしちまったんだと思ったけど、
昔からのは存続してたんだな。
知識を無駄に放出してこそ宿題スレだよな
モリタポスレは、ぼるじょあスレの代わりということで
0787営利利用に関するLR審議中@詳細は自治スレへ
2012/04/03(火) 20:26:08.820788営利利用に関するLR審議中@詳細は自治スレへ
2012/04/03(火) 21:43:48.790789営利利用に関するLR審議中@詳細は自治スレへ
2012/04/04(水) 18:01:16.69http://uni.2ch.net/test/read.cgi/newsplus/1333469089/
0790営利利用に関するLR審議中@詳細は自治スレへ
2012/04/06(金) 17:22:36.86[2] 問題文(含コード&リンク):http://pastebin.com/B7EcsTNp
[3] 環境
[3.1] OS: ubuntu
[3.2] コンパイラ名とバージョン: gcc
[3.3] 言語: C
[4] 期限: 本日中
[5] その他の制限: 構造体を用いてLIFOのスタックを実現するという問題です。
34,44,45行目の(1)〜(3)に適するコードを教えて下さい。
よろしくおねがいします。
0791営利利用に関するLR審議中@詳細は自治スレへ
2012/04/06(金) 17:46:52.61if (stack->pointer > stack->data){
return *(--stack->pointer);
0792790
2012/04/06(金) 22:17:45.51回答ありがとうございます
質問なんですがstack->dataの使い道は25行目の先頭アドレスをpointerに格納するだけなんでしょうか?
pointerとdataの関係というかpushした値は実際にはどの部分に格納されてるのでしょうか?
0793営利利用に関するLR審議中@詳細は自治スレへ
2012/04/06(金) 23:40:32.68pointerを経由してdataに格納されるよ
0794営利利用に関するLR審議中@詳細は自治スレへ
2012/04/07(土) 16:28:40.11ありがとうございます、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)は一応入れてはいますが出力結果がうまく行かずもしかしたら違う番号のとこがミスっているかもしれません。
0795営利利用に関するLR審議中@詳細は自治スレへ
2012/04/07(土) 16:58:55.91obj->right = appendRightEnd(obj->right, right);
0796営利利用に関するLR審議中@詳細は自治スレへ
2012/04/07(土) 17:13:07.08iobj->right = newNode(n);
iobj->right = obj->right;
pobj->right = deleteThisNode(pobj->right);
pobj = pobj->left;
0797営利利用に関するLR審議中@詳細は自治スレへ
2012/04/07(土) 17:18:09.41再帰版
http://ideone.com/1eCN6
ループ版
http://ideone.com/SI0Ao
0798営利利用に関するLR審議中@詳細は自治スレへ
2012/04/07(土) 17:45:44.34うまく表示されました!
本当にありがとうございました
0801デフォルトの名無しさん
2012/04/16(月) 07:06:36.100802デフォルトの名無しさん
2012/04/16(月) 07:09:45.400803デフォルトの名無しさん
2012/04/16(月) 15:49:45.13銀行の基幹とか航空管制とか原子炉制御とか書けば隠者ね?
0804デフォルトの名無しさん
2012/04/16(月) 15:52:24.410805デフォルトの名無しさん
2012/04/16(月) 15:59:23.500806デフォルトの名無しさん
2012/04/16(月) 16:23:53.240807デフォルトの名無しさん
2012/04/16(月) 21:01:00.70プログラム終了まで解放されず結局
メモリーリークと変わらんけどな
信頼性の要る現場じゃどのみち解放処理に気を払う必要がある
0808デフォルトの名無しさん
2012/04/16(月) 21:20:03.390809デフォルトの名無しさん
2012/04/17(火) 02:43:03.35ストップザワールドが問題になりにくいんじゃね?
Erlangを電話交換網に適用した事例があるように、
ソフトリアルタイムシステムは十分に実現できるはず
本当にまずいのは、車のブレーキシステムとかじゃないのかなあ
0810デフォルトの名無しさん
2012/04/17(火) 21:35:25.66走行安全制御やってるけど、設計とかテストとかガチガチだよ
0811デフォルトの名無しさん
2012/04/17(火) 22:01:29.42言語はやっぱりC?
0812デフォルトの名無しさん
2012/04/17(火) 22:02:24.57embedded C++ って何ができて何ができないの?
0814デフォルトの名無しさん
2012/04/17(火) 22:45:30.210815デフォルトの名無しさん
2012/04/17(火) 23:18:36.010816デフォルトの名無しさん
2012/04/17(火) 23:25:17.34・
0817デフォルトの名無しさん
2012/04/18(水) 00:56:38.92うん
0818デフォルトの名無しさん
2012/04/18(水) 02:30:08.94という式が与えられていてiは1〜10のfor文、pはscanfで入力する値なのですが。
Xの値をコンパイルしたいのですが方法が分からず困っています。
C言語でコンパイラはgccです。
教えていただけませんか?
0819デフォルトの名無しさん
2012/04/18(水) 02:40:50.82何がやりたいのかさっぱり伝わらない
コンパイル時に定数として与えたいというなら、#defineを使う
例
#define X 100
0820デフォルトの名無しさん
2012/04/18(水) 12:26:43.94Xは共通と考えてみたら撃沈したがな。
コンパイルじゃわからんぞ。
0821デフォルトの名無しさん
2012/04/18(水) 12:33:30.40iは1〜10のfor文、pはscanfで入力する値なのですが。
それからXの値をコンパイルしたいのです。
0822片山博文MZボット ◆0lBZNi.Q7evd
2012/04/18(水) 12:52:44.39int 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;
}
0823デフォルトの名無しさん
2012/04/18(水) 12:52:55.97>>818はバグです
0824デフォルトの名無しさん
2012/04/18(水) 13:53:58.52おお、素晴らしい。
力づくでも良かったのか。
>>220
「コンパイル」と言う言葉を使わずに説明しろ。
後処理結果も提示しろ。
お前は料理屋に行ってメニュー出されたにも関わらずうまいものを出せと喚き、お勧めを店員が提示してもうまいものを出せと喚き続ける客だ。
0825デフォルトの名無しさん
2012/04/18(水) 14:00:19.03#define compile(X)
または
void X_wo_compile(void){}
0826デフォルトの名無しさん
2012/04/18(水) 15:16:17.91「うまいもの(当店オリジナル玉子焼き) 時価」 というメニューを用意すればいい
0827デフォルトの名無しさん
2012/04/18(水) 19:09:27.95>>825-826
クソワロタwww
和んだわ。
一瞬でもcompile関数の意味を聞こうとしてしまった。
バカだ。恥ずかしい。
0828! ◆jPpg5.obl6
2012/04/19(木) 00:32:03.99int 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;
}
0829デフォルトの名無しさん
2012/04/19(木) 00:43:55.23は
%02d
にした方が良い
ついでに
for(i=1;i<=10;i++){
の下で 空白1つを出力しとけ
0830デフォルトの名無しさん
2012/04/19(木) 10:10:19.15オーバーフローとアンダーフローを検出するロジックを教えてください
例えばこのような演算はアンダーフローになります
short a,b,c;
a = -32768, b = 100;
c = a - b; //アンダーフロー
以下のような関数を使って事前に判定したいのです。
(Cの機能を使わずに関数で判断したい)
この関数の中身を教えてください。
//引き算のオーバーフローとアンダーフローを検出する関数
int chk_sub_overf_underf(short a, shortb);
戻り値が0なら正常、1ならオーバーフロー、-1ならアンダーフロー
0831デフォルトの名無しさん
2012/04/19(木) 10:24:27.280832830
2012/04/19(木) 10:42:44.67サイズの大きい変数は使わないという前提でお願いします。
0833デフォルトの名無しさん
2012/04/19(木) 10:46:07.97a>0 && b<0 のとき a-b<=0 なら オーバーフロー
a<0 && b>0 のとき a-b>=0 なら アンダーフロー
それ以外は正常
0834830
2012/04/19(木) 10:57:31.57ありがとう
そんなに簡潔にわかるんですね
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だけど。
暇だったから作った。
携帯からだしテストもしてないから間違っててもしらん!
0836デフォルトの名無しさん
2012/04/19(木) 18:02:38.53「それ以外は正常」って
aが無茶苦茶大きいとき、あるいは負方向に無茶苦茶小さい
とき(絶対値が無茶苦茶に大きいとき)、大丈夫かねえ。
0837デフォルトの名無しさん
2012/04/19(木) 18:21:46.76a<0 && b>0 のとき a-b>=0 なら アンダーフロー
それ以外は正常
これでおっけー
0838デフォルトの名無しさん
2012/04/19(木) 19:03:36.080839デフォルトの名無しさん
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/
0840デフォルトの名無しさん
2012/04/20(金) 01:38:13.55この一文はなくした方がいいと思うぞよ
白々しさを感じてリンクをふむのを戸惑ってしまう
0841デフォルトの名無しさん
2012/04/20(金) 01:58:13.76電車に乗ってるときに、知らない人からいきなり完全な正論を吐かれたとしてもいやな気分にしかならない
0842デフォルトの名無しさん
2012/04/20(金) 02:46:11.20右翼の街宣カーと一緒だな
0843デフォルトの名無しさん
2012/04/20(金) 02:47:43.711-2 ってオーバーフローなの?
0844デフォルトの名無しさん
2012/04/20(金) 02:50:47.70こいつはテレビを見るたびにイラっとしてんだな・・・
0845デフォルトの名無しさん
2012/04/20(金) 02:51:21.50せめて安価つけろ
0846デフォルトの名無しさん
2012/04/20(金) 04:04:26.880847デフォルトの名無しさん
2012/04/20(金) 06:11:55.51凄い馬鹿がいるw
0848デフォルトの名無しさん
2012/04/20(金) 07:32:33.37両方正の数あるいは式になって無いもしくは強引に解釈しても加算処理施している件について。
引き算でデータがぶっ飛ぶ恐れがあるのは…
足し算で考えると
正+正 負+負
この2パターン。だから、
正-負(+正と同義)
負-正(+負と同義)
が引き算においてデータがぶっ飛ぶ恐れがある。…合ってますか?
>a>=0 && b<0 のとき a-b<=0 なら オーバーフロー
a=正 b=負
正-負(+正と同義) 正の加算処理してなんで負の数になるの。
>a<0 && b>0 のとき a-b>=0 なら アンダーフロー
a=負 b=正
負-正(+負と同義) 負の加算処理してなんで正の数になるの。
0849デフォルトの名無しさん
2012/04/20(金) 12:15:25.98弱いものいじめはやめろ!
0850デフォルトの名無しさん
2012/04/20(金) 18:55:07.28符号ビットが反転するから
でも、これを期待したコードって書いてよかったのかどうかが怪しい。
前にも同じ話が出たと思うけど、結論忘れた。
>>847 >>849
>>837の記述にはミスがあるけど、そこは別にいいか。
0851デフォルトの名無しさん
2012/04/20(金) 18:57:07.01ミスkwsk
0852850
2012/04/20(金) 18:57:37.890853850
2012/04/20(金) 18:58:14.020854デフォルトの名無しさん
2012/04/20(金) 21:31:17.01補足ありがとう。
でも教えているだけだよ…
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)
だねぇ。
とりあえず適当に数ぶち込んだ限りではちゃんとなってるけど。
0855デフォルトの名無しさん
2012/04/21(土) 04:02:09.99>サイズの大きい変数は使わないという前提でお願いします。
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;
}
0856デフォルトの名無しさん
2012/04/21(土) 11:06:54.06[2] 問題文
�@C プログラムでx; y のそれぞれについて適当な関数を定義し(x; y) 座標の点を500 組生成する
[3] 環境
[3.1] OS:mac
[3.2] コンパイラ名とバージョン: ターミナル
[3.3] 言語: どちらでも可
[4] 期限: 4月25日13時まで
[5] その他の制限: 特にありません
0857デフォルトの名無しさん
2012/04/21(土) 11:21:00.720858デフォルトの名無しさん
2012/04/21(土) 11:38:46.75なにか勘違いしてる
プログラミングうんぬんの前に
もっと別の教育が必要らしい
0859デフォルトの名無しさん
2012/04/21(土) 12:38:56.44> x; y のそれぞれについて適当な関数を定義し(x; y) 座標の点を500 組生成する
x^2+y^2=1 とすると、y^2=1-x^2 ; y=sqrt(1-x^2) ;
0860デフォルトの名無しさん
2012/04/21(土) 12:44:10.17わかってるやつなら質問スレに行くわ・・・
0861デフォルトの名無しさん
2012/04/21(土) 12:49:49.090862デフォルトの名無しさん
2012/04/21(土) 13:12:04.50マンデルブロ集合でも描けばいい
0863デフォルトの名無しさん
2012/04/21(土) 13:17:34.910864デフォルトの名無しさん
2012/04/21(土) 21:51:15.450865デフォルトの名無しさん
2012/04/21(土) 21:59:23.64まだ難易度が低いっていうのか
いや失敬
それならフレネル積分が登場する
クロソイド曲線とかはどうだ
プロットすればいいものが見られるぞ
0866デフォルトの名無しさん
2012/04/21(土) 22:26:04.05�@C プログラムでx; y のそれぞれについて適当な関数を定義し(x; y) 座標の点を500 組生成する
[3.3] 言語: どちらでも可
…矛盾してね?
�@C プログラムでx; y のそれぞれについて適当な関数を定義し(x; y) 座標の点を500 組生成する
いまいち意味分かって無いのは俺だけか?
y=x+30
とかテキトーに作ってforあたりで回せと?
文字通り何でもいいと言うなら
>>861>>863
ですぐできるが。
0867デフォルトの名無しさん
2012/04/22(日) 23:40:43.80皆さんの言うとおりこちらの勉強不足でした。
様々なご意見ありがとうございました。
0868デフォルトの名無しさん
2012/04/23(月) 09:37:40.32#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とした場合のプログラムを教えてください
0869デフォルトの名無しさん
2012/04/23(月) 10:47:05.45ここは宿題をやるところ
0870デフォルトの名無しさん
2012/04/23(月) 10:51:32.70テンプレ読め
0871デフォルトの名無しさん
2012/04/23(月) 11:24:18.51入力させるごとに残り回数を減らせ。
ループの下に外れまくった時の処理を書きなさい。
0872デフォルトの名無しさん
2012/04/23(月) 11:27:20.14テンプレも読まないバカに答えんなよks
お前も消えろ
0873デフォルトの名無しさん
2012/04/23(月) 12:34:21.68テンプレ通りに質問する必要も回答する必要も本来は無いハズなんだよ。
…あまりにもどうしようもないバカが多すぎるだけで。
処理結果…は無いけどはっきり何したいか言ってくるだけましだろ…
これで解りませんソース全文くださいって言ったりバックレたりしたらふざけんなテンプレぐらい読めよって言うけどな。
0874デフォルトの名無しさん
2012/04/23(月) 12:38:40.42http://toro.2ch.net/test/read.cgi/tech/1313183984/196
0875デフォルトの名無しさん
2012/04/23(月) 13:11:36.22#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);
}
0876デフォルトの名無しさん
2012/04/23(月) 16:31:42.96http://riceballman.fc2web.com/AA-Illust/Data/Arasoi.html
0877デフォルトの名無しさん
2012/04/23(月) 23:25:01.07kai と nokori って同じ意味じゃね?
0878デフォルトの名無しさん
2012/04/24(火) 01:57:20.51http://ideone.com/vBcII
PC使えたから出来るだけ原形とどめて書いてみたよ。
一回聞いてみて「ハズレ なら もう一回」聞くのを、
「ハズレ&残り回数がある なら もう一回」聞くようにしてみた。
ところがこれだとnokoriの初期値が0以下でも聞いてきてしまうことに注意。
>>874との違いはnokoriが0以下でも答えを教えてくれること。
>>877
kaiはdefine定数だね。
回答可能回数の略だろう。
0879デフォルトの名無しさん
2012/04/24(火) 02:01:32.53http://ideone.com/HOfXP
ごめんよやらかした。
前置型の名残が残ってた。
878でも問題ないとは思うけど。
0880デフォルトの名無しさん
2012/04/24(火) 02:21:20.29http://ideone.com/xC2xe
とりあえず…何もないと困るだろうから関数とループの勉強とみなして
x=i;(※iはすでに作った組の生成数)
y=500-x;
って事にしておいた。
後は適当に数式の部分だけ書き換えれば良いと思うけど。
27行目がx=…
36行目がy=…
に対応しているからそこだけ書き換えれば良いんじゃないかな。
何組目か表示しろ!って言われたら14行目を消して15行目のコメントを解除。
コメント何か入れんな!だったら15行目を削除。
これ以上は処理結果や数式提示してくれないとちょっときつい。
0881デフォルトの名無しさん
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] 無期限
0882デフォルトの名無しさん
2012/04/24(火) 15:41:50.80ターミナルっていう名前のコンパイラなの?
0883デフォルトの名無しさん
2012/04/24(火) 15:56:39.71黙ってろ、つまんねーんだよ
0884デフォルトの名無しさん
2012/04/24(火) 16:10:11.24Cでやるの
コンパイラを通す言語だから
しょーがないて言えばそれで終わりだけど
evalを自作すれば一番応用が利くかも
つーかそれ以前に
小町算 とかでggてみたのか?
0885デフォルトの名無しさん
2012/04/24(火) 16:13:14.94int 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;
}
0886デフォルトの名無しさん
2012/04/24(火) 16:20:59.190887デフォルトの名無しさん
2012/04/24(火) 16:24:00.39こっ、小町ちゃ〜〜ん
0888デフォルトの名無しさん
2012/04/24(火) 17:38:49.42解答ありがとうございます。
参考にしながら作ってみます。
0889デフォルトの名無しさん
2012/04/24(火) 19:35:51.08ありがとうございます!C言語の試験は学内最難関で200人は
落ちてしまうんです。
でもその試験に合格すれば合格者は1人ずつ名前を覚えて
研究生の候補生として先生が認識してくれるんです。
ですから頑張りたいと思っています。
0890デフォルトの名無しさん
2012/04/24(火) 19:46:00.72いったいどういう学校だよ……
まさか大学の工学部とかじゃねーよなw
ははは
0891デフォルトの名無しさん
2012/04/24(火) 19:49:28.87自力じゃないんだから、結局後々苦労するんじゃないの?
問題が出題される度にここで訊いてたら、いつまで経ってもスキルは上がらない。
0892デフォルトの名無しさん
2012/04/24(火) 20:19:09.52どうなんでしょうか。
柴田茫洋とかはやっていますし、私も決して勉強を怠っている訳ではないんですが
この先生の問題はどれも捻った問題だらけで私にはさっぱり解き方が分からないん
です。絶対にどの参考書からも外した問題を出してきます。
0893デフォルトの名無しさん
2012/04/24(火) 20:21:24.950894デフォルトの名無しさん
2012/04/24(火) 20:31:56.270895デフォルトの名無しさん
2012/04/24(火) 20:36:33.64[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] その他の制限: 特になし
0896デフォルトの名無しさん
2012/04/24(火) 20:38:01.28[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] その他の制限: 特になし
計二問ですよろしくお願いします。
0897デフォルトの名無しさん
2012/04/24(火) 20:39:40.330898デフォルトの名無しさん
2012/04/24(火) 20:39:59.29>>881も望洋読んでりゃ解ける基本的な問題やで
0899デフォルトの名無しさん
2012/04/24(火) 20:41:17.31スレも荒れなかったし普通に質問も出来ましたね。
言い訳みたいなのも一応ありますが書きません、さらに荒れそうですから。
結局、私はアホですしどの参考書にも当てはまらない問題が出て来てしまえば
また質問に来てしまうでしょう。ごめんなさい。
0900デフォルトの名無しさん
2012/04/24(火) 20:41:28.08ちょっぴり石黒賢っぽいイケメソだけど、どうよ?
0901デフォルトの名無しさん
2012/04/24(火) 20:54:40.920902デフォルトの名無しさん
2012/04/24(火) 21:04:29.56そのまま答えるのは>>896自身にとって良くないことなのでヒントだけ。
>>895
平均を求める計算式は?
その計算に必要な値はどうやったら用意できる?
>>896
倍数の定義を日本語にすると?
0903デフォルトの名無しさん
2012/04/24(火) 21:06:47.29int 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;
}
0904デフォルトの名無しさん
2012/04/24(火) 21:24:07.560905デフォルトの名無しさん
2012/04/24(火) 21:44:29.630906デフォルトの名無しさん
2012/04/24(火) 22:12:20.22割り算と小数点のクソコンボで判定できなくなる未来が見える
胸熱
0907デフォルトの名無しさん
2012/04/24(火) 22:13:31.900908デフォルトの名無しさん
2012/04/24(火) 22:16:10.06123+4...
とかだったらホンモノすぎるだろww
めんどくせーよw
Cでやんのは
0910デフォルトの名無しさん
2012/04/24(火) 22:41:44.630911デフォルトの名無しさん
2012/04/24(火) 22:45:22.130912デフォルトの名無しさん
2012/04/24(火) 22:49:47.46ソースを晒せ
0913デフォルトの名無しさん
2012/04/24(火) 22:50:37.150914デフォルトの名無しさん
2012/04/24(火) 22:52:25.74|:;:;:;:;:;:;:;:;:;:;:;:;:;:i;:;:;:;:;:;:;:;:;:;:;:;:;|
|;:;:_:;:_:;:_:;:_;:;_:;:l:;_;:_:;:_:;:_:;:_;:_;|
|______|_____|
| 三| _ _ |三 !
| 三| 三シ ヾ三 |三 |
| 三′ .._ _,,.. i三 |
ト、ニ| <でiンヽ ;'i"ィでiン |三.| ソースも貼らずにレス立てとな!?
', iヽ! 、 ‐' / !、 ーシ |シ,イ
i,ヽリ ,' : !. |f ノ
ヾ! i ,、 ,..、ヽ lノ
| _ _ イ l
l ,ィチ‐-‐ヽ i /、
゙i、 ゝ、二フ′ ノ/'"\
| \ ー一 / / _,ン'゙\
,ィ|、 \ /_,、-'" _,.-''´ `丶、__
_, イ | ヽ_ 二=''" _,. -''´ """""´´ ``ー
0915デフォルトの名無しさん
2012/04/24(火) 23:02:10.940916デフォルトの名無しさん
2012/04/24(火) 23:09:08.56賤民が神コードを書いても届かない名家なんだぞ。
0917デフォルトの名無しさん
2012/04/24(火) 23:13:00.620918デフォルトの名無しさん
2012/04/24(火) 23:34:09.20answer=N*(N+1.0)/2.0;
0919デフォルトの名無しさん
2012/04/25(水) 00:00:01.38言いたいことは分かるが、求めるべきは平均だ
0920895
2012/04/25(水) 00:16:33.13エロい人
0921デフォルトの名無しさん
2012/04/25(水) 00:17:20.51(1+N)/2.0
0922デフォルトの名無しさん
2012/04/25(水) 00:17:22.100923デフォルトの名無しさん
2012/04/25(水) 00:27:15.450924デフォルトの名無しさん
2012/04/25(水) 00:29:20.290925デフォルトの名無しさん
2012/04/25(水) 00:29:41.44小町算でググる
見つかった答え10個を printf で書き出すようにする
0926デフォルトの名無しさん
2012/04/25(水) 00:31:27.84なんだよ、それw 1〜100までの素数をコピペするみたいなw
0927デフォルトの名無しさん
2012/04/25(水) 00:41:26.580928デフォルトの名無しさん
2012/04/25(水) 01:14:12.95プログラミング初心者ですが頑張って書いてみました。
間違っていたらごめんなさい。
#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;
}
0929デフォルトの名無しさん
2012/04/25(水) 01:53:54.91[1] 授業単元: C言語
[2] 問題文(含コード&リンク):
ひとつの英文をキーボードから入力し、その単語数と文字数を出力
するプログラムを作成せよ。
[3] 環境
[3.1] OS: MacOSXLion
[3.2] コンパイラ名とバージョン: gcc
[3.3] 言語: C
[4] 期限: 無期限
0930デフォルトの名無しさん
2012/04/25(水) 01:56:55.920931デフォルトの名無しさん
2012/04/25(水) 02:07:18.58http://ideone.com/bWtTh
0932デフォルトの名無しさん
2012/04/25(水) 02:14:57.10ありがとうございます、助かりました
0933デフォルトの名無しさん
2012/04/25(水) 03:08:17.300934デフォルトの名無しさん
2012/04/25(水) 03:19:11.74数字の間に演算子が入らない場合を認めるのかどうかも不明だし
0935デフォルトの名無しさん
2012/04/25(水) 03:24:59.62http://ideone.com/55maI
0936デフォルトの名無しさん
2012/04/25(水) 03:33:59.250937デフォルトの名無しさん
2012/04/25(水) 03:55:20.09そうだと指摘する自分の意見を正当なものとするためにも。出来なければ単なる野次。
国会中継を見てご覧。野党は野次馬党と化している。かつて与党だった自民でさえ
野党時代の民主と変わらん。しかも審議拒否w
0938デフォルトの名無しさん
2012/04/25(水) 04:07:18.32谷垣でしょ?
ナベツネと同レベル、震災時、挙国一致内閣を立ち上げあけなければならない重要な時期に党利党略優先で菅叩きに猛進した馬鹿野郎でしょ?
菅は馬鹿だがあの時期に叩く理由が理解不能。期待するのが無駄。さっさと首にして神経がまともな党首にすげかえるべきでしょうね。
それにしても、かつての優秀な自由民主党はどこにいったのでしょうね。
せめて全国に放射能を拡散させる「燃やして応援」は勘弁ね。
0940デフォルトの名無しさん
2012/04/25(水) 04:11:58.85#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;
}
ねむい 寝る
0941デフォルトの名無しさん
2012/04/25(水) 04:23:20.60そうじゃないなら如何に頭悪いレスかを理解すべきだし
0942デフォルトの名無しさん
2012/04/25(水) 04:40:13.89配列に記号突っ込むだけなのに除算や余算使いまくりなのも酷い
0943デフォルトの名無しさん
2012/04/25(水) 07:49:16.97先頭から順にではなく、演算子の優先順位も守ってのことか。面倒だからやーでおじゃる〜
それより、小町ちゃ〜〜ん
0944デフォルトの名無しさん
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加算行う。
ループ終了
…で良いと思うんだが今から作ると俺の時間が無いので誰か頼む…
0945デフォルトの名無しさん
2012/04/25(水) 11:39:59.81int 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;}
0946デフォルトの名無しさん
2012/04/25(水) 11:42:20.34>>881
…携帯からだからテストもしてないんだ…ごめんよ。
自宅帰っても回答無いなら挑んでみるわ。
0947デフォルトの名無しさん
2012/04/25(水) 12:09:18.07全然美しくない
アホが自己満足で作って自分も他人も苦しませるために存在してるようなコードだ
0948デフォルトの名無しさん
2012/04/25(水) 12:11:05.750949デフォルトの名無しさん
2012/04/25(水) 12:17:10.28「あなたはバカなのでそれに合わせてコードの質を下げました、
この豚のエサで満足してください」
と書いた方がいい
0950デフォルトの名無しさん
2012/04/25(水) 12:17:14.200951デフォルトの名無しさん
2012/04/25(水) 12:34:38.500952デフォルトの名無しさん
2012/04/25(水) 12:51:04.49ターミナル上でもコンパイルできるのは
変わりないわなwww
プw
0953デフォルトの名無しさん
2012/04/25(水) 13:09:19.240954デフォルトの名無しさん
2012/04/25(水) 13:18:20.910955デフォルトの名無しさん
2012/04/25(水) 13:26:58.340956tako
2012/04/25(水) 15:26:05.60[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] その他の制限:特になし
0957デフォルトの名無しさん
2012/04/25(水) 15:38:30.61{
int i = 0;
char a[65], *b;
b = "INFOMATION";
while(a[i++] = *b++);
printf("%s\n", a);
return 0;
}
0958デフォルトの名無しさん
2012/04/25(水) 15:55:50.14char a[64],*b;
b="INFORMATION";
while(memcpy(a,b,64));
printf("%s\n",a);
return 0;
}
0959デフォルトの名無しさん
2012/04/25(水) 16:00:01.22[2] 問題文 配列vxの各要素に整数をscanf関数で入力し、5の倍数のみを新たな配列に格納し、これを出力するプログラムを作成せよ。
[3] 環境
[3.1] OS: Windows vista
[3.2] コンパイラ名とバージョン: VisualStudio2010
[3.3] 言語: C言語 (C++)
[4] 期限: 4/26
[5] その他の制限:初歩的なものしか使えません。
よろしくお願いします。
0960デフォルトの名無しさん
2012/04/25(水) 16:14:42.03int 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;
}
0961デフォルトの名無しさん
2012/04/25(水) 17:52:17.43http://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先生が使えないんだよ。
ついでにバグ取りしてくれりゃよかったものを…
0962デフォルトの名無しさん
2012/04/25(水) 18:21:17.45>>910あたりはイイ線ついてんだよwww
+−だけならクソキャリーとか考えなくていいだろww
ついでに計算順も考えなくていいw
ま、10個見つかるかどうかは知らんけど
ラクしよう手抜こう早く仕上げよう てな
一番大切な精神をもってる
コーディングじゃあないんだ、
そのウラの考え方が美しくないって言ってんだろww
0963デフォルトの名無しさん
2012/04/25(水) 18:43:24.51どんだけバカなら気が済むんだw
0964デフォルトの名無しさん
2012/04/25(水) 19:41:59.29http://ideone.com/rvxI1
宣言通りちゃんと作ったどー。
空白対応小町っちゃんパワーうpバージョン。
空白対処もやってることは>>961と一緒。
0965デフォルトの名無しさん
2012/04/25(水) 20:07:15.23#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;
}
0966デフォルトの名無しさん
2012/04/25(水) 20:08:30.69ありがとうございます!!
0967デフォルトの名無しさん
2012/04/25(水) 21:12:49.09しつこいようだがソース全文提出orそれに近いものが条件でない場合アルゴリズムの学習をすること。
「自分で作ってきたよね?じゃあそれに除算機能も追加できるよね^^?」
こんなこと言いだす先生が相手の場合ソース丸暗記だけじゃ歯が立たないよ。
出題形式が先生自作プログラムの穴埋めの場合もまた然り。
試験落ち過ぎだろ…もちろん881の方の事じゃ無い!
脳内思考そのままコードにしている奴が言うセリフじゃないんでしょうけど。
965を参考に勉強するから良いんです。
半分以下だと流石に悔しい…。
0968デフォルトの名無しさん
2012/04/25(水) 21:17:08.67とりあえず落ち着け。日本語が分からん。
0969デフォルトの名無しさん
2012/04/25(水) 21:23:07.60全部入れ終わってから計算を始めると、同じ計算を何度もすることになるから遅くなる
0970デフォルトの名無しさん
2012/04/26(木) 03:22:49.18言いたいことは分かる。
分かるけど、脳内思考そのままコードにするのはそれでよくて、重要なのは脳内思考を変化させること。
0971デフォルトの名無しさん
2012/04/26(木) 07:43:51.630972デフォルトの名無しさん
2012/04/26(木) 10:06:16.430973デフォルトの名無しさん
2012/04/26(木) 17:47:00.100974デフォルトの名無しさん
2012/04/26(木) 18:02:53.290975デフォルトの名無しさん
2012/04/26(木) 18:20:43.96お前が理解できるように説明なんかしてくれないよw
0976 ◆jPpg5.obl6
2012/04/26(木) 18:35:54.73[2] 問題文:2値化処理を行って画像明るい(暗い)領域を抽出することを考える。
微分ヒストグラム法を用いて2値化閾値選択を行い、画像を2値化するプログラムを作成し、
その画像に適用した2値化画像とヒストグラムを出力するようにせよ。
[3] 環境
[3.1] OS: linux
[3.2] コンパイラ名とバージョン:gcc
[3.3] 言語: C言語
[4] 期限: 5/1
宜しくお願いします。
0977 ◆jPpg5.obl6
2012/04/26(木) 18:38:12.64[2] 問題文:2値化処理を行って画像明るい(暗い)領域を抽出することを考える。
微分ヒストグラム法を用いて2値化閾値選択を行い、画像を2値化するプログラムを作成し、
その画像に適用した2値化画像とヒストグラムを出力するようにせよ。
[3] 環境
[3.1] OS: linux
[3.2] コンパイラ名とバージョン:gcc
[3.3] 言語: C言語
[4] 期限: 5/1
宜しくお願いします。
0978デフォルトの名無しさん
2012/04/26(木) 18:39:12.17[2] 問題文:2値化処理を行って画像明るい(暗い)領域を抽出することを考える。
微分ヒストグラム法を用いて2値化閾値選択を行い、画像を2値化するプログラムを作成し、
その画像に適用した2値化画像とヒストグラムを出力するようにせよ。
[3] 環境
[3.1] OS: linux
[3.2] コンパイラ名とバージョン:gcc
[3.3] 言語: C言語
[4] 期限: 5/1
宜しくお願いします。
0979デフォルトの名無しさん
2012/04/26(木) 18:41:15.790980デフォルトの名無しさん
2012/04/26(木) 18:46:55.19お前は何を言っているんだ?
0981デフォルトの名無しさん
2012/04/27(金) 13:21:47.47通訳すると、「教えてください」
0982デフォルトの名無しさん
2012/04/27(金) 13:42:26.67>お前が理解できるように説明なんかしてくれないよw
だから何を言っているのだと?分っているから別に教えてくれとは言ってないのだが・・・
0983デフォルトの名無しさん
2012/04/27(金) 14:18:28.930984デフォルトの名無しさん
2012/04/27(金) 14:21:03.670985デフォルトの名無しさん
2012/04/27(金) 15:19:30.910986デフォルトの名無しさん
2012/04/27(金) 15:25:19.45お前に通じる日本語は無いんだろうね。消えろ。
0987デフォルトの名無しさん
2012/04/27(金) 15:26:38.60>何を言ってるか理解できないからって
理解している人に対してレスしているから話がかみ合ってないだけ。
日本語でとか言う奴は、物事を適切に判断する能力を身につけ、妄想する癖を直せ。
0988デフォルトの名無しさん
2012/04/27(金) 16:51:24.320989デフォルトの名無しさん
2012/04/27(金) 17:53:53.380990デフォルトの名無しさん
2012/04/27(金) 17:56:34.580991デフォルトの名無しさん
2012/04/27(金) 18:08:15.550992デフォルトの名無しさん
2012/04/27(金) 18:12:24.19http://toro.2ch.net/test/read.cgi/tech/1335517816/
0993デフォルトの名無しさん
2012/04/27(金) 18:14:11.16いい加減うざいわ。過去に何度もこのスレで答えたのに、自分が解いたからって得意気になっているのはお前だろ・・・
0994デフォルトの名無しさん
2012/04/27(金) 18:26:06.080995デフォルトの名無しさん
2012/04/27(金) 18:39:10.720996デフォルトの名無しさん
2012/04/27(金) 18:41:28.880997デフォルトの名無しさん
2012/04/27(金) 18:43:40.340998デフォルトの名無しさん
2012/04/27(金) 19:35:18.770999デフォルトの名無しさん
2012/04/27(金) 20:02:38.371000デフォルトの名無しさん
2012/04/27(金) 20:04:10.4010011001
Over 1000Threadもう書けないので、新しいスレッドを立ててくださいです。。。
レス数が1000を超えています。これ以上書き込みはできません。