11/11/29 19:31:21.61
【質問テンプレ】
[1] 授業単元:
[2] 問題文(含コード&リンク):
[3] 環境
[3.1] OS: (Windows/Linux/等々)
[3.2] コンパイラ名とバージョン: (gcc 3.4 VC 6.0等)
[3.3] 言語: (C/C++/どちらでも可 のいずれか)
[4] 期限: ([yyyy年mm月dd日hh:mmまで] または [無期限] のいずれか)
[5] その他の制限: (どこまで習っているか、標準ライブラリは使ってはいけない等々)
【アップローダー==ラウンジ】(質問が長い時はココ使うと便利 回答者もコードが長ければここに)
URLリンク(s2.etowns.slyip.net)
URLリンク(codepad.org) ←遅い時間は重い事があります
URLリンク(ideone.com)
URLリンク(pastebin.com) ←たまにテンポるので上の2つが混んでいる時以外はなるべく使わないで下さい
【C 関数検索 man on WWW】 URLリンク(www.linux.or.jp)
【過去ログ検索】 URLリンク(chomework.sakura.ne.jp)
【wiki】 URLリンク(www23.atwiki.jp)
前スレ
C/C++の宿題片付けます 153代目
スレリンク(tech板)
3:デフォルトの名無しさん
11/11/29 23:21:23.48
前スレ>>999
環境は何?
4:デフォルトの名無しさん
11/11/29 23:24:31.02
>>3
% gcc --version
gcc (GCC) 4.1.2 20080704 (Red Hat 4.1.2-50)
% uname -a
Linux (ホスト名) 2.6.18-238.12.1.el5 #1 SMP Tue May 31 13:22:04 EDT 2011 x86_64 x86_64 x86_64 GNU/Linux
% cat ack.c
#include <stdio.h>
int ack(int m, int n)
{
if (m == 0) return n+1;
if (n == 0) return ack(m-1, 1);
return ack(m-1, ack(m, n-1));
}
int main()
{
printf("%d\n", ack(4, 1));
return 0;
}
% gcc ack.c
% time ./a.out
65533
./a.out 24.65s user 0.79s system 106% cpu 23.969 total
5:デフォルトの名無しさん
11/11/29 23:26:31.69
スタックサイズも出すべきだった。単位はkbytes
% ulimit -s
10240
6:デフォルトの名無しさん
11/11/29 23:27:40.05
まず64ビットだよね
つぎにLinuxだからスタックが足りなくなると自動的に伸ばすよね
多分CPUはCore i7だろうから全部キャッシュに乗っちゃうのかな
どこかにack()の呼び出し回数をカウントするようにしてみて欲しい
ack()の呼び出し回数凄いから
7:デフォルトの名無しさん
11/11/29 23:29:28.17
これはキャッシュに乗るか乗らないかで全然スピードが違ってくるので時間の測定は
あまり意味がないな
むしろスタックサイズに全てかかっていそうだ
俺のはVC10の32bitでスタックサイズ1Mで例外で落ちる
8:デフォルトの名無しさん
11/11/29 23:39:33.31
VC10でもスタックサイズを10Mほどにしたら30秒で65533出てきた
9:デフォルトの名無しさん
11/11/29 23:42:08.17
>>4 の結果はcore i7
32bitマシンでやってみた。
%uname -a
Linux (ホスト名) 2.6.18-92.1.13.el5 #1 SMP Wed Sep 24 19:33:52 EDT 2008 i686 i686 i386 GNU/Linux
% more /proc/cpuinfo | grep "model name"
model name : Intel(R) Pentium(R) Dual CPU E2180 @ 2.00GHz
model name : Intel(R) Pentium(R) Dual CPU E2180 @ 2.00GHz
%time ./a.out
65533
2862984010
./a.out 31.00s user 0.01s system 99% cpu 31.304 total
>>8
なるほど、その間にあるのね。
10:デフォルトの名無しさん
11/11/29 23:43:27.69
書き忘れ。2862984010は呼び出し回数、、おおいねw
>>6
スタックが足りなくなると自動的に伸ばすの初めて知った。ありがとうー
11:デフォルトの名無しさん
11/11/29 23:44:04.87
結局32bitマシンでもスタックサイズを10Mに取ればほとんど結果が出るという事で
この問題はお開きか
何かつまんねえ
12:デフォルトの名無しさん
11/11/29 23:48:20.29
スタックサイズの問題を除外すれば、いくら待っても答えが出ないって状況には誰もならなかったか
13:デフォルトの名無しさん
11/11/29 23:52:06.58
(4,.1)じゃなくて(5,1)だったりしてな
14:デフォルトの名無しさん
11/11/29 23:57:24.38
さすがにそれはw
15:デフォルトの名無しさん
11/11/30 00:02:24.36
wikiのほー修正しといた。
16:1
11/11/30 00:05:32.11
一瞬わからなかった。
ありがとう。次は気をつけるー
17:デフォルトの名無しさん
11/11/30 00:05:54.72
前スレの未解決問題。(ほかにあったら転記してね)
979 :デフォルトの名無しさん:2011/11/29(火) 21:17:42.06
[1] 授業単元:コマンドライン引数
[2] 問題文(含コード&リンク):
コマンドライン引数を用いて,以下の計算ができる簡易電卓プログラムを作成せよ.
1. 2 ~5項式までの四則演算(計算順もちゃんと考慮すること)
(出力例)C :¥Programming>dentaku 2 + 5 / 5 + 4 * 2 + 1
答えは 12
C :¥Programming>dentaku 2 * 3 + 1
答えは 7
2.()を用いた演算(かっこの中の計算を最優先する)
(出力例)C :¥Programming>dentaku ( 2 + 3 ) * 7 * ( 3 - 1 )
答えは 70
3. (sin, cos, tan)の演算
(出力例)C :¥Programming>dentaku sin(90) * 2 + 1 - 2
答えは 1
4.logの演算
(出力例)C :¥Programming>dentaku log(3) * 2 + 1
答えは 1.9542425094
5. 半角スペースを入れ忘れても演算可能
(出力例)C :¥Programming>dentaku 1-2*(3+1)-2
答えは 9
[3] 環境
[3.1] OS:Windows7<br> [3.2] コンパイラ名とバージョン:Borland C++ Compiler 5.5<br> [3.3] 言語:C言語
[4] 期限:12/3まで
[5] その他の制限:
18:デフォルトの名無しさん
11/11/30 00:15:31.97
>>6
>まず64ビットだよね
これは今回のコードだとどう影響する?
とりあえず引数がレジスタ渡しになる反面フレームポインタとかが64bitだから
スタック使用量としては...
>つぎにLinuxだからスタックが足りなくなると自動的に伸ばすよね
そうだっけ?
19:デフォルトの名無しさん
11/11/30 00:36:04.46
Qの不快な論証を論破するにはここを読もう
URLリンク(ronri2.web.fc2.com)
URLリンク(ronri2.web.fc2.com)
まあ精神分析を知ってる人なら皆分かってる事だけどね
20:デフォルトの名無しさん
11/11/30 00:39:04.07
URLリンク(ronri2.web.fc2.com)
ここを読むとQの書き込みが非論理的である事が一目瞭然
こう書くとQは決まって「私の書き込みのどこが非論理的であるか具体例を上げて
示してください」と反論してくるが、相手にしてはならない
Qは自分に都合の悪い証拠を上げられても徹底的に無視を決め込むので、どんな
ハッキリした証拠を上げても全く無駄です
21:デフォルトの名無しさん
11/11/30 01:09:56.89
[1] 授業単元:アルゴリズム
[2] 問題文(含コード&リンク):標準入力から文字型のポイント配列*str[3]を使って"Hello",
"Goodbye","Thankyou"の3つの文字を入力し入力した順番に標準出力に出力する
[3] 環境
[3.1] OS: Windows
[3.2] コンパイラ名とバージョン: ggc3.4
[3.3] 言語: C言語
[4] 期限:6時まで
[5] その他の制限: ファイル出力まで習っています
それではお願いします
22:デフォルトの名無しさん
11/11/30 01:15:27.97
strdup()使っていいの?
23:デフォルトの名無しさん
11/11/30 01:18:20.33
使っていいのは、fgets,sscanf,printfのみです
24:デフォルトの名無しさん
11/11/30 02:10:55.38
>>23
malloc() も駄目?
25:デフォルトの名無しさん
11/11/30 02:19:01.44
いいよ
26:デフォルトの名無しさん
11/11/30 02:26:10.79
>>25
良かったの?malloc() を使わないのを書いたところなんだがw
URLリンク(codepad.org)
27:デフォルトの名無しさん
11/11/30 07:15:21.05
>>17
一番やさしい1. の場合でもマイナス値を扱うと、すこし難しくなるな。
23×-16 などの入力も認めるのかな?
28:デフォルトの名無しさん
11/11/30 08:26:58.10
[1] 授業単元: C言語
[2] 問題文(含コード&リンク):URLリンク(www.kent-web.com)
[3] 環境
[3.1] OS: Linux
[3.2] コンパイラ名とバージョン:gcc
[3.3] 言語: C
[4] 期限: 2011年12月1日
[5] 実装にはスタックを用いてください。
そのスタックはURLリンク(www.kent-web.com)です。
前スレで未解決だったのでもう一度質問させていただきました。
よろしくお願いします。
29:デフォルトの名無しさん
11/11/30 08:33:05.13
スレリンク(tech板:983番)
983 名前:デフォルトの名無しさん[sage] 投稿日:2011/11/29(火) 21:35:40.34
Qに一つ例題を出してやろう
アッカーマン関数のAck(4, 1)を出力してみろ
普通に再帰で組むといくら待っても答えが出ないどころかスタックオーバーフローになる
連想配列を使って初めて答えが出る
30:デフォルトの名無しさん
11/11/30 08:45:23.60
京都大学霊長類研究所では、未知の感染症が蔓延し、
感染した研究員はどのスレッドにも同じコピペを
繰り返すといった症状が報告されています。
研究員によると思われる書き込みがあっても
近づかないようにしてください。
京都大学
31:デフォルトの名無しさん
11/11/30 09:55:02.28
>>27
認めると思います
32: ◆QZaw55cn4c
11/11/30 12:21:54.83
>>19-20
おまいさんが QZ を好きなのはよくわかった。蓼食う虫も好き好きというから好みに文句をいうつもりはないが、頼むから、
Q と 略 さ ず に Q Z と 書 け
NGワードに登録できず迷惑だ
33: ◆QZaw55cn4c
11/11/30 12:23:22.09
>>29
スレリンク(tech板:988番)
URLリンク(ideone.com)
でだめなんか?
34:デフォルトの名無しさん
11/11/30 12:31:39.15
>>33
if (m == 0)
return n + 1;
if (m == 1)
return n + 2;
if (m == 2)
return 2 * n + 3;
だからこれやめいって前の人も書いてたろ
チョンボはあかんよ
あくまでも定義通りの関数だけで答えを出すんだ
本当に人の言う事に耳を貸せないやっちゃな
つーか上の方にも書いてあるけどVC10でもスタックを10MBほど取れば
30秒足らずで答えが出るって分かってるんだけど(Core i7)
お前さんのヘボCPUでは2分ほど掛かるかもしれんけどな
35:デフォルトの名無しさん
11/11/30 12:37:03.28
[1] C言語演習
[2] ① URLリンク(codepad.org) のプログラムを
スクロール方向を逆にし、さらに文字をキーボードから入力
できるように改良せよ。(全角のみでOK)
② URLリンク(codepad.org) のプログラムを、半角スペースが
2つ以上の場合は1つになるように改良せよ。
[3.1] Windows7
[3.3] C言語
[4] 12/1の20時まで
[5] ①は%sを使用。②は特に条件なし。
わかる方よろしくお願いします。
36:デフォルトの名無しさん
11/11/30 13:32:28.69
>>947
e^iθ = isinθ + cosθ は感動した
37:デフォルトの名無しさん
11/11/30 13:40:26.24
オイラーの公式か
他にも感動する公式が一杯あるぞ
38:デフォルトの名無しさん
11/11/30 13:44:59.02
iのi乗が実数になるというのも面白いな
39:デフォルトの名無しさん
11/11/30 13:54:21.11
>>35
>半角スペース
変換前? 変換後?
40:デフォルトの名無しさん
11/11/30 13:56:14.90
>>28
後置ならスタックは不要だと思うんだけどなぁ
そこが謎なので手を出しにくい
41:40
11/11/30 14:06:28.74
勘違いしてた、忘れてください
42:デフォルトの名無しさん
11/11/30 14:09:58.67
[1] 授業単元:楽しいC(ポインタと関数)
[2] 問題文(含コード&リンク):
秒数を与えると,それが何日何時間何分何秒にあた
るかを計算する関数
calctime(long sec, int *dp, int *hp, int *mp,
int *sp);
を作成せよ.例えば
calctime(100000, &d, &h, &m, &s);
として呼び出すとd=1, h=3,m=46,s=40 となる
(100,000 秒=1 日3 時間46 分40 秒).以下の実行例の
ように,関数の動作を確認できるmain 関数も作成すること.
(出力例)
秒数を入力してください:100000
100000 秒= 1 日3 時間46 分40 秒
秒数を入力してください:3725
3725 秒= 0 日1 時間2 分5 秒
[3] 環境
[3.1] OS:linux
[3.2] コンパイラ名とバージョン:gcc [
3.3] 言語:C言語
[4] 期限:12/2まで
[5] その他の制限:
43:デフォルトの名無しさん
11/11/30 14:24:57.03
>>42
前スレで同じのみたな
44:デフォルトの名無しさん
11/11/30 14:51:08.77
#include <stdio.h>
#include <stdlib.h>
int calctime(long sec, int *dp, int *hp, int *mp, int *sp)
{
*dp = *hp = *mp = *sp = 0; if(sec < 0) return 0;
*dp = sec / (60 * 60 * 24); sec %= 60 * 60 * 24;
*hp = sec / (60 * 60); sec %= 60 * 60;
*mp = sec / 60; *sp = sec % 60;
return 1;
}
int main(int ac, char **av)
{
char buf[4096];
long sec;
int d, h, m, s;
while(1){
printf("sec = "); fgets(buf, sizeof(buf), stdin); if(buf[0] == '\n') break;
sscanf(buf, "%ld", &sec);
if(!calctime(sec, &d, &h, &m, &s)) fprintf(stderr, "error %ld\n", sec);
else printf("%ld sec = %d days %d hours %d minutes %d seconds\n", sec, d, h, m, s);
}
return 0;
}
45:デフォルトの名無しさん
11/11/30 15:37:02.24
>>28
あんまりちゃんと動作の確認をしていない、テストは任せるので問題があればレスしてくれ
URLリンク(codepad.org)
指定されたソースコードは何か動作が怪しそうなので使っていない
しかし関数IFは合わせて有るので指定されたソースに問題が無ければ差し替えても動作するはずだ
ソースの『ここから』~『ここまで』の間を指定ソースと差し替えてくれ
46:デフォルトの名無しさん
11/11/30 15:43:07.60
多倍長整数演算までやってるのか
すげーな
47:デフォルトの名無しさん
11/11/30 16:02:08.41
>>46
やってないよ、それも含んでるんだっけ?
だったらパスするよ
48:デフォルトの名無しさん
11/11/30 16:04:58.23
>>34
コテつけてくれ。
49:デフォルトの名無しさん
11/11/30 16:10:06.50
>>47
どんなに長い文字列(数字)も受け付けろと書いてあった
50:デフォルトの名無しさん
11/11/30 16:30:47.38
>>49
ホントだ
『またどのような整数が出現しても』って書いてるな
あんな怪しげなソースを付けてる割にはハードルが高いな
多倍長整数の四則演算か....面倒だな....取りあえずパスしとくわ
51:デフォルトの名無しさん
11/11/30 16:49:13.03
>>49
前スレでそれは考えなくていいといってたよ
52:デフォルトの名無しさん
11/11/30 20:01:24.80
>>45
ありがとうございます。
何か問題があればレスさせていただきます。
53:デフォルトの名無しさん
11/11/30 21:21:41.05
>>42
URLリンク(ideone.com)
54:デフォルトの名無しさん
11/11/30 22:26:07.66
[1] 授業単元: システムプログラム
[2] 問題文(含コード&リンク):
プロセス間通信のプログラミングです。
URLリンク(s2.etowns.slyip.net)
すまない、ブラウザのエンコードがUTF-8じゃないと多分化ける。
子プロセスから親プロセスに文字列を送るプログラムはかけたんだけど、
ファイル内容を子プロセスから親プロセスに送ると何も表示されなくなってしまう。
自分でやってみたがここ数時間答えが出せない。
誰かお願いします
[3] 環境
[3.1] OS:mac10.7.2 (Windows/Linux/等々)
[3.2] コンパイラ名とバージョン:gcc4.2.1 (gcc 3.4 VC 6.0等)
[3.3] 言語:C (C/C++/どちらでも可 のいずれか)
[4] 期限:2011/12/1/14:30 ([yyyy年mm月dd日hh:mmまで] または [無期限] のいずれか)
[5] その他の制限:なし (どこまで習っているか、標準ライブラリは使ってはいけない等々)
55:デフォルトの名無しさん
11/12/01 00:54:04.24
>>54
子から親に複数回文字列を送っても大丈夫かどうかの確認をしてみたら、ぐらいしかいえない。コードがないと。
56: ◆QZaw55cn4c
11/12/01 01:03:06.04
>>54
URLリンク(codepad.org)
57:56 ◆QZaw55cn4c
11/12/01 01:04:43.03
cygwin/windows XP/gcc-3 では動いている。
58:デフォルトの名無しさん
11/12/01 01:19:29.17
問題解決しようとする気がないなw
59:デフォルトの名無しさん
11/12/01 01:24:33.79
>>56
助かったありがとう、ちゃんと動いた。
どうやら自分はバッファの扱いがおかしかったみたい。
60: ◆QZaw55cn4c
11/12/01 01:50:38.60
>>59
詳細に検討することをお勧めします。
61:デフォルトの名無しさん
11/12/01 02:23:04.18
1] 授業単元:バイナリデータの扱い方
[2] 問題文(含コード&リンク):
白黒のbmp画像を読みとり、白なら0、黒なら1として以下の例のような画像情報を載せたtxtファイルを作成する。
(txtファイルの1行目にはbmpの横と縦のピクセル数を書き込むこと)
<例>
元のbmp画像(direct.bmp):URLリンク(loda.jp)
↓
/********direct.txtの中身********************
24 15
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
******************************************/
[3] 環境
[3.1] OS:windows7 32bit
[3.2] コンパイラ名とバージョン: Borland 5.51
[3.3] 言語: C言語
[4] 期限:2011年12月10日 14:00
[5] ASNIの範囲内でよろしくお願いします。
62:デフォルトの名無しさん
11/12/01 04:06:55.36
ASNIってなんだ
63:デフォルトの名無しさん
11/12/01 04:15:31.37
モロッコにある小さな街
64:デフォルトの名無しさん
11/12/01 04:34:45.20
>>61
そのファイル、なんか珍しい形式っぽいのかな。
エラー処理も何もないけど。
URLリンク(codepad.org)
65:デフォルトの名無しさん
11/12/01 06:50:42.66
>>61
作って全然仕様にあってないけどupする
#include <stdio.h>
#include <stdlib.h>
typedef unsigned char uchar;
int main()
{
FILE *fp = fopen("kng311tt.bmp","rb");
FILE *fw = fopen("direct.txt","w");
uchar BhInfo[54];
uchar *BInfo = NULL;
int i,j;
fread(BhInfo,sizeof(char),51,fp);
fprintf(fw,"%d,%d\n",BhInfo[18],BhInfo[22]);
rewind(fp);
fseek(fp,54,SEEK_SET);
BInfo = malloc(sizeof(uchar)*(BhInfo[18]));
while(!feof(fp)){
fread(BInfo,sizeof(char),BhInfo[18],fp);
for(i = 0; i< (BhInfo[18]);i++){
if(BInfo[i] == 0x00)
fprintf(fw,"1 ");
else if(BInfo[i] == 0xff)
fprintf(fw,"0 ");
}
fputc('\n',fw);
}
free(BInfo);
fclose(fp);
fclose(fw);
return 0;
}
66:デフォルトの名無しさん
11/12/01 08:39:26.82
>>39
変換後の方です。
(e3t55sf45d → e t sf d
となっているのを
e3t55sf45d → e t sf d
となるように改良する。)
67:デフォルトの名無しさん
11/12/01 08:43:27.36
>>66
ミスってるけど、上はtとs、fとdの間は
スペース二つです。
68:デフォルトの名無しさん
11/12/01 08:49:48.52
サンクスかみーゆ
69:デフォルトの名無しさん
11/12/01 10:12:25.73
>>64
ありがとうございます!たぶん、作成者側のオリジナルだと思います^^
以前ここで作っていただいたtxt→bmpに変換するプログラムより
すごくシンプルですね。
白黒のみでもtxt→bmpに変換するのは大変なのでしょうか?
70:デフォルトの名無しさん
11/12/01 13:48:23.39
[1] 授業単元:プログラミング演習
[2] 問題文(含コード&リンク):
.cファイルを読み込んで、定義されている変数や配列を一覧にして表示する(できれば何型で定義されているかも)プログラムを作成せよ
[3] 環境
[3.1] OS: Windows
[3.2] コンパイラ名とバージョン: visual studio 2010
[3.3] 言語: C言語
[4] 期限:無期限
[5] その他の制限:できるならやってみろって感じで出されたので制限はないです
71:デフォルトの名無しさん
11/12/01 14:33:31.55
>>70
コンパイルの段階で変数名等は失われるので無理。
72:デフォルトの名無しさん
11/12/01 14:34:45.77
>>71
>.cファイルを読み込んで
73:デフォルトの名無しさん
11/12/01 14:37:02.92
>>72
見落としてたよ orz
74:デフォルトの名無しさん
11/12/01 14:47:18.67
車輪の再発明そのものじゃまいか
75:デフォルトの名無しさん
11/12/01 15:02:03.93
>>70
この本読めば作れるようになるかもしれない
URLリンク(www.amazon.co.jp)
76:デフォルトの名無しさん
11/12/01 15:04:13.90
機械的構文解析:Cの独り勝ちの世界じゃん
Cプログラマは避けて通れる世界じゃないかと
77:デフォルトの名無しさん
11/12/01 15:10:26.94
grepで十分じゃね?
78:デフォルトの名無しさん
11/12/01 15:26:26.78
>>70
>定義されている変数や配列
structは?
79:デフォルトの名無しさん
11/12/01 15:34:08.68
typedef とか面倒な希ガス
あと、
#define VARIABLE(type, name) (type) (name)
みたいな変なマクロを使って変数宣言してるとか
80:デフォルトの名無しさん
11/12/01 15:46:08.83
>>79
プリプロセスしてから解析すればよくね?
81:デフォルトの名無しさん
11/12/01 15:53:23.00
URLリンク(ja.wikipedia.org)
C言語はLL(1)だっけ
面倒な問題を出してくれたもんだ~
82:70
11/12/01 15:59:06.55
>>78
構造体もはいってますね、すみません
>>79
多分そこまでは求めてられないので
int a;みたいな基本的な宣言だけで大丈夫だと思います
口頭で言われたもので、曖昧ですみません…
83:デフォルトの名無しさん
11/12/01 16:10:25.78
>>70
その手の問題は
今までの授業、課題をちゃんとこなしてきた→できる範囲で回答すればおk
今までの授業、課題を人に頼ってきた→詰む時
だよ。最後の審判的な。
丸くおさめたいなら、何も提出せずに、難しいので出来上がらなかったということを口頭で言って終わらせる。
84:デフォルトの名無しさん
11/12/01 16:31:28.72
sizeof()の引数に型名が出てきたり。かなり厄介な言語だよ。
85:デフォルトの名無しさん
11/12/01 16:36:24.01
sizeofは型を渡すとき以外は括弧いらないじゃん
86:デフォルトの名無しさん
11/12/01 17:07:58.27
C言語初心者なのですが、
「2つの 3成分ベクトル a, b の外積 c を求める関数 void acrossb(double a[], double b[], double c[]) を作成せよ。
この関数を用いて次の二つのベクトル va=(1.0, 2.0, 1.0) , vb=(-2.0, 0.5, 1.0) の外積を計算するプログラムを作成せよ。」
どなたか、上の問題がわかる方いらっしゃいましたら、教えて頂きたいです。宜しくお願いします。
87:デフォルトの名無しさん
11/12/01 17:10:47.58
>>86
わかるがお前の態度が気に入らない
つーか>>1嫁
88:デフォルトの名無しさん
11/12/01 17:20:46.05
>>86の者です。失礼致しました。
[1] 授業単元: C言語
[2] 問題文(含コード&リンク):2つの 3成分ベクトル a, b の外積 c を求める関数 void acrossb(double a[], double b[], double c[]) を作成せよ。
この関数を用いて次の二つのベクトル va=(1.0, 2.0, 1.0) , vb=(-2.0, 0.5, 1.0) の外積を計算するプログラムを作成せよ。
[3] 環境
[3.1] OS:Windows
[3.2] コンパイラ名とバージョン: (gcc 3.4 VC 6.0等)
[3.3] 言語:C言語
[4] 期限:12月2日まで
[5] その他の制限: なし
です。すみませんお願いします
89:デフォルトの名無しさん
11/12/01 17:37:58.39
a=(a1,a2,a3)b=(b1,b2,b3)としたとき、 aとbの外積は(a2b3-a3b2, a3b1-a1b3, a1b2-a2b1)であってんのかな。
90:デフォルトの名無しさん
11/12/01 17:45:21.54
>>88
URLリンク(ideone.com)
91:デフォルトの名無しさん
11/12/01 17:47:01.35
>>89
外積はそうだとおもいます
92:デフォルトの名無しさん
11/12/01 17:50:33.93
>>90
ご丁寧にありがとうございます
助かりました!
93:デフォルトの名無しさん
11/12/01 17:51:03.20
[1] 授業単元:楽しいC(ポインタ配列)
[2]引数vc の指すint 型配列に対して,その(pos + 1)
番目からn 個の要素(vc[pos], vc[pos+1], …のn 個)
の値を0 にする関数
void reset_n(int *vc, int pos, int n)
を作成せよ 。
例.ary[] : 10, 11, 12, 13, 14, 15, 16, 17, 18, 19
ary[n1] からn2 個の要素を0 にします。
n1 を入力してください:2
n2 を入力してください:4
指定された要素を0 にしました。
[3] 環境
[3.1] OS:linux
[3.2] コンパイラ名とバージョン: (gcc 3.4 VC 6.0等)
[3.3] 言語:C言語
[4] 期限:12月2日まで
[5] 例えば配列ary[] が
{10, 11, 12, 13, 14, 15, 16, 17, 18, 19}
であるとき,
reset_n(ary, 2, 4);
として呼び出すと,配列ary[] は
{10, 11, 0, 0, 0, 0, 16, 17, 18, 19}
となる.
以下の実行例のように,関数の動作を確認できるmain
関数も作成すること.ただし,プログラムは以下の要件
を満たすこととする.
? main 関数内でint 型配列を適当な値で初期化・宣
言して用いてよい.
? 関数reset_n の中では,添字演算子[] は使用しな
いこと
94:デフォルトの名無しさん
11/12/01 18:04:34.22
単元が楽しいCなのに、問題投げるのは楽しんでないのがなんだかな
単元の名前替えるように教官に言っとけ
95:デフォルトの名無しさん
11/12/01 18:07:04.03
[1] 授業単元:C言語入門
[2] 問題文(含コード&リンク):URLリンク(i.imgur.com)
[3] 環境
[3.1] OS: unix
[3.2] コンパイラ名とバージョン: gcc
[3.3] 言語: C
[4] 期限: 12/6 10:00
[5] その他の制限:入門なのでそれほど複雑なものは習ってない・・・かな
お願いします。
96: 【だん吉】
11/12/01 18:17:51.26
>>93
#include <stdio.h>
void reset_n(int *vc, int pos, int n) {
int i;
for (i = 0; i < n; ++i) *(vc + pos + i) = 0;
}
void print(const int *a, int n) {
int i;
for (i = 0; i < n; ++i) printf("%d ", a[i]);
putchar('\n');
}
int main(void) {
int a[] = {10, 11, 12, 13, 14, 15, 16, 17, 18, 19};
int n = sizeof a / sizeof *a;
int n1, n2;
print(a, 10);
puts("ary[n1] からn2 個の要素を0 にします。");
printf("n1 を入力してください:");
scanf("%d", &n1);
printf("n2 を入力してください:");
scanf("%d", &n2);
if (n1 < 0 || n < n1 + n2) {
puts("範囲オーバー");
} else {
reset_n(a, n1, n2);
puts("指定された要素を0 にしました。");
print(a, 10);
}
return 0;
}
97:864
11/12/01 18:37:27.33
[1] 授業単元:リスト構造
[2] 問題文(含コード&リンク):
URLリンク(codepad.org)
例えば 学籍番号として 181 など 存在しない学生の番号を入力して実行すると、
エラーを生じてプログラムが停止してしまうなど、このソース コードは不完全である。
そこで存在しない学生の番号を入力した場合には、
「その番号の学生は、いません。」のエラーメッセージを表示するように、プログラムを改良せよ。
[3] 環境
[3.1] OS:Windows7
[3.2] コンパイラ名とバージョン:VC2008
[3.3] 言語:C
[4] 期限:明日
[5] その他の制限:
98:デフォルトの名無しさん
11/12/01 18:57:56.19
>>97
884:デフォルトの名無しさん:2011/11/28(月) 22:51:02.28
>>882
Line94 pointer_student = pointer_student->pointerNext; の次に以下を追加
if( ! pointer_student ) { printf( "その番号の学生は居ない\n" ); return 0; }
99:デフォルトの名無しさん
11/12/01 19:04:59.87
なんか双方向リストに進化してるな
100:864
11/12/01 19:57:52.71
>>98
双方向リストではありません
101:デフォルトの名無しさん
11/12/01 20:36:09.10
>>95
URLリンク(ideone.com)
URLリンク(ideone.com)
102:デフォルトの名無しさん
11/12/01 20:54:02.77
>>97
スレリンク(tech板:866番)
103:デフォルトの名無しさん
11/12/01 21:55:10.15
>>100
処理内容が検索から削除に変化しただけで対応方法は同じだ
再出題したってことは >>98 の意味を全く理解してないって事なんだろうな、さすがにちょっと酷いと思う
104:デフォルトの名無しさん
11/12/01 22:27:18.07
[1] 授業単元:アルゴリズムデータ構造
[2] 問題文(含コード&リンク):
URLリンク(f.mjmj.be)
URLリンク(f.mjmj.be)
上記のアルゴリズムを使用し、最短経路を求めよ。
[3] 環境
[3.1] OS:Windows7
[3.2] コンパイラ名とバージョン:VisualStudio2010
[3.3] 言語:C言語
[4] 期限: 2日のAM9時まで
[5] その他の制限:2次元配列を使用でお願いします。
画像見づらかったらすみません。長いですがよろしくお願いします。
105:デフォルトの名無しさん
11/12/02 00:58:47.88
[1] 授業単元:プログラミング
[2] 問題文(含コード&リンク): URLリンク(ideone.com)
上記のコードを修正せよ
※ポイント
①char stringをmallocでエリアを動的確保(初期化もする)
②snprintfをforで回して連結
[3] 環境
[3.1] OS:指定なし
[3.2] コンパイラ名とバージョン:指定なし
[3.3] 言語:C
[4] 期限: 2011/12/3
[5] その他の制限:特になし
よろしくお願いします
106:デフォルトの名無しさん
11/12/02 01:02:19.10
[1] 授業単元:C言語による画像処理の基礎
[2] 問題文(含コード&リンク):
256階調(8bit)のpgm形式の画像を256階調(8bit)のbmp形式の画像へ、
256階調(8bit)のbmp形式の画像を256階調(8bit)のpgm形式の画像へ
それぞれ変換するプログラムを作成せよ。
[3] 環境
[3.1] OS:windows7
[3.2] コンパイラ名とバージョン: Borland
[3.3] 言語: C言語
[4] 期限:2011年12月9日 17:00
107:デフォルトの名無しさん
11/12/02 01:43:03.43
>>105
URLリンク(ideone.com)
108:105
11/12/02 01:46:28.20
>>107
ありがとうございます!
109:デフォルトの名無しさん
11/12/02 02:08:05.30
>>104
URLリンク(codepad.org)
110:デフォルトの名無しさん
11/12/02 02:41:51.43
>>106
bmpの指定はそれだけ?
>>61みたいに決めうちでもいいのかな。汎用的にってなると面倒なんでちょっとやる気が…
111: ◆/BwcIAUGUw
11/12/02 03:07:22.77
[1] 授業単元:C言語プログラミング
[2] 問題文(含コード&リンク):テキストファイルを読み込み1次元の離散コサイン変換を行って、その結果を新たなテキストファイルに書き込むプログラムを作れ。
[3] 環境
[3.1] OS: linux
[3.2] コンパイラ名とバージョン: gcc 4.3.2
[3.3] 言語: C言語
[4] 期限: 12月3日 18時
[5] その他の制限: 例 10,15,20,80,120,160,210,10,20,100...と続くテキストデータ3つ(data.txt data2.txt data3.txt)を(それぞれ内容は違う)読み込む。
それぞれに1次元の離散コサイン変換を行う。
変換後の値を新たなテキストファイルに(data,data2,data3)改行(data,data2,data3)改行...といったような表示で書き込む。
112:デフォルトの名無しさん
11/12/02 06:07:11.57
>>111
URLリンク(www5.airnet.ne.jp)
113:デフォルトの名無しさん
11/12/02 08:28:36.81
それ2次元じゃないか?
問題文とも全然合ってないなw
114:デフォルトの名無しさん
11/12/02 08:45:32.05
>>109
ありがとうございます
115:デフォルトの名無しさん
11/12/02 11:02:25.36
>>111
URLリンク(vision.kuee.kyoto-u.ac.jp)
116:デフォルトの名無しさん
11/12/02 11:03:01.37
>>110
それだけなんですけど、面倒ならある程度でお願いします。
117:デフォルトの名無しさん
11/12/02 16:39:46.70
>>111
問題文がいろいろ足りない気がするし離散コサイン変換の名前しか知らんけど
wikipediaに載ってた公式見て適当に組んでみた。
検算もどうやればいいかよくわからんから適当に直して
include <math.h>
#include <string.h>
#include <stdio.h>
#define MAXLINE 1024
void dct(double *i,double *o,int e){int k,n;for (k=0;k<e;k++){for(n=0;n<e;n++)
{o[k]=i[n]*cos(M_PI/(double)e*(0.5+(double)n)*(double)k );}}}int getfield(char
*infile, double *out){FILE *fp=fopen(infile,"r");char *c=",",s[MAXLINE],*tmp;
int i;fgets(s,MAXLINE,fp);fclose(fp);out[0]=atof(strtok(s,c));for(i=1;NULL!=
(tmp=strtok(NULL,c));i++){out[i]=atof(tmp);}return i++;}int main(){double *a[3]
,*b[3];int d[3]={0},i=0;char *filename[]={"data.txt","data2.txt","data3.txt"};
FILE*data,*outp;for(i=0;i<3;i++){a[i]=malloc(MAXLINE*sizeof(double));d[i]=
getfield(filename[i],a[i]);b[i]=malloc(d[i]*sizeof(double));dct(a[i],b[i],d[i]);
free(a[i]);}outp=fopen("outfile.txt","w");for(i=0;i<d[0];i++){fprintf(outp,"(%f"
",%f,%f)\n",b[0][i],b[1][i],b[2][i]);}fclose(outp);for(i=0;i<3;i++)free(b[i]);}
118:デフォルトの名無しさん
11/12/02 17:52:20.01
[1] 授業単元: C言語
[2] 問題文(含コード&リンク): URLリンク(www.kent-web.com)
[3] 環境
[3.1] OS:Linux
[3.2] コンパイラ名とバージョン: gcc
[3.3] 言語: C
[4] 期限: 2011年12月4日
よろしくお願いします。
119: ◆/BwcIAUGUw
11/12/02 18:00:43.52
>>115
ありがとうございます。
そのサイトの手順通りに、解凍→移動→makeしたんですが、makeするとエラーが出て先に進めませんでした。
120: ◆/BwcIAUGUw
11/12/02 18:02:01.97
>>117
ありがとうございます。
どうやって直せば良いかわかりません、申し訳ありません。
でも、参考にさせていただきます。
121:デフォルトの名無しさん
11/12/02 18:27:07.90
[1] 授業単元:アニメーション・イベント処理
[2] 問題文(含コード&リンク):URLリンク(codepad.org)
[3] 環境
[3.1] OS: Windows
[3.2] コンパイラ名とバージョン: Microsoft Visual C++ 2010 Express
[3.3] 言語: C言語
[4] 期限: 2011年12月4日まで
[5] その他の制限: OpenGLを使用
4枚の羽根が作れず、その上視点を変えると羽と噴射口の位置がずれます。
どのように直せばよいのか分からないため、修正をお願い致します。
また、リンク先の(3)(5)も出来ておりません。
122:デフォルトの名無しさん
11/12/02 18:27:22.88
1] 授業単元:
[2] 問題文(含コード&リンク):
(1)
#include <stdio.h>
#define NUMBER 5
int tensu[NUMBER];
int top(void);
int main(void)
{
extern int tensu[];
int i;
printf("%d人の点数を入力してください。\n", NUMBER);
for (i = 0; i < NUMBER; I++) { printf("%d:",i + 1); scanf("%d", &tensu[i]); } printf("最高点=%d\n", top()); return (0);
}
int top(void)
{ extern int tensu[]; int i; int max = tensu[0]; for (i = 1; i < NUMBER; i++) if (tensu[i] > max) max = tensu[i]; return (max);
}
上のプログラムを参考にして、5人の点数の平均点を返す関数 double ave(void)を作成せよ。
その関数を用いて、読み込んだ5人の点数の平均値を出力するプログラムを作成せよ。
(2)
2つの 3成分ベクトル a, b の外積 c を求める関数 void acrossb(double a[], double b[], double c[]) を作成せよ。
この関数を用いて次の二つのベクトル va=(1.0, 2.0, 1.0) , vb=(-2.0, 0.5, 1.0) の外積を計算するプログラムを作成せよ。
[3] 環境 [3.1] OS: Windows [3.3] 言語: C++
[4] 期限: できれば今日中を希望しています。
お手数ですがよろしくお願いします。
123:デフォルトの名無しさん
11/12/02 20:38:31.75
>>109の、節の始点が0になっているので1にしたいのと、
終点も同じように5になっているので6にしたいのですが、変更できるでしょうか。
初期値をいじってみたのですが上手くいきませんでした。
あと出力は通った経路順番に節番号とコストを出したいのですが、
書いて貰った逆なので、可能ならばお願いします
124:デフォルトの名無しさん
11/12/02 20:59:43.69
>>122
URLリンク(ideone.com)
URLリンク(ideone.com)
125:デフォルトの名無しさん
11/12/02 21:02:44.30
>>123
>>109じゃないけど、始点終点の表示だけなら、
68:printf("%d(%d)", x+1, v[x].label);
71:printf(" <- %d(%d)", x+1, v[x].label);
126:デフォルトの名無しさん
11/12/02 23:03:52.94
>>124
ありがとうございます。
127:デフォルトの名無しさん
11/12/02 23:15:48.50
>>123
URLリンク(codepad.org)
128:デフォルトの名無しさん
11/12/02 23:24:42.96
1] 授業単元:C言語
[2] 問題文(含コード&リンク):
1番:コマンドライン引数を用いて2つの10進数を入力し,
その2つの数を2進数表示したものについて,論理和,論理積,
排他的論理和,を表示するプログラムを作成せよ。
また,2進数で直接入力して計算できるようにせよ。
2番:1番で求めた論理和,論理積,排他的論理和について、
指定したビット目の値、連続する0の数および1の数をそれぞれ数えて
交互に表示するプログラムを作成せよ。
3番目:1番で求めた論理和,論理積,排他的論理和について、
4桁ずつ区切って16進数で表示するプログラムを作成せよ.
例:
論理和 : 000111101001001
1番目の区切り:0001 = 1
2番目の区切り:1110 = e
3番目の区切り:1001 = 9
4番目の区切り:001 = 1
[3] 環境
[3.1] OS: Windows
[3.2]bcc
[3.3] 言語: C言語
[4] 期限: 来週の月曜まで
129:デフォルトの名無しさん
11/12/03 00:10:27.81
>>128
扱う数値は short なのか?
130:デフォルトの名無しさん
11/12/03 00:11:39.37
>>129
わからないです、とうかshortは習ったことないです^^;
131:デフォルトの名無しさん
11/12/03 00:15:07.11
>>125,127
ありがとうです!
132:デフォルトの名無しさん
11/12/03 00:15:42.38
>>128
この問題は原文のままですか?
2番の問題は読解できないです。
133:デフォルトの名無しさん
11/12/03 00:23:03.56
>>132
ほぼ原文ですよ.
ほんとうは紙に実行例が書いてあるんですけど^^
例:
論理和 : 000111101001001
何ビット目を表示?>4
3ビット目 = 1
論理和の連続する0の数および1の数を交互に表示します
3
4
1
1
2
1
2
1
134:デフォルトの名無しさん
11/12/03 00:23:53.56
>>133
間違えました
×3ビット目 = 1
○4ビット目 = 1
135:デフォルトの名無しさん
11/12/03 00:32:28.18
>>130
なら、例題は2バイトだけど回答は4バイトにするって理解すれば良いのかな
問2で連続する0の数と有るけど、小さい数字の場合は左に0が並ぶけどそれもカウントするのか?
それとも1が出現した後だけに着目するのか?
136:135
11/12/03 00:34:10.16
>>133 を見る前に書いたので忘れてくれ
137:デフォルトの名無しさん
11/12/03 00:48:48.78
>>128
最も重要な質問、itoa() と strtol() は使っても良いのか?
これらを作れって題意かも知れない
138:デフォルトの名無しさん
11/12/03 00:52:18.51
>>137
いいと思います。
139:デフォルトの名無しさん
11/12/03 01:10:55.51
>>118
URLリンク(ideone.com)
URLリンク(ideone.com)
140:デフォルトの名無しさん
11/12/03 01:49:39.92
>>133
なんで後だししたの^^
141:デフォルトの名無しさん
11/12/03 02:34:36.24
>>128
URLリンク(codepad.org)
3つも同じようなコードをアップするのは気が引けるから全部まとめた
dispHex() が問3に関する部分で dispOther() が問2に関する部分
適当に切り分けて提出してくれ
142:デフォルトの名無しさん
11/12/03 03:30:02.72
[1] 授業単元:暇つぶし
[2] 問題文:
標準入力より4点 A(x1,y1), B(x2,y2), C(x3,y3), D(x4,y4)の座標が与えられる
座標の数値はいずれも -1000 以上 1000 以下の整数である
線分AB と 線分CD の交点を求め、その座標を小数点以下 20 桁まで表示せよ
線分が重なる場合 および 交点を持たない場合は 無し と表示せよ
但し端点のみが一致する場合はその座標を表示せよ
線分AB および 線分CD の長さは 0 より大きいものとする(A≠B C≠D)
[3] 環境
[3.1] OS: Windows
[3.2] コンパイラ名とバージョン: gcc
[3.3] 言語: (C/C++/どちらでも可)
[4] 期限: 無期限
[5] その他の制限: 外部ライブラリを使用せず単一のソースコードとして下さい
143:デフォルトの名無しさん
11/12/03 03:49:13.58
>>118
>>141と同じく全部まとめました。
十進数と二進数はオプション -d と -b で使い分けます。
Usage 参照。
144:デフォルトの名無しさん
11/12/03 03:49:58.90
>>118>>143
貼り忘れw
URLリンク(ideone.com)
145:デフォルトの名無しさん
11/12/03 03:51:34.35
スレ汚しまくりごめんなさい。
>>143>>144は>>128宛て
146:デフォルトの名無しさん
11/12/03 03:57:05.11
[1] 授業単元:計算機アルゴリズムⅠ
[2] 問題文(含コード&リンク):
設問1-1
プログラム例10.5.1において「s = sum(x,y); d=difference(x,y);」を、和と差の両方を計算する関数「sumdif(x, y, &s, &d);」に置き換えた後、同じ表示結果が得られるように関数「void sumdif(float x, float y, float *s, float *d)」を作成しなさい。
※return文で返せる戻り値は高々1個であるので、ポインタを使って計算結果を返すことが必要になる。
プログラム例10.5.1
URLリンク(www.dotup.org)
[3] 環境
[3.1] OS:Windows vista
[3.2] コンパイラ名とバージョン:visual studio 2008
[3.3] 言語:C
[4] 期限:[2011年12月7日8:00まで]
[5] その他の制限:変数、算術演算、printf、scanf、繰り返し処理while文、do-while文
繰り返し処理for文、繰り返し処理for文による総和の計算、配列変数
条件分岐if文、要素番号idx使用の書換、データの入れ替え
条件分岐・論理演算子を用いたif文の条件、if文、else if文
switch文、ポインタ変数・演算子*と&、関数・プロトタイプ宣言と関数定義
引数と戻り値、関数の引数とポインタ、関数に配列を渡し、呼び出し側へ戻す方法
関数から関数を呼び出す方法は習いました。
宜しくお願いします。
147: ◆QZaw55cn4c
11/12/03 04:28:45.24
>>106
bmp2pgm
スレリンク(tech板:29番)
148: ◆QZaw55cn4c
11/12/03 06:00:28.05
>>106
pgm2bmp
スレリンク(tech板:30番)
149:デフォルトの名無しさん
11/12/03 06:04:49.11
>>142
ほとんどコピペ
URLリンク(ideone.com)
150:デフォルトの名無しさん
11/12/03 06:08:11.46
>>146
void sumdif(float x, float y, float *s, float *d)
{
*s = x + y;
*d = x - y;
}
151: ◆QZaw55cn4c
11/12/03 06:09:33.32
>>149
double は 20 桁も保障するのか?
152:デフォルトの名無しさん
11/12/03 06:10:41.98
>>149
演算の精度を問う問題かと思ったが。
153:デフォルトの名無しさん
11/12/03 09:57:56.54
>>141
>>143
>>144
ありがとうございます!
154:デフォルトの名無しさん
11/12/03 10:04:58.26
>>149
計算精度が足りないのと
線分なので
A(2,1) B(3,1) C(1,2) D(1,3)
の時は交差しない
155:デフォルトの名無しさん
11/12/03 10:21:08.12
>>141
すいません。
2進数で入力されても可能というところもコマンドライン引数でお願いします。
>>144
コンパイルしようとしたら以下のエラーが出ました
エラー E2313 prog1005.c 30: 定数式が必要(関数 ConvertBinaryToHexadecimal )
エラー E2313 prog1005.c 70: 定数式が必要(関数 main )
エラー E2313 prog1005.c 71: 定数式が必要(関数 main )
*** 3 errors in Compile ***
156:デフォルトの名無しさん
11/12/03 10:33:35.41
>>155
const の値を#defineに替えれ
157:デフォルトの名無しさん
11/12/03 10:56:39.98
いっぱいでたよ!
URLリンク(codepad.org)
エラー E2188 prog1005.c 13: 式の構文エラー(関数 ConvertDecimalToBinary )
エラー E2379 prog1005.c 13: ステートメントにセミコロン(;)がない(関数 ConvertDecimalToBinary )
エラー E2188 prog1005.c 16: 式の構文エラー(関数 ConvertDecimalToBinary )
警告 W8057 prog1005.c 17: パラメータ 'decimal' は一度も使用されない(関数 ConvertDecimalToBinary )
エラー E2290 prog1005.c 30: 配列境界 に ] がない(関数 ConvertBinaryToHexadecimal )
警告 W8019 prog1005.c 30: コードは効果を持たない(関数 ConvertBinaryToHexadecimal)
エラー E2379 prog1005.c 30: ステートメントにセミコロン(;)がない(関数 ConvertBinaryToHexadecimal )
エラー E2188 prog1005.c 31: 式の構文エラー(関数 ConvertBinaryToHexadecimal )
エラー E2379 prog1005.c 31: ステートメントにセミコロン(;)がない(関数 ConvertBinaryToHexadecimal )
エラー E2188 prog1005.c 39: 式の構文エラー(関数 ConvertBinaryToHexadecimal )
エラー E2188 prog1005.c 39: 式の構文エラー(関数 ConvertBinaryToHexadecimal )
警告 W8057 prog1005.c 40: パラメータ 'binary' は一度も使用されない(関数 ConvertBinaryToHexadecimal )
警告 W8057 prog1005.c 40: パラメータ 'hexadecimal' は一度も使用されない(関数 ConvertBinaryToHexadecimal )
158:デフォルトの名無しさん
11/12/03 10:56:59.47
エラー E2290 prog1005.c 45: 配列 に ] がない(関数 DisplayBitInfo )
警告 W8019 prog1005.c 45: コードは効果を持たない(関数 DisplayBitInfo )
エラー E2379 prog1005.c 45: ステートメントにセミコロン(;)がない(関数 DisplayBitInfo )
エラー E2290 prog1005.c 70: 配列境界 に ] がない(関数 main )
警告 W8019 prog1005.c 70: コードは効果を持たない(関数 main )
エラー E2379 prog1005.c 70: ステートメントにセミコロン(;)がない(関数 main )
エラー E2140 prog1005.c 71: ここでは宣言はできない(関数 main )
エラー E2290 prog1005.c 71: 配列境界 に ] がない(関数 main )
エラー E2188 prog1005.c 71: 式の構文エラー(関数 main )
警告 W8019 prog1005.c 71: コードは効果を持たない(関数 main )
エラー E2379 prog1005.c 71: ステートメントにセミコロン(;)がない(関数 main )
エラー E2121 prog1005.c 89: 関数呼び出しに ) がない(関数 main )
エラー E2188 prog1005.c 89: 式の構文エラー(関数 main )
エラー E2451 prog1005.c 91: 未定義のシンボル binary(関数 main )
エラー E2451 prog1005.c 98: 未定義のシンボル hexadecimal(関数 main )
*** 21 errors in Compile ***
159:デフォルトの名無しさん
11/12/03 10:57:36.81
>>157-158は>>156宛
160:デフォルトの名無しさん
11/12/03 12:23:57.06
>>157-158
URLリンク(codepad.org)
#define hoge foo
はコンパイル時に hoge を foo に置き換えるので、
#define hoge foo;
とした場合、hoge は foo; に置き換えられてしまいます。
161:デフォルトの名無しさん
11/12/03 13:56:25.82
[1] 授業単元:C言語プログラミング
[2] 問題文
ポインタの利用方法として,配列を使わない文字列処理を習得する.課題3を配列を使わずに「メモリの動的確保」及び「ポインタ演算」により処理する.
課題3
配列の値を前後に移動させる際に押し出された要素(文字)は反対側に入るようにします.
例. ABCDE に 手続き(1)(=1つ前に詰める)を適用すると
BCDEA となる.
文字型の配列に値を格納しなくてはなりませんが「配列の初期化」のテクニックを使って,プログラム中で行う(つまりキーボードから打ち込まない).また,配列のサイズ(つまり要素数)は5個とする. ( 例."ABCDE" の5文字を処理対象とする等)
条件
プログラム中で配列を用いてはいけません.配列の宣言の代わりに,必ずにある「メモリの動的割り当て」の手法を使って malloc関数で必要なメモリを確保する方法で実装すること.
変化したことが分かるようにprintf関数で確認できるようにすること
[3] 環境
[3.3] 言語: C言語
[4] 期限: 12月4日 18時
お願いします
162:デフォルトの名無しさん
11/12/03 14:54:27.56
>>161
URLリンク(ideone.com)
163:デフォルトの名無しさん
11/12/03 15:08:07.94
[1] 授業単元:C言語による基礎
[2] 問題文(含コード&リンク):
以下の実行例のように,文字列を入力すると,その前
後に"を付けた文字列を生成するプログラムを,ライブ
ラリ関数strcpy とstrcat を用いて作成せよ.ただし,
プログラムは以下の要件を満たすこととする.
? ユーザに入力させる文字列を格納する配列を
str1[],前後に"を付けた文字列のための配列を
str2[] とする.
? ユーザに入力させる文字列は30 字までとする.
? 配列str2[] は初期化せずに宣言し,ライブラリ関
数strcpy とstrcat を使って(添字演算子[] を
使わずに)前後に"を付けた文字列を生成すること.
[3] 環境
[3.1] OS:linux
[3.2] コンパイラ名とバージョン: gcc
[3.3] 言語: C言語
[4] 期限:2011年12月5日 17:00
[5]実行例
文字列を入力してください:Kousoku
文字列の前後に"を付けました。
str2:"Kousoku"
164:デフォルトの名無しさん
11/12/03 15:38:12.62
>>163
URLリンク(ideone.com)
165:デフォルトの名無しさん
11/12/03 15:56:24.71
>>164
10行目
scanf("%30s", str1);
の方がいいかも
12,13,14行目が
strcpy(str2, "\"");
strcat(str2, str1);
strcat(str2, "\"");
では?
166:デフォルトの名無しさん
11/12/03 16:10:32.67
[1] 授業単元:2分探索
[2] 問題文(含コード&リンク):
2分探索を呼び出すmain関数を作成し、実際の動作を確認せよ。
ただし各データの値は構造体配列の初期設定で設定するものとする。
また、プログラムは以下のように動作するものとする。
Please input a key: 8
Found! Key=8, Name=Hanada
Please input a key: 24
Found! Key=24, Name=Nishida
Please input a key: 6
Not Found!
Please input a key:
・
・
[3] 環境
[3.1] OS:Windows7
[3.2] コンパイラ名とバージョン: VC2008
[3.3] 言語: C
[4] 期限:12/5
167:デフォルトの名無しさん
11/12/03 16:11:00.08
>>166
[5]以下のコードを使用してください。
int bi_search(int target){
int hi, lo, mid;
lo=0; hi=N-1; //Nはデータ数
while(lo <= hi){
mid=(lo+hi)/2; //中央のデータのインデックス
if(target==St[mid].num)
return mid;
else if(target<St[mid].num)
hi=mid-1; //左半分を再検索
else
lo=mid+1; //右半分を再検索
}
return -1;
}
168:デフォルトの名無しさん
11/12/03 16:19:45.17
>>165
> scanf("%30s", str1);
> の方がいいかも
なるほど。scanf で文字数指定できるの知らなかったです。
> 12,13,14行目が
> strcpy(str2, "\"");
> strcat(str2, str1);
> strcat(str2, "\"");
> では?
確かにそちらの方が自然ですね・・・
169:デフォルトの名無しさん
11/12/03 16:35:40.43
>>155
なら >>144 と同様に第一引数をスイッチとする事になるな
URLリンク(codepad.org)
170:デフォルトの名無しさん
11/12/03 17:03:49.61
[1] 授業単元: C言語
[2] 問題文(含コード&リンク):
double (*e)[4];
printf("*e\t%d\n", sizeof(*e));
なんと表示されるか答えよ。
// コンパイルして32と表示されたが理由がわからない。
[3] 環境
[3.1] OS: Windows
[3.2] コンパイラ名とバージョン: VC2010
[3.3] 言語: C
[4] 期限: 特に無し
[5] その他の制限: 多重ポインタまで学習
171:デフォルトの名無しさん
11/12/03 17:07:25.74
>>169>>160
>>128はこのように2つの10進数or2進数から計算できるようにしないといけないのですが
頂いたプログラムではできません。
D:\Prog>test 5 1
x = 0101
y = 0001
x & y = 0001
x | y = 0101
x ^ y = 0100
D:\Prog>test 0111 1001
x = 0111
y = 1001
x & y = 0001
x | y = 0001
x ^ y = 0001
172:デフォルトの名無しさん
11/12/03 17:12:08.59
[1] 授業単元:C言語演習
[2] 問題文(含コード&リンク):
前日商品別に在庫を登録したファイル "zaiko.txt" と
当日商品別に入庫を記録したファイル "nyuko.txt" の2つのファイルを入力し、
新たな在庫ファイル "zaiko_new.txt" を出力するプログラムを作成せよ。
ファイルの各レコード(行)は次の形式であり、ひとつの商品に対してひとつのレコードとする。
商品コード 整数 4桁
数量 数字 4桁
なお、各ファイルは商品コードの昇順にソートされているものとする。
※実行例:URLリンク(s2.etowns.slyip.net)
[3] 環境
[3.1] OS:Linux
[3.2] コンパイラ名とバージョン:gcc
[3.3] 言語:C言語
[4] 期限:12/4(日)23:59:59
[5] その他の制限:
商品コードや種類の数等は実行例の限りでなく、
自由に変えても対応できるようにお願いします
在庫・入庫ファイルの名前自体はそのままでいいです。
173:デフォルトの名無しさん
11/12/03 17:32:29.62
>>171
第一引数をスイッチにすると書いた
D:\prog>test d 5 1 と D:\prog>test b 0111 1001 を試してみてちょ
もし自動判定するとなると test 100 10 の時どっちか判らなくて困る
2進の時は必ず0から始めるとかのルールを決めれば自動判定できるけどね
174:デフォルトの名無しさん
11/12/03 17:34:29.23
>>173
そうなんですか!
2進数の時は>>171のように最低0001からはじまりますんで
それで判定してもらえないでしょうか?
175:174
11/12/03 17:35:05.02
×最低0001
○最低0000
176:デフォルトの名無しさん
11/12/03 18:16:19.43
>>174
頭悪すぎっぞw
177:デフォルトの名無しさん
11/12/03 18:19:29.41
>>174
>>171 の例題だと第2引数は 1001 になってるけど良いの?
アップするの面倒だから変更部分だけ( #else から #endif の間)を書くね
if( c > 2 ) {
if( *v[1] == '0' || *v[2] == '0' )
base = 2;
else
base = 10;
v1 = strtol( v[1], NULL, base );
v2 = strtol( v[2], NULL, base );
}
else {
printf( "[Usage] this_prog v1 v2\n" );
return 0;
}
178:デフォルトの名無しさん
11/12/03 18:25:28.91
>>177
十進数の0が扱えなくない?
179:デフォルトの名無しさん
11/12/03 18:27:58.94
>>174
URLリンク(ideone.com)
180:デフォルトの名無しさん
11/12/03 18:31:11.30
>>172
URLリンク(ideone.com)
181:174
11/12/03 18:45:20.63
>>177
ありがとうございます、いけました!
>>179
ありがとうございます!でもエラーが出ました
エラー E2313 p.c 30: 定数式が必要(関数 ConvertBinaryToHexadecimal )
エラー E2313 p.c 74: 定数式が必要(関数 main )
エラー E2313 p.c 75: 定数式が必要(関数 main )
*** 3 errors in Compile ***
182:デフォルトの名無しさん
11/12/03 18:48:56.07
>>178
そらそうだな、判定条件を変えた方が良いだろう
v[1], v[2] に 01 以外が出現したら無条件に10進っていう条件を追加すれば良いのかな?
183:デフォルトの名無しさん
11/12/03 18:48:59.43
>>181
URLリンク(ideone.com)
184:デフォルトの名無しさん
11/12/03 18:52:44.90
>>183
いけました!本当にありがとうございます!
185:デフォルトの名無しさん
11/12/03 18:52:48.57
>>182
それだとやっぱり十進数の0が上手く扱えないと思う。
「長さ2以上かつ0で始まるものが二進数、それ以外が十進数」かな。
186:デフォルトの名無しさん
11/12/03 18:58:54.36
>>185
だね、>>183 の判定で良いと思う
直すの面倒だから書かないけどw
187:デフォルトの名無しさん
11/12/03 19:17:42.33
Xの出力値を教えてください。
答えは「81」になるのですがどのように解けばいいのでしょうか?
URLリンク(iup.2ch-library.com)
188:デフォルトの名無しさん
11/12/03 19:23:08.69
>>150
その関数はプログラム例10.5.1のどの部分に組み込めばいいのでしょうか?
189:デフォルトの名無しさん
11/12/03 19:24:42.23
>>187
1 + 3 + 5 + … + 17
190:日系アメリカ人 ◆japYJPNx6A
11/12/03 19:28:09.94
652 : ◆QZaw55cn4c :2011/12/03(土) 10:16:56.22
>>650
こっちでいろいろ煽ってくださいよー
スレリンク(tech板)
191:デフォルトの名無しさん
11/12/03 19:32:47.51
>>137
itoa()なんて初めて聞いたけど、特定の環境だとそういうのがあるわけね。
192:デフォルトの名無しさん
11/12/03 19:52:45.72
記述ですがお願いします。
整列手法や探索手法として様々な手法が提案されており、
いくつかの手法について学んできた。
1つの同じ問題を解く方法 として、
様々な手法が提案され実装されベンチマーク評価されている。
しかし、一般的なベンチマークでは評価できない項目がある。
この内容として具体的な例を考えなさい。
193:デフォルトの名無しさん
11/12/03 20:03:23.90
計算時間と計算量の違い。
O(1)でも数時間、数日掛かることもある。
194:デフォルトの名無しさん
11/12/03 20:07:54.03
>>191
iotaは由緒正しい歴史ある関数なんだよ。APL言語からの由来。
195:デフォルトの名無しさん
11/12/03 20:15:21.21
>>193 なるほど有難うございます。
あともう一つあるるので良ければお願いします
クイックソートは、O(n log n) の高速な整列関数としてよく知られている。
高速なソートであるが、ソートのベンチマークに用いられる指標について説明しなさい。
196:デフォルトの名無しさん
11/12/03 20:16:44.63
>>195
>>1
197:デフォルトの名無しさん
11/12/03 20:19:22.81
>>193
それって具体的にはどんな状況? データの読み書きに凄く時間がかかるとか?
でもそれだってベンチマークはできるような。
198:デフォルトの名無しさん
11/12/03 20:41:51.82
ソート対象の配列が主記憶を使い切るような大きさであった場合、
低速な補助記憶装置が使われるので、アルゴリズムのメモリ使用パターンが重要となる。
そのような状況では、主記憶上ですべてソートできることを前提としたアルゴリズムは効率が極端に悪化する可能性がある。
このような状況では、比較演算回数はあまり重要ではなくなり、ディスクとのメモリ領域のスワップ回数が重要となる。
したがって、なるべくスワップ回数を増やさないようにするために、配列全体を走査する回数や比較の局所性が比較回数よりも重要となる。
例えば、再帰型のクイックソートは主記憶上では性能が良いが、ソート対象の配列が主記憶に収まらない場合は
スワップが頻繁に発生して、性能が極端に低下する。したがって、そのような場合は比較回数が多くても他のアルゴリズムを使った方がよい。
URLリンク(ja.wikipedia.org)
199:デフォルトの名無しさん
11/12/03 20:47:20.36
前スレで>>17の宿題を依頼したものですが、どなたか完成した方はいらっしゃいますか?
200:デフォルトの名無しさん
11/12/03 20:47:42.49
>>197
それはおいといて。ベンチマークからではオーダーは決定できない。(推定はできるが)
O(n*n)がO(n)やO(1)より速いことはある。
201:デフォルトの名無しさん
11/12/03 21:47:53.95
>>166
URLリンク(ideone.com)
202: ◆QZaw55cn4c
11/12/03 22:42:36.89
スレリンク(tech板:993番)
>C++のsetかmapを使えば楽で短く書けるのに
>何でそこまで自虐的なのか
URLリンク(ideone.com)
203:デフォルトの名無しさん
11/12/03 22:52:05.16
>>202
そうそうこんな感じ
お前なかなか可愛い所があるじゃないか
アッカーマン関数もこんな感じで再計算を防止すると馬鹿っ速くなるよ
204: ◆QZaw55cn4c
11/12/03 22:55:16.83
>>203
m(_ _;; m
205:デフォルトの名無しさん
11/12/03 23:42:56.20
階乗計算(5000!など)は定数時間でできるらしい。
206:デフォルトの名無しさん
11/12/04 00:22:07.18
>>146,188
URLリンク(ideone.com)
207:デフォルトの名無しさん
11/12/04 00:23:22.93
>>200
あ、もちろんそういう事実は了解していますが、
そもそも>この問題の真意が自分にはよくわからなかったのでw
これが>>192の問題への解答ということであれば、
あるソート関数の計算量のオーダーがわからない状況でベンチマークだけ
やってみる、というのがこの問題の前提になるような?
それだとむしろ実データから計算量のオーダーを逆推定する問題の困難さ、の方が
強調されてしまうような... そういうことを授業とかで問う必要はあるのかなあと。
計算量の次数だけでは必ずしも速度はわからない、という話ならわかるんですけど。
考え過ぎ?
208:デフォルトの名無しさん
11/12/04 03:11:52.15
>>199
あるページのコピペのソース
URLリンク(codepad.org)
209: ◆QZaw55cn4c
11/12/04 04:30:48.35
>>208
URLリンク(karetta.jp)
ですねえ。有名どころだし。
210:デフォルトの名無しさん
11/12/04 04:49:53.13
>>187
#include <stdio.h>
int main()
{
int x = 0;
int y = 1;
do {
x = x + y;
y = y + 2;
} while (y <= 15);
x = x + y;
printf("%d\n", x);
return 0;
}
211:デフォルトの名無しさん
11/12/04 04:57:37.21
>>203
いたのか。
いつまでたっても終わらなかったコードを提示しろと散々
212:デフォルトの名無しさん
11/12/04 05:27:59.61
P型記述子を用いて曲線をフーリエ変換するプログラムを作らなければならないのですが、
全く進まなくて困っています。
サンプルプログラムなどを見て理解していきたいのですがどなたか教えていただけないでしょうか
213:デフォルトの名無しさん
11/12/04 06:19:24.11
なんのサンプルがほしいんだろ。
P型記述子を用いて曲線をフーリエ変換するサンプルプログラムじゃないんだよね
214:デフォルトの名無しさん
11/12/04 06:28:49.17
分かりにくくなってしまってごめんなさい
P型記述子を用いて曲線をフーリエ変換するサンプルプログラムがほしいです。
215:デフォルトの名無しさん
11/12/04 08:00:19.13
>>180
動作確認しました、ありがとうございます!
216:デフォルトの名無しさん
11/12/04 08:29:19.22
それはサンプルじゃなくて直球の答えじゃないのかっていう突っ込みかと
217:デフォルトの名無しさん
11/12/04 08:39:37.13
まぁぶっちゃけそのまま答えになっちゃうようなものですが・・・
どうしていいか全く分からないもので・・・
218:デフォルトの名無しさん
11/12/04 09:04:31.42
>>193 197 198 200 207
本当に有り難うございました。
申し訳ないのですがもう1問お願いします。
[1] 授業単元: プログラム
[2] 問題文(含コード&リンク):クイックソートは、O(n log n) の高速な整列関数としてよく知られている。
高速なソートであるが、ソートのベンチマークに用いられる指標について説明しなさい。
[4]月曜日
[5]基本的にC言語
宜しくお願いします。
219:デフォルトの名無しさん
11/12/04 09:09:10.35
>>218
> [2] 問題文: 指標について説明しなさい。
> [5] 基本的にC言語
お前はその単元落ちた方がいいと思う。
220: ◆QZaw55cn4c
11/12/04 09:10:46.10
>>218
URLリンク(ja.wikipedia.org)
221:デフォルトの名無しさん
11/12/04 09:46:39.97
>>220
このページの一般的なオーダのことでしょうか?
222: ◆QZaw55cn4c
11/12/04 10:10:26.33
>>221
「ソートのベンチマークに用いられる指標」なら、ランダウのΟ記法じゃないかと思ったのだが、違う?
223:デフォルトの名無しさん
11/12/04 10:17:42.38
スレチ
224:デフォルトの名無しさん
11/12/04 10:18:05.65
>>222
書き方しだいだけど少し違う らしいです
225:デフォルトの名無しさん
11/12/04 11:04:45.62
>>218
お前受けてる授業が何なのか、わかってないだろ
226:デフォルトの名無しさん
11/12/04 11:15:43.29
>>225
単元でしたか・・ 教科名だと思ってました。 単元はソートですね
227:デフォルトの名無しさん
11/12/04 11:20:42.50
まぁぶっちゃけそのまま答えになっちゃうようなものですが・・・
どうしていいか全く分からないもので・・・
228:デフォルトの名無しさん
11/12/04 11:33:36.59
授業受けてないんだな・・・しかも相談する友達もいないのか・・・
229:デフォルトの名無しさん
11/12/04 11:37:43.66
そもそもあの問題C言語もC++も関係ないだろ
230:デフォルトの名無しさん
11/12/04 11:40:20.15
>>208
>>17の3、4、5が満たされてないです
231: ◆/BwcIAUGUw
11/12/04 13:34:40.28
>>117
wikiを参考にされたということですが、DCT(タイプ1から4まである中)のどの公式を見たのでしょうか?
今更ですが教えていただけませんか?
232:デフォルトの名無しさん
11/12/04 15:27:24.27
>>117
関数dct、o[k]って加算して出すんじゃないかな?
233: ◆/BwcIAUGUw
11/12/04 17:07:24.13
>>232
加算して出すとはどういうことなのでしょうか?
もう少しかみくだいて教えていただけませんか?
234:デフォルトの名無しさん
11/12/04 18:31:48.63
Σだからn0~N-1までを加算するってことだと
235:デフォルトの名無しさん
11/12/04 19:43:51.22
>>233
for(k=0;k<e;k++){
for(n=0;n<e;n++){
o[k]=i[n]*cos(M_PI/(double)e*(0.5+(double)n)*(double)k);
}
}
↓
for(k=0;k<e;k++){
o[k]=0;
for(n=0;n<e;n++){
o[k]+=i[n]*cos(M_PI/(double)e*(0.5+(double)n)*(double)k);
}
}
236:デフォルトの名無しさん
11/12/04 21:53:43.61
[1] 授業単元:C++
[2] 問題文(含コード&リンク):次の if 文を表す抽象構文木を構築して表示するプログラムを作成せよ
if (i < 0) {s = s - i;}
else {s = s + i;}
[3] 環境
[3.1] OS: Windows
[3.2] コンパイラ名とバージョン: (gcc 3.4 VC 6.0等)
[3.3] 言語: C++
[4] 期限: 明日の明朝
[5] その他の制限:
クラス St_if の仕様は次の通りである.
? 継承関係
Statement の派生クラスである.
? メンバー
1. Expression* cond … 条件式
2. Statement* then … then 部の文
3. Statement* else … else 部の文
? メソッド
5?141. St if(Expression* cond, Statement* then, Statement* els)
条件式が cond, then 部の文が then, else 部の文が els
6 であるようなインスタンスを作るコンス
トラクタ.
2. ?St if()
デストラクタ. cond , then , else を delete する.
3. const Expression* condition() const … cond を読み出す.
4. const Statement* then part() const … then を読み出す.
5. const Statement* else part() const … else を読み出す.
6. void print(std::ostream& os, int indent=0) const … 表示
237:デフォルトの名無しさん
11/12/04 21:59:25.76
>>236
誤字訂正します
・継承関係
Statement の派生クラスである.
class Statement
{
public:
Statement() {} // コンストラク
virtual ~Statement() {} // デストラク
virtual void print(std::ostream& os, int indent=0) const = 0; //表示
private:
Statement(const Statement&); // コピーコンスタラクタは禁止
Statement& operator=(const Statement&); // 代入演算は禁止
};
・メンバー
1. Expression* cond … 条件式
2. Statement* then … then 部の文
3. Statement* else … else 部の文
・メソッド
1 St_if(Expression* cond, Statement* then, Statement* els)条件式が cond, then 部の文が then, else 部の文が elsであるようなインスタンスを作るコンストラクタ.
2. ~St_if() デストラクタ. cond , then , else を delete する.
3. const Expression* condition() const … cond を読み出す.
4. const Statement* then part() const … then を読み出す.
5. const Statement* else part() const … else を読み出す.
6. void print(std::ostream& os, int indent=0) const … 表示
238:デフォルトの名無しさん
11/12/04 22:38:06.60
>>236
URLリンク(codepad.org)
239:デフォルトの名無しさん
11/12/04 23:16:06.57
>>238
ありがとうございます。
もしよければ ast.cpp(クラスの入った実装ファイル) ast.h(printが実装されたヘッダファイル) ***.cpp(mainのファイル)といった3つの形で
g++ -g ***.cpp ast.cppを使いコンパイルできるコードを書いていただければありがたいです。
240:デフォルトの名無しさん
11/12/05 00:08:16.69
>>239
それくらい自分でできないなら学校辞めたほうがいいレベル
241:デフォルトの名無しさん
11/12/05 00:11:50.90
プログラミングⅡの先生は意味分からんよね
242:デフォルトの名無しさん
11/12/05 00:13:39.96
困ってるのはお互い様です
243:デフォルトの名無しさん
11/12/05 00:14:18.22
私はテスト捨てますがね
244:デフォルトの名無しさん
11/12/05 00:17:35.47
>>239
そんぐらい分けろよ
245:デフォルトの名無しさん
11/12/05 00:21:30.58
[1] 授業単元:2分探索
[2] 問題文(含コード&リンク):
URLリンク(ideone.com)
データが昇順ではなく、降順に並んでいる場合の2分探索をプログラムを作成せよ
[3] 環境
[3.1] OS:Windows7
[3.2] コンパイラ名とバージョン:VC2008
[3.3] 言語: C
[4] 期限:12/6
246:デフォルトの名無しさん
11/12/05 00:22:00.97
>>139 >>143
ありがとうございます。
247:デフォルトの名無しさん
11/12/05 00:23:32.09
これが反日マスコミの編集による矮小化
176 :七つの海の名無しさん:2011/11/17(木) 21:57:56.45 ID:gClQt5ed
【重要】 ブータン国王の演説の報道は、重要な部分がことごとく反日マスコミにカットされて報道されています
「世界史において、かくも傑出し、重要性を持つ機関である日本国、(その)国会の中で、」 →★全部カット
「ブータン国民は、常に、日本に、強い、愛着の心を持ち、何十年もの間、偉大な日本の成功を →★全部カット
心情的に分かち合ってきました。」
「日本は、当時外国の領地(植民地)であったアジアに、自信とその進むべき道への自覚をもたらし
以降、日本のあとに続いて世界経済の最前線に躍り出た数多くの(アジアの)国々に希望を与えてきました」 →★全部カット
「日本は、過去においても、現代においても、世界のリーダーであり続けます」
「このグローバル化した世界において、日本は、技術と革新の力、勤勉さと責務、強固な伝統的な価値における模範
であり、これまで以上にリーダーにふさわしいのです。」 →★全部カット
「世界は、常に、日本のことを、大変な名誉と誇り、そして規律を重んじる国民、歴史に裏打ちされた誇り高き伝統を持つ国民、
不屈の精神、断固たる決意、そして秀でることに願望を持って、何事にも取り組む国民、知行合一、兄弟愛や友人、
ゆるぎない強さと気丈さを併せ持つ国民、であると認識してまいりました」 →★全部カット
「他の国であれば、国家を打ちのめし、国家を打ち砕き、無秩序、大混乱、そして悲嘆をもたらしたであろう事態に
日本国民の皆様は、最悪の状況下でさえ、静かな尊厳、自信、規律、ここの強さを以って、対処されました」 →★全部カット
他にもカットシーンがたくさんあるので、ブータン国王の演説 でyoutube検索してください
248:デフォルトの名無しさん
11/12/05 00:54:27.11
スレチ
あほか?
249:デフォルトの名無しさん
11/12/05 03:07:22.89
>>245
URLリンク(ideone.com)
250:デフォルトの名無しさん
11/12/05 04:49:03.10
文字入力して簡単な加工なり計算なりして表示しなさい
っていう学校の問題としても初期のところを丸投げしてるとその先完全に詰むぞ多分
離散コサイン変換がわからん~とか言うところならしょうがないけど
251:デフォルトの名無しさん
11/12/05 09:27:33.76
A(1,4) B(2,2) C(3,5) D(4,1) の4点があり線分ADと線分BCが点P(x,y)で交差している。
(1)四角形ABCDの面積を求めよ(2分)
(2)P(x,y)のx,yを求めよ(4分)
252:デフォルトの名無しさん
11/12/05 10:39:36.90
>>150
有難う御座います
>>188の件は自己解決しました
253:デフォルトの名無しさん
11/12/05 13:32:18.78
[1] 授業単元:ポインタと関数
[2] 問題文(含コード&リンク):
数(整数)へのポインタsc を引数として,点数を
0 以上100 以下に修正する関数limit_sc(int *sc) を
作成せよ.
実行例.
・点数を入力してください:110
点数を修正しました。
点数:100
・例2,点数を入力してください:85
点数を修正しませんでした。
点数:85
[3.1] OS:linux
[3.2] コンパイラ名とバージョン:gcc
[3.3] 言語: C
[4] 期限:12/6
[5]・負の点数を0 点に,100 を超える点数を100 点に修
正するものとする
・関数の返却値はint 型とし,点数を修正した場合
には1,修正しなかった場合は0 を返す関数とすること.
以下の実行例のように,関数の動作を確認できるmain
関数も作成すること.
254:デフォルトの名無しさん
11/12/05 13:34:47.75
[1] 授業単元:C言語
[2] 問題文(含コード&リンク):
連立方程式、ax+by=c,dx+ey=fの係数a,b,c,d,e,fを2×3の2次元配列にキーボードから入力し、
この連立方程式を解くプログラムを作成せよ。(ただし、a~fは0ではないと仮定してよい)
[3] 環境
[3.1] OS:Linux
[3.2] コンパイラ名とバージョン:gcc 3.4
[3.3] 言語:C言語
[4] 期限: 12月5日19時迄
[5] その他の制限:期限まで短いですが宜しくお願いします。
255:デフォルトの名無しさん
11/12/05 13:37:51.20
>>253
「以下の実行例」ってやつが書いてないからmainは何とかしろ
int limit_sc(int *sc)
{
if (*sc > 100) {*sc = 100;return 1}
if (*sc < 0) {*sc = 0;return 1}
return 0
}
256:255
11/12/05 13:39:35.39
セミコロン忘れたけどまあいいか
257:デフォルトの名無しさん
11/12/05 13:45:28.09
[1] 授業単元:C言語
[2] 問題文(含コード&リンク):
xy平面上の2点の座標を2×2の2次元配列にキーボードから入力し、これら2 点間の距離を計算して画面表示するプログラムを作成しなさい。ただし、2点の座標をそれぞれ (x_1, y_1),(x_2, y_2) とするとき、これらの間の距離は{(x_2-x_1)^2+(y_2-y_1)^2}^1/2で求められる。
[3] 環境
[3.1] OS:Linux
[3.2] コンパイラ名とバージョン:gcc 3.4
[3.3] 言語:C言語
[4] 期限:12月5日19時迄
[5] その他の制限:先程の者ですが、こちらも宜しくお願いします。
258:デフォルトの名無しさん
11/12/05 13:49:40.53
[1] 授業単元:プログラム
[2] 問題文:ローマ数字をアラビア数字に変換するプログラム
[3] 環境
[3.1] OS: Linux
[3.2] コンパイラ名とバージョン: gcc 3.4
[3.3] 言語: C
[4] 期限: 2012年12月5日24:00まで
[5] その他の制限: 使用出来るライブラリはstdioとstdlib
259:デフォルトの名無しさん
11/12/05 15:26:01.70
>>258
URLリンク(ideone.com)
260:デフォルトの名無しさん
11/12/05 15:42:19.66
>>258
ありがとうございまぷ。
261:デフォルトの名無しさん
11/12/05 15:43:50.07
ミスりました
>>259 ありがとうございます。
262:デフォルトの名無しさん
11/12/05 16:05:49.08
>>257
URLリンク(codepad.org)
263:デフォルトの名無しさん
11/12/05 16:32:54.14
>>254
URLリンク(codepad.org)
264:デフォルトの名無しさん
11/12/05 16:34:11.56
>>262
ありがとうございます。
自分のものと比べつつ後学に使わせてもらいます。
265:デフォルトの名無しさん
11/12/05 16:35:41.28
>>263
ありがとうございます。
266:デフォルトの名無しさん
11/12/05 17:03:44.20
[1] 授業単元:C言語
[2] 問題文(含コード&リンク):
キーボードから10個の整数を整数型配列に入力し、1番大きな数、2番目に大きな数、3番目に大きな数…10番目に大きな数の順に画面表示するプログラムを作成しなさい。
(ただし、同じ数が入力されても対処できるようにすること)
[3] 環境
[3.1] OS:Linux
[3.2] コンパイラ名とバージョン:gcc
[3.3] 言語:C言語
[4] 期限:12月5日24:00
[5] その他の制限:宜しくお願い致します
267:デフォルトの名無しさん
11/12/05 17:29:50.64
>>263
コンパイルで弾かれるのですが、もう一度確認してもらってよろしいでしょうか
あと、gcc 2.95でした。すいません。
268:デフォルトの名無しさん
11/12/05 17:34:38.33
>>267
エラーメッセージも貼れないの?
269:デフォルトの名無しさん
11/12/05 17:38:34.39
>>266
URLリンク(codepad.org)
270:デフォルトの名無しさん
11/12/05 18:15:46.96
>>259さんのroman_to_int関数の解説を、どなたか頂けませんか。
271:デフォルトの名無しさん
11/12/05 18:29:04.24
>270
名前の通りだが?
読めない?
272:デフォルトの名無しさん
11/12/05 18:42:58.71
>>267
色々と間違えました。
>>257のエラーで、エラーメッセージは、
/tmp/ccTVCSf2.o: In function `distance':
9-15.c:(.text+0x7b): undefined reference to `sqrt'
collect2: ld はステータス 1 で終了しました
です。
273:デフォルトの名無しさん
11/12/05 18:45:09.90
…どなたかって本人でもいいのかな。
基本的には対応する数字(Xなら10)を加算して、
次の文字が今の文字よりも大きいとき(IVとか)はIを減算してる
次の文字が\0の場合は0が返ってくるので問題なし
18行目の;;はただのtypo
274:デフォルトの名無しさん
11/12/05 18:46:29.82
>>273
ありがとうございます!!
理解できました。
275:255
11/12/05 18:47:12.98
>>272
sqrtのリンクに失敗してんだよ
#include <math.h>
って行がソースにあったらコマンドラインの最後に
-lm
つけれ
276:デフォルトの名無しさん
11/12/05 18:47:53.01
あと、get_roman_valuesって名前はどうかと思いつつ、めんどくさくてそのままにした。
roman_to_intと、roman_string_to_intあたりがいいのかも
277:デフォルトの名無しさん
11/12/05 18:54:26.45
-lmって大抵の人が一回はまるよね。
278:デフォルトの名無しさん
11/12/05 18:55:04.09
あれ、俺ずっとageてたごめん
279:デフォルトの名無しさん
11/12/05 18:59:41.01
>>255
なるほど、できました。
ありがとうございます。
280:デフォルトの名無しさん
11/12/05 21:59:53.34
[1] 授業単元:C言語
[2] 問題文(含コード&リンク):URLリンク(www1.axfc.net)
[3] 環境
[3.1] OS:Linux
[3.2] コンパイラ名とバージョン:gcc
[3.3] 言語:C
[4] 期限:2011年12月06日18:00まで
[5] その他の制限:あまり高度な記述をしないで作成していただけると有難いです
281:デフォルトの名無しさん
11/12/05 23:22:01.47
>>277
そういえばMac OS Xだとlibc相当部分にlibm相当もリンクされているのではまらないw
これはいいことなのか悪いことなのか
282:デフォルトの名無しさん
11/12/05 23:22:23.34
[1]C言語
[2]xy平面上の2点の座標を2x2の2次元配列にキーボードから入力し、これら2点間の距離を計算して画面表示するプログラム
※√(x2-x1)^2+(y2-y1)^2で求められる。
[3]OS:win7
コンパイラ:?
言語:C
[4]12/6 0:00
283:282
11/12/05 23:23:45.60
自己解決しました
すいませんでした
284:デフォルトの名無しさん
11/12/05 23:24:07.86
>>280
URLリンク(codepad.org)
285:デフォルトの名無しさん
11/12/05 23:30:53.44
>>280
URLリンク(ideone.com)
286:デフォルトの名無しさん
11/12/05 23:38:20.38
>>280
URLリンク(codepad.org)
287:デフォルトの名無しさん
11/12/06 02:51:09.50
なんでBMI大人気なのw
288:デフォルトの名無しさん
11/12/06 03:35:35.06
>>287
まぁ、入門用の問題としていいからじゃないの?
289:デフォルトの名無しさん
11/12/06 06:31:03.70
[1] 授業単元:ポインタと関数
[2] 問題文(含コード&リンク):
数(整数)へのポインタsc を引数として,点数を
0 以上100 以下に修正する関数limit_sc(int *sc) を作成せよ.
[3.1] OS:linux
[3.2] コンパイラ名とバージョン:gcc
[3.3] 言語: C
[4] 期限:12/6
[5]・負の点数を0 点に,100 を超える点数を100 点に修
正するものとする
・関数の返却値はint 型とし,点数を修正した場合
には1,修正しなかった場合は0 を返す関数とすること.
以下の実行例のように,関数の動作を確認できるmain
関数も作成すること
実行例
・点数を入力してください:110
点数を修正しました。
点数:100
・例2,点数を入力してください:85
点数を修正しませんでした。
点数:85.
290:デフォルトの名無しさん
11/12/06 07:34:31.30
>>289
#include <stdio.h>
int limit_sc(int *sc)
{
if(*sc > 100){
*sc = 100;
return 1;
}else if(*sc < 0){
*sc = 0;
return 1;
}else{
return 0;
}
}
int main()
{
int n;
printf("点数を入力してください:");
scanf("%d",&n);
if(limit_sc(&n)){
puts("点数を修正しました。");
}else{
puts("点数を修正しませんでした。");
}
printf("点数:%d\n",n);
return 0;
}
291:デフォルトの名無しさん
11/12/06 08:10:53.55
>>284-286
ありがとうございます
292:デフォルトの名無しさん
11/12/06 12:00:29.44
【質問テンプレ】
[1] 授業単元:プログラミング
[2] 問題文(含コード&リンク):多重配列を降順ソートする
[3] 環境
[3.1] windows 7
[3.3] C言語
[4] 期限: 12/7 17時
[5] 特になし
1列目をソートする方法は分かったのですが、2列目以降を基準としてソートする方法がわかりません
ソート前 ソート後
1 3 3 5 2 8
5 2 8 1 3 3
293:255
11/12/06 12:05:17.70
>>292
どうやってソートした?
294:デフォルトの名無しさん
11/12/06 12:05:19.64
>>292
3列目でソート
2列目でソート
1列目でソート
295:292
11/12/06 12:22:57.74
今のプログラムはこんな感じです
int aaa(const void *a, const void *b);
int i;
int *j;
typedef struct {
double abc;
double def;
double ghi;
} ponta;
int main(void){
ponta datee[10]={
{ 8, 4, 3 },
{ 6., 1, 7 },
{ 2, 2, 1 },
{ 5, 9, 6 },
};
qsort(datee, 3, sizeof(double), aaa);
for (i=0; i<=3; i++){
printf("%.1lf %.1lf %.1lf\n",datee[i]);}
return 0;}
int aaa(const void *a, const void *b){
if (*(double*)a<*(double*)b) return -1;
else if (*(double*)a == *(double*)b) return 0;
else return 1;}
296:292
11/12/06 12:25:03.62
色々いじってたらなんかまたおかしくなってますね…1列目でソートしたプログラムを誤って消してしまったようです
297:デフォルトの名無しさん
11/12/06 12:58:37.81
>>292
URLリンク(codepad.org)
298:デフォルトの名無しさん
11/12/06 12:59:04.81
多重配列じゃなくて構造体配列じゃね。
それならaaaを工夫すればいいよ
299:デフォルトの名無しさん
11/12/06 13:02:59.16
>>297
えっ
300:デフォルトの名無しさん
11/12/06 13:04:27.84
あっ
301:デフォルトの名無しさん
11/12/06 13:19:35.92
>>292
こうか
URLリンク(codepad.org)
302:デフォルトの名無しさん
11/12/06 13:28:14.89
>>292の書き込みだけで、おまえらよくエスパーできるな
303:デフォルトの名無しさん
11/12/06 13:29:53.93
>>295もあるよ!
304:255
11/12/06 13:43:42.27
>>295まででできてたら、もう自分でできそうな気もするんだが
aaaのなかでdouble*でなくて、pontaでキャストして
abc、def、ghiでそれぞれ比較するような感じの関数3つ作れ
305:デフォルトの名無しさん
11/12/06 13:46:31.35
名前消すの忘れてた・・・
306:デフォルトの名無しさん
11/12/06 13:46:37.46
関数3つ?
>>301でいいとおもうんだけど。
307:デフォルトの名無しさん
11/12/06 13:55:16.69
3つに分けたほうが読みやすくね?
308:デフォルトの名無しさん
11/12/06 13:56:37.04
qsort3回呼ぶってことか?
qsortって非破壊?
309:デフォルトの名無しさん
11/12/06 14:00:16.35
いや?破壊する。
310:292
11/12/06 14:49:00.12
皆さんのおかげで無事完成しました
ありがとうございました
311:デフォルトの名無しさん
11/12/06 20:02:31.00
[1] 授業単元: C言語
[2] 問題文(含コード&リンク): URLリンク(www.kent-web.com)
[3] 環境
[3.1] OS: Linux
[3.2] コンパイラ名とバージョン:gcc
[3.3] 言語: C
[4] 期限: 2011年12月8日
[5] その他の制限: リスト操作関数URLリンク(ideone.com)を用いてください。
よろしくお願いします。
312:デフォルトの名無しさん
11/12/06 21:41:19.43
>>311
アルゴリズムは低速でもおk?
313:デフォルトの名無しさん
11/12/06 23:07:01.56
アルゴリズム指定されてる気がするけど、いいんじゃない
314:311
11/12/06 23:08:20.67
>>312
全然構いません。
315:デフォルトの名無しさん
11/12/06 23:09:39.99
嘘吐き朝鮮、中国人がやってる報道機関 朝鮮人犯罪があまり報道されない理由
韓国文化放送(MBC) 〒135-0091 東京都港区台場2-4-8 18F
フジテレビジョン 、、 〒137-8088 東京都港区台場2-4-8
韓国聯合TVNEWS(YTN) 〒105-0000 東京都港区赤坂5-3-6
TBSテレビ 、 、、 .〒107-8006 東京都港区赤坂5-3-6
大韓毎日 、、、、、、、、、、、、 〒108-0075 東京都港区港南2-3-13 4F
東京新聞(中日新聞社東京本社) 〒108-8010 東京都港区港南2-3-13
京郷新聞 、、、、、、〒100-0004 東京都千代田区大手町1-7-2
産経新聞東京本社 〒100-8077 東京都千代田区大手町1-7-2
(サンケイスポーツ、夕刊フジ、日本工業新聞社)
朝鮮日報 、、、 〒100-0003 東京都千代田区一ツ橋1-1 4F
毎日新聞東京本社 〒100-8051 東京都千代田区一ツ橋1-1-1
韓国日報 、、、、 〒100-0004 東京都千代田区大手町1-7-1 8F
読売新聞東京本社 〒100-8055 東京都千代田区大手町1-7-1
東亜日報 、、、 〒104-0045 東京都中央区築地5-3-2
朝日新聞東京本社 〒104-8011 東京都中央区築地5-3-2(AFP、NYT)
韓国放送公社(KBS) 〒150-0041 東京都渋谷区神南2-2-1NHK東館710-C
NHK放送センター、 〒150-8001 東京都渋谷区神南2-2-1
316:デフォルトの名無しさん
11/12/06 23:23:57.22
[1] 授業単元:C
[2] 問題文(含コード&リンク):
URLリンク(codepad.org)
リンク先のコードのint searchを、以下のコードに書き換えて、プログラムを完成させなさい。
int bi_search(int target) {
int hi, lo, mid;
lo = 0;
hi = N - 1;
while (lo <= hi) {
mid = (lo + hi) / 2;
if (target == St[mid].num)
return mid;
else if (target < St[mid].num)
hi = mid - 1;
else
lo = mid + 1;
return -1;
}
[3] 環境
[3.1] OS:Windows7
[3.2] コンパイラ名とバージョン:Visual Studio 2008
[3.3] 言語:C
[4] 期限:12/8
[5] その他の制限:
317:デフォルトの名無しさん
11/12/06 23:24:50.35
[1] 授業単元:ソフトウェア設計
[2] 問題文(含コード&リンク):URLリンク(codepad.org)
[3] 環境
[3.1] OS: Windows vista
[3.2] コンパイラ名とバージョン: visual C++ 2008
[3.3] 言語: C++
[4] 期限: 2011年12月07日13:00まで
[5] その他の制限: 特に無し
助けて下さい。
よろしくお願いします。
318:デフォルトの名無しさん
11/12/06 23:38:53.45
[1] 授業単元:アルゴリズム
[2] 問題文(含コード&リンク):URLリンク(www1.axfc.net)
リンク先のグラフを探索して最短経路を求めるプログラムを作ってください。
探索アルゴリズムは横型探索を用いてください。
[3] 環境
[3.1] OS:windows
[3.2] コンパイラ名とバージョン:gcc
[3.3] 言語:C言語
[4] 期限:2011年12月10日
[5]URLリンク(www1.axfc.net) 横型探索のアルゴリズム
に則って作成お願いします。OPENに探索可能なノードのリスト、CLOSEDに
既に探索したノードのリストを格納してください。
*横型探索なのでグラフにあるエッジを通るコストと予測コストは関係ないと思います。
エッジの向きだけ考慮して作成お願いします。