1 名前:デフォルトの名無しさん [2011/12/23(金) 22:51:14.19 ] C言語の*入門者*向け解説スレッドです。 ★前スレ C言語なら俺に聞け(入門編)Part 93 toro.2ch.net/test/read.cgi/tech/1322866566/ ★過去スレ makimo.to:8000/cgi-bin/search/search.cgi?q=%82b%8C%BE%8C%EA%82%C8%82%E7%89%B4%82%C9%95%B7%82%AF&andor=AND&sf=0&H=&view=table&D=tech&shw=5000 ★教えて欲しいのではなく宿題を丸投げしたいだけなら ↓宿題スレ↓へ行ってください。 C/C++の宿題片付けます 154代目 hibari.2ch.net/test/read.cgi/tech/1322562648/ ★C++言語については避けてください。C++対応明記スレへどうぞ ★分からない事をなるべく詳しく書いて下さい。 ★ソースコードを晒すと答えやすくなるかもしれません。 # 抜粋/整形厳禁、コンパイラに渡したソースをそのまま貼ること # サイズが大きい場合は宿題スレのアップローダ等を利用してください ★開発環境や動作環境も晒すと答えが早いかもしれません。 ★質問者は最初にその質問をした時のレス番号を名前欄に書いて下さい。 長くなりそうなコードはcodepadに貼り付けてもいいでしょう codepad.org/
77 名前:デフォルトの名無しさん mailto:sage [2011/12/25(日) 12:38:22.25 ] >>75 >やってみたのですがうまくいかず難しいです 何をやって、どううまくいかないか書けよ。 て言うか、 char* SampleFuncStr() { static char sz[100]; strcpy( sz, "test" ); return sz; } ぐらいは試したのか?
78 名前:デフォルトの名無しさん [2011/12/25(日) 12:38:34.81 ] >>47 ありがとうございました。 「クラス」がすごく重要なんですね。 そこをしっかりと勉強します。
79 名前:72 mailto:sage [2011/12/25(日) 12:49:00.23 ] >>77 コンパイルしてみたらVCの下の画面にエラーが出てしまいます
80 名前:デフォルトの名無しさん mailto:sage [2011/12/25(日) 12:53:26.48 ] >>72 エラーメッセージも読めないレベルの人なら、先に普通のアプリが作れるようになってからDLLとか書いた方がいいよ
81 名前:デフォルトの名無しさん mailto:sage [2011/12/25(日) 13:15:23.36 ] >>79 >コンパイルしてみたらVCの下の画面にエラーが出てしまいます >> どううまくいかないか (=エラーの内容ぐらい) 書けよ。
82 名前:デフォルトの名無しさん [2011/12/25(日) 14:02:41.47 ] ttp://ist.ksc.kwansei.ac.jp/~ibaraki/shokodo/select.c このプログラム何ですが、実行エラーが出るのですが何故ですか? 皆さんはでますか?僕が間違ってるのでしょうか? 60 3 1 2 . . 59 60 というテキストファイルを読み込みのために作りました。 コンパイルはエラーがないものの、実行時Segmentation faulが表示されます。
83 名前:72 mailto:sage [2011/12/25(日) 14:16:31.59 ] すいませんエラーはこれです >プログラム 'D:\source\vc++\Projects\HelloWorld\Debug\HelloWorld.dll' を開始できません。
84 名前:デフォルトの名無しさん mailto:sage [2011/12/25(日) 14:24:30.42 ] HelloWorld.dllを実行しようとしてる?
85 名前:72 mailto:sage [2011/12/25(日) 14:34:08.22 ] F5を押してdllを作ってます ソースコードを載せるので添削お願いします ■hello.def LIBRARY hello EXPORTS SampleFuncStr ■hello.h extern int SampleFunc(); ■hello.cpp #include <string.h> char* SampleFuncStr() { static char sz[100]; strcpy( sz, "test" ); return sz; }
86 名前:デフォルトの名無しさん mailto:sage [2011/12/25(日) 14:48:46.32 ] >>82 >n = 60 >A = 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 >3-th smallest element = 3 こういう出力が出てきて、正常に実行出来た。 関数selectの名前だけ変えたが。
87 名前:デフォルトの名無しさん mailto:sage [2011/12/25(日) 14:52:36.32 ] >>83 >>プログラム 'D:\source\vc++\Projects\HelloWorld\Debug\HelloWorld.dll' を開始できません。 ちゃんと >>74 やった?
88 名前:デフォルトの名無しさん mailto:sage [2011/12/25(日) 15:04:35.36 ] >>87 プロジェクト作るときにやりました defファイルもプロパティのモジュール定義ファイルにファイル名を書きました またプロジェクトを作り直してF5ボタンでデバッグをやったらさっきのエラーと別に新たに↓のエラーがでました >HelloWorld.exp : warning LNK4070: .EXP 内の /OUT:hello.dll ディレクティブの指定が出力ファイル名 'D:\source\vc++\Projects\HelloWorld\Debug\HelloWorld.dll' と異なっています。ディレクティブは無視されます。 ソリュージョンのビルドをやると以下の1行しか表示されなくなりましたがdllが作られませんでした ========== ビルド: 0 正常終了、0 失敗、1 更新不要、0 スキップ ==========
89 名前:デフォルトの名無しさん mailto:sage [2011/12/25(日) 15:16:36.69 ] >>86 それでもスタックエラー出ましたが。 どうしてなんでしょうか.... 文書作成ソフトはNotepadです。 3 2 1 2 3 ↑ この5行が中身なんですが、 要素数が3 pが2 要素が1 2 3です。
90 名前:デフォルトの名無しさん mailto:sage [2011/12/25(日) 15:25:50.36 ] >>89 実行環境は? OSとコンパイラ名、それぞれのバージョンも
91 名前:デフォルトの名無しさん [2011/12/25(日) 16:21:23.16 ] >>90 txt保存のとき"ファイル名"でOKでした。 他に自分が、k=l;のところをk=1;でした。 ちなみに、s.cというファイルを作ったとしたら 勝手にs1.cみたいに数字付きファイルが作られている事があるのですが 何故ですか?
92 名前:デフォルトの名無しさん [2011/12/25(日) 16:21:48.04 ] これは必見 フジテレビ 生放送中に有志による怒りの抗議 (昨夜) (コメント欄に反日工作員が紛れているので注意) www.nicovideo.jp/watch/sm16518699?user_nicorepo
93 名前:デフォルトの名無しさん mailto:sage [2011/12/25(日) 16:26:56.17 ] >>91 お前解決する気ないだろ
94 名前:デフォルトの名無しさん mailto:sage [2011/12/25(日) 16:27:52.71 ] >>93 解決しました、ありがとうございます。
95 名前:88 mailto:sage [2011/12/25(日) 16:44:52.34 ] どうかたすけてください
96 名前:デフォルトの名無しさん mailto:sage [2011/12/25(日) 16:59:39.30 ] >>95 できてんじゃないの。 ない?
97 名前:デフォルトの名無しさん [2011/12/25(日) 17:02:41.25 ] 7ujm.net/C++/time.html (真ん中) このページを参考に現在時間を取得しました。 10分後の時間を取得したいのですが、どのようにしたらよいでしょうか。 以下のように行ったところうまくいきませんでした。 sprintf(buff,"%d:%d:%d",pnow->tm_hour,pnow->tm_min+10,pnow->tm_sec); 結果、16:64:55 これを、17:4:55とでるようにしたいです。
98 名前:88 mailto:sage [2011/12/25(日) 17:06:25.11 ] >>96 debugのところにはdllがあるんですけどソリュージョンでビルドをやったときにdllが作れませんn
99 名前:デフォルトの名無しさん mailto:sage [2011/12/25(日) 17:08:17.41 ] >>97 nowに10分足してからlocaltimeすればいんじゃね?
100 名前:デフォルトの名無しさん mailto:sage [2011/12/25(日) 17:10:59.64 ] >>97 now += 10*60;
101 名前:デフォルトの名無しさん mailto:sage [2011/12/25(日) 17:12:54.79 ] 10年前にこの地球が存在していたことを証明するには どこで計算ができますか?
102 名前:デフォルトの名無しさん mailto:sage [2011/12/25(日) 17:15:54.70 ] 仮にこの地球が本物ではないのだとしたら あなたはいったい誰なんですか?
103 名前:デフォルトの名無しさん mailto:sage [2011/12/25(日) 17:16:27.61 ] 登大遊さんが1日に1万行ソース書いたとかいうエピソード見ましたが 凄くないですか?
104 名前:デフォルトの名無しさん mailto:sage [2011/12/25(日) 17:17:58.17 ] 書くだけなら猿でもできるし
105 名前:デフォルトの名無しさん mailto:sage [2011/12/25(日) 17:18:56.42 ] 1万行はすごいけど、5000行程度なら普通にいるよな。 つまり、すごい人は普通の人の2倍の能力を持つ。
106 名前:デフォルトの名無しさん mailto:sage [2011/12/25(日) 17:19:29.23 ] ttp://d.hatena.ne.jp/softether/20070324 ↑ 一ヶ月数百行??? helloworld出力のソースだけで、 5,6行あるんだが... やっぱ職業プログラミングってhelloworldと違って複雑で難しいのかな。
107 名前:デフォルトの名無しさん mailto:sage [2011/12/25(日) 17:22:10.03 ] >>105 頭の良さってペーハー的に位置づけるらしいですね。 イメージだと、オイラーが10としたら,アインシュタインが8,シャノンが4くらいかな? 登大遊さんはどれくらいだろう。 少なくとも、彼程の天才今の大学生にいないでしょう。 周り見回しても。
108 名前:デフォルトの名無しさん mailto:sage [2011/12/25(日) 17:24:11.85 ] 5000行の内何割くらいがアルゴリズムなんだろう....
109 名前:デフォルトの名無しさん mailto:sage [2011/12/25(日) 17:31:58.95 ] いまどき行数やステップ数で考える人がいるなんて。
110 名前:デフォルトの名無しさん mailto:sage [2011/12/25(日) 17:33:46.75 ] >>109 発注主がそうだと、しかたがないよね
111 名前:デフォルトの名無しさん mailto:sage [2011/12/25(日) 17:34:04.84 ] 全くの0から自分の知ってる分野のプログラムを書くなら早いだろうけど 例えば今からEclipseのプラグイン作ってって言われて全く経験ない状態から24時間以内に5000行書いてみろよと
112 名前:デフォルトの名無しさん mailto:sage [2011/12/25(日) 17:35:16.45 ] 行数抜きに考えることもまた難しい。
113 名前:デフォルトの名無しさん mailto:sage [2011/12/25(日) 17:35:40.83 ] >>109 ほかに物差しが無いんだから仕方ないだろ。 行数だしとけばお金が引き出せるんだから むしろ積極的に利用した方がお手軽だぜ。
114 名前:デフォルトの名無しさん mailto:sage [2011/12/25(日) 17:40:00.31 ] #\ i\ n\ c\ l\ u\ d\ e\ とかやったらhello worldで60行くらいいけるな
115 名前:デフォルトの名無しさん mailto:sage [2011/12/25(日) 17:44:09.44 ] Ruby みたいのだと格安になっちゃうな。
116 名前:デフォルトの名無しさん mailto:sage [2011/12/25(日) 17:52:38.05 ] プログラミング環境としてはノートとデスクトップのどっちが 良いですか?やっぱりノートですか?速いし。
117 名前:デフォルトの名無しさん mailto:sage [2011/12/25(日) 17:57:11.33 ] 個人で使いやすいもの使っとけよ
118 名前:デフォルトの名無しさん mailto:sage [2011/12/25(日) 18:00:13.22 ] Desktopだと疲れない?
119 名前:デフォルトの名無しさん mailto:sage [2011/12/25(日) 18:04:12.63 ] デスクトップよりタワーの方がいいよ。
120 名前:デフォルトの名無しさん mailto:sage [2011/12/25(日) 18:04:16.58 ] コーダーの上がプログラマの上がシステムエンジニアの上は?
121 名前:デフォルトの名無しさん mailto:sage [2011/12/25(日) 18:08:52.16 ] >>109 >いまどき行数やステップ数で考える人がいるなんて。 じゃあなんで考えるんだよ。
122 名前:デフォルトの名無しさん mailto:sage [2011/12/25(日) 18:09:32.43 ] マジな話すると、ラップトップの小さい画面より、 デスクトップで大きなディスプレイ使って大きめの文字で設定するのが良いよ。 ディスプレイは、やや見下ろす位置に配置、 ブライトネスは暗めに設定、部屋の証明は消さない。 キーボードは体に近付けすぎない、肘が鈍角になる位置まで離す。
123 名前:デフォルトの名無しさん mailto:sage [2011/12/25(日) 18:12:07.95 ] 肘の位置重要だわ、死んだ人みたいに肘曲げて寝てる人いるけど、 あれありえないだろw疲れるw
124 名前:デフォルトの名無しさん mailto:sage [2011/12/25(日) 18:45:07.82 ] 平松サイド 橋下サイド 民主党 大阪市民(ナマポ、70代以上の大半を除く) 自民党 共産党 財界・関西電力 連合・自治労 日教組・公務員 毎日新聞・MBS 解放同盟・反日極左 朝鮮総連・韓国民団(野田の支持母体) 革マル派・中核派
125 名前:デフォルトの名無しさん mailto:sage [2011/12/25(日) 21:04:36.56 ] ノートで仕事すると5時間で死ぬな
126 名前:デフォルトの名無しさん mailto:sage [2011/12/25(日) 21:31:39.07 ] ITドカタやってて、今の現場はPC用意してくれなくて自分で持ち込みなんだけど、 でかいモニターを二つ持ち込んでるのって俺だけで、他はちっこいノートで作業してるから 浮いてて恥ずかしいわ。 eclipseとかあんなちっこい画面でよく使えるわ。
127 名前:デフォルトの名無しさん mailto:sage [2011/12/25(日) 21:46:10.86 ] void MergeSort(int x[ ], int left, int right) { int mid, i, j, k; if (left >= right) /* 配列の要素がひとつなら */ return; /* 何もしないで戻る */ /* ここでは分割しているだけ */ mid = (left + right) / 2; /* 中央の値より */ MergeSort(x, left, mid); /* 左を再帰呼び出し */ MergeSort(x, mid + 1, right); /* 右を再帰呼び出し */ /* x[left] から x[mid] を作業領域にコピー */ for (i = left; i <= mid; i++) temp[i] = x[i]; /* x[mid + 1] から x[right] は逆順にコピー */ for (i = mid + 1, j = right; i <= right; i++, j--) temp[i] = x[j]; i = left; /* i とj は作業領域のデーターを */ j = right; /* k は配列の要素を指している */ for (k = left; k <= right; k++) /* 小さい方から配列に戻す */ if (temp[i] <= temp[j]) /* ここでソートされる */ x[k] = temp[i++]; else x[k] = temp[j--]; } /* ソートされるデータ */ int x[ ] = {9, 4, 6, 2, 1, 8, 0, 3, 7, 5}; MergeSort(x, 0, MAX_DATA - 1); これトレースして教えてくれ 再帰の部分がいまいちわからん
128 名前:デフォルトの名無しさん mailto:sage [2011/12/25(日) 21:47:14.86 ] URLこれな www1.cts.ne.jp/~clab/hsample/Sort/Sort6.html 再帰の部分はどうやって処理するのかが不明
129 名前:デフォルトの名無しさん mailto:sage [2011/12/25(日) 21:59:52.95 ] >>128 説明かいてあるじゃん
130 名前:デフォルトの名無しさん mailto:sage [2011/12/25(日) 22:05:38.75 ] トレースお願い
131 名前:デフォルトの名無しさん mailto:sage [2011/12/25(日) 22:34:12.19 ] エレガントにな。
132 名前:デフォルトの名無しさん mailto:sage [2011/12/25(日) 22:38:19.51 ] ソーと関数の変数定義の後にこれ突っ込んどけ static int n;n++;printf("呼び出し回数:%d left:%d right:%d\n",n,left,right);
133 名前:デフォルトの名無しさん mailto:sage [2011/12/25(日) 22:53:24.54 ] >>126 持ち込みPCって、情報漏洩(会社、個人とも)でヤバイんじゃないの?
134 名前:デフォルトの名無しさん mailto:sage [2011/12/25(日) 23:00:52.06 ] >>106 試行錯誤の結果行数かもしれない。 あと変幻自在の謎仕様、レガシーコード渡されて「ちょこっと変更すれば出来るだろ?」→解読に数日、とかも。
135 名前:デフォルトの名無しさん mailto:sage [2011/12/25(日) 23:11:51.69 ] mid = (left + right) / 2; /* 中央の値より */ MergeSort(x, left, mid); MergeSort(x, mid + 1, right); /* 右を再帰呼び出し */ 上のMergeSortを呼び出し終わったらどうするの? 最初0,9を渡して、割っていくんですが0,4 0,2 0,1 0,0 そして次のMergeSort(x, mid + 1, right); /* 右を再帰呼び出し */ わかりません
136 名前:デフォルトの名無しさん mailto:sage [2011/12/25(日) 23:26:04.04 ] 例えば猫が愛らしい猫なで声で鳴けるのは 猫自身が努力をして試行錯誤を繰り返した結果獲得したのではなく 単にもともと愛らしい猫なで声を身に付けて生まれてきた猫だけが人間に餌を貰えて子孫を残すことが出来たというだけで 愛らしい猫なで声を持たずに生まれてきた猫は人間に餌を分けてもらえず餓死して絶滅したというだけ 生物の進化というのはこういうことを言う 要するに駄目な奴は努力しても無駄だから死ねということ
137 名前:デフォルトの名無しさん mailto:sage [2011/12/25(日) 23:29:54.28 ] 確かに努力しても無駄だと思わせる文章だ。
138 名前:デフォルトの名無しさん mailto:sage [2011/12/25(日) 23:34:11.41 ] 努力しても無駄な人が書いた文章の見本になるな
139 名前:デフォルトの名無しさん mailto:sage [2011/12/25(日) 23:41:52.70 ] 自己解決しました
140 名前:デフォルトの名無しさん mailto:sage [2011/12/26(月) 01:22:56.93 ] そういえばソースの良し悪しを決めるソフトとかってないの?
141 名前:デフォルトの名無しさん mailto:sage [2011/12/26(月) 01:48:52.82 ] こういうのか? ttp://www.aicp.co.jp/products/codesonar.shtml
142 名前:デフォルトの名無しさん mailto:sage [2011/12/26(月) 07:33:02.75 ] うん
143 名前:デフォルトの名無しさん mailto:sage [2011/12/26(月) 10:14:55.02 ] hello worldを表示するだけのプログラムのexeが50KBもあるのはなぜでしょうか? C#だと10Kb以下ですが
144 名前:デフォルトの名無しさん mailto:sage [2011/12/26(月) 10:35:31.44 ] ワイルドカード展開するためのプログラムとか入ってるからな。
145 名前:デフォルトの名無しさん mailto:sage [2011/12/26(月) 10:46:45.28 ] www1.cts.ne.jp/~clab/hsample/Sort/Sort6.html このマージソートがどうしてもわかりません トレースはどのようになってるのでしょうか? 0 4 0 2 0 1 0 0で MergeSort(x, left, mid); /* 左を再帰呼び出し */0 0を呼び出した後 void MergeSort(int x[ ], int left, int right) { int mid, i, j, k; if (left >= right) /* 配列の要素がひとつなら */ return; /* 何もしないで戻る */ /* ここでは分割しているだけ */ mid = (left + right) / 2; /* 中央の値より */ MergeSort(x, left, mid); /* 左を再帰呼び出し */ MergeSort(x, mid + 1, right); /* 右を再帰呼び出し */ returnで何もしないで戻ったら次の MergeSort(x, mid + 1, right); /* 右を再帰呼び出し */を呼び出すのでしょうか?
146 名前:デフォルトの名無しさん mailto:sage [2011/12/26(月) 10:48:30.25 ] MergeSort(x, left, mid); /* 左を再帰呼び出し */ MergeSort(x, mid + 1, right); /* 右を再帰呼び出し */ ここの下からの処理はいつ実行されるのでしょうか? ずっと再帰でループしてるように思えますが
147 名前:デフォルトの名無しさん mailto:sage [2011/12/26(月) 10:49:52.63 ] >>143 clつかってるのなら、/MDつければ小さくなるよ
148 名前:デフォルトの名無しさん mailto:sage [2011/12/26(月) 10:54:11.06 ] >>145 なんかどっかのすれでも見た気がするけど、returnしてるところで終わる
149 名前:デフォルトの名無しさん mailto:sage [2011/12/26(月) 11:01:17.75 ] >>148 4回目でMergeSort(x, left, mid); これに0,0入れてますよね? 最初に0,9を入れてMergeSortを呼び出して mid=(left+right)/2 0 9 0 4 0 2 0 1 0 0 if (left >= right) return; つまり 0>=0でreturnなんですが このreturnを実行したらどうなるのでしょうか? 0 1が返されるのでしょうか? このreturnがどこに返されるのかがわかりません 0 1を返してまた実行すると mid=(left+right)/2で mid=0 MergeSort(x, mid + 1, right); /* 右を再帰呼び出し */ ここに入れる?わかりませんが 1 1と呼び出す いまいちわかりません 具体的に流れを教えてくれる方はいませんか?
150 名前:デフォルトの名無しさん mailto:sage [2011/12/26(月) 11:10:58.90 ] >>149 MergeSort(外側)のなかで呼び出したMergeSort(内側)がreturnすると、MergeSort(内側)のところに戻るので、その続きをする
151 名前:デフォルトの名無しさん mailto:sage [2011/12/26(月) 11:13:20.73 ] >>143 perl だと たった20バイト程度だぞ。
152 名前:デフォルトの名無しさん mailto:sage [2011/12/26(月) 11:14:42.69 ] 外側のMergeSortの変数は、内側のMergeSortの変数に影響をあたえないし、逆もしかり。 これはスタックという仕組みで実現されている。 もう少し簡単な再帰から練習したほうがいい。 void recursive_test(int i) { if (i > 0) { recursive_test(i - 1); } return; } こういうので、いろんなところにprintf入れてみるとかで。
153 名前:デフォルトの名無しさん mailto:sage [2011/12/26(月) 11:16:41.16 ] >>151 斜めすぎだろ。 >>147 書いたけど、それにつづけて小さいスタブに変えたらもっと小さくなるとか、せめてそういう方向でたのむわ。
154 名前:デフォルトの名無しさん mailto:sage [2011/12/26(月) 11:18:17.75 ] >>151 まじすか 俺の負けです ちょっと今/MDつけてみたら6KBになりました これすごいですね /MDについて聞いたら怒られそうなので自分で/MDについて調べてみてこのページを見つけました msdn.microsoft.com/ja-jp/library/2kzt1wy3 (v=vs.80).aspx# つまりこれは実行する環境にlibcpmt.libとmsvcprt.libとmsvcrt.libが入っていないと動かないということですか? 一般的なソフトは/MDつけてコンパイルされて配布されているものでしょうか?
155 名前:デフォルトの名無しさん mailto:sage [2011/12/26(月) 11:18:21.21 ] codepad.org/dAqEkNzj
156 名前:デフォルトの名無しさん mailto:sage [2011/12/26(月) 11:36:58.50 ] >>154 実行する環境にmsvcrt.dllが入ってないと動かない(そのlib群は不要) んで、それはある程度新しいWindowsなら標準で入ってる 一般的なソフトがどうであるかは知らない
157 名前:デフォルトの名無しさん mailto:sage [2011/12/26(月) 11:38:18.62 ] なるほど勉強になりました
158 名前:デフォルトの名無しさん mailto:sage [2011/12/26(月) 11:39:06.90 ] ある程度新しいというのが気になるかもしれないけど、 ここ10年くらいのWindowsはこれに含まれる。
159 名前:デフォルトの名無しさん mailto:sage [2011/12/26(月) 11:43:53.16 ] MergeSortの回答ありがとうございます 参考にして見ます
160 名前:デフォルトの名無しさん mailto:sage [2011/12/26(月) 11:44:28.14 ] >151 バッチファイル echo hello world 改行無しで16バイト。 BASICなら中間コード化でさらに小さく。
161 名前:デフォルトの名無しさん mailto:sage [2011/12/26(月) 11:49:13.67 ] >>154 VCで作ったプロジェクトだと、デフォのスイッチに含まれてるから、大半はついていると思っていい
162 名前:デフォルトの名無しさん mailto:sage [2011/12/26(月) 11:49:14.54 ] >BASICなら中間コード化でさらに小さく。 行番号で2バイト、 PRINTの中間コードが・・・2バイトか? hello worldで11バイトだか、文字数とか範囲指定とか必要だろうからさらに数バイト。 16バイトより小さくはならんだろ。
163 名前:デフォルトの名無しさん mailto:sage [2011/12/26(月) 12:08:14.58 ] Hコマンド最強。
164 名前:デフォルトの名無しさん mailto:sage [2011/12/26(月) 12:13:02.69 ] Hボタン連打
165 名前:デフォルトの名無しさん mailto:sage [2011/12/26(月) 12:26:32.71 ] 連打ッス!
166 名前:デフォルトの名無しさん mailto:sage [2011/12/26(月) 14:05:35.06 ] マージソートって難しくない? 再帰普段使わないし 見たけど難しいな
167 名前:デフォルトの名無しさん [2011/12/26(月) 14:19:20.24 ] mySQLを扱う際に、whereを用いて制限をかけようと思うのですが、 セグメンテーション違反になってしまいます。 a=3; if(mysql_query(connect,"select * from テーブル where ID >"+a)){ 変数を扱うところが原因だと思うのですが、 どのように直したらよいのでしょうか。
168 名前:デフォルトの名無しさん mailto:sage [2011/12/26(月) 14:20:16.26 ] とりあえず基本的な理屈だけ覚えとけばいい。 どうせ実際に使う機会がある頃には記憶薄れて忘れちまってるからな。
169 名前:デフォルトの名無しさん mailto:sage [2011/12/26(月) 14:33:08.55 ] >>167 select * from テーブル where ID > 数値 という文字列を渡すことを期待しているようだが C言語で 文字列の連結は + で表せないぞ 十分に大きい文字配列 buf があるとして sprintf(buf, "%s%d", "select * from テーブル where ID >", a); mysql_uery(connect, buf); こうなる
170 名前:デフォルトの名無しさん mailto:sage [2011/12/26(月) 14:57:45.96 ] sprintf(buf, "select * from テーブル where ID > %d", a); こっちの方がクエリパラメータっぽくていいかもしれんね。
171 名前:デフォルトの名無しさん mailto:sage [2011/12/26(月) 15:03:35.41 ] パラメータ中に printf フォーマット文字が入ったらいやーんな感じなので %s で受けるようにたけど 例題中じゃ出てこないから 後者で十分だったようだね
172 名前:デフォルトの名無しさん mailto:sage [2011/12/26(月) 15:22:58.52 ] 一番初心者向きのC環境何ですか? 簡単なグラフィックが利用できたらいいなと思っています。 例えば、黄色い四角形を出力するプログラムとか作りたいです。 図書館でC関係のグラフィック関係の本漁りましたがWindows以前(1995年より前) の本が7割くらいで……
173 名前:デフォルトの名無しさん mailto:sage [2011/12/26(月) 15:26:02.93 ] likeを使うとしても、%を含めてリプレイスするのが一般的だから、入ることはないかと。
174 名前:デフォルトの名無しさん mailto:sage [2011/12/26(月) 15:26:06.69 ] >>172 Turbo-C 2.01
175 名前:デフォルトの名無しさん mailto:sage [2011/12/26(月) 15:28:09.67 ] >>172 Visual C++ & glut
176 名前:デフォルトの名無しさん mailto:sage [2011/12/26(月) 15:35:13.40 ] 今連結リストの方方向リストを使って入力した値をいれてっれ中央値を表示させようとしてるんですが、どうやって値をソートすればいいのでしょうか? バブルソート使って、値が入力された時にソートしようとしているのですが、どうしてもできません。よろしくお願いします。
177 名前:デフォルトの名無しさん mailto:sage [2011/12/26(月) 15:38:32.35 ] できますよ。