[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 2chのread.cgiへ]
Update time : 08/28 14:33 / Filesize : 188 KB / Number-of Response : 592
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

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



1 名前:デフォルトの名無しさん [2012/07/22(日) 23:08:24.46 ]
あなたが解けないC言語/C++言語の宿題を片付けもらうスレッドです。気に入らない質問やその他の発言はスルーの方向で。

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

286 名前:デフォルトの名無しさん mailto:sage [2012/07/31(火) 09:36:10.68 ]
char sei[100], mei[100];
printf("姓:");
scanf("%s", sei);
printf("名:");
scanf("%s", mei);
printf("基本点: %d\n", (int) sei[100] + (int) mei[100]);
オレオレ仕様で基本点までは作った。



287 名前:デフォルトの名無しさん mailto:sage [2012/07/31(火) 09:41:01.45 ]
>>286
お前それマジで書いてんのか?

288 名前:デフォルトの名無しさん mailto:sage [2012/07/31(火) 10:41:21.30 ]
>>278
オレオレ仕様で
codepad.org/tpo92nFI

289 名前:デフォルトの名無しさん mailto:sage [2012/07/31(火) 11:37:50.38 ]
質問は、質問スレで。

290 名前:デフォルトの名無しさん mailto:sage [2012/07/31(火) 11:46:55.63 ]
>>278
codepad.org/BqorzKwd

おれおれ仕様

291 名前:デフォルトの名無しさん mailto:sage [2012/07/31(火) 12:13:45.10 ]
>>260
ありがとうございます。
C/C++と書いておいて申し訳ないのですが
Compの部分がいまいち理解出来ないので、
もし良ければCのコードもうpして頂けませんか?

292 名前:デフォルトの名無しさん mailto:sage [2012/07/31(火) 12:45:25.07 ]
>>291
テンプレートが理解できないとかならまだしも
Comp部分が理解できないならCで書いても理解できないだろ

293 名前:デフォルトの名無しさん mailto:sage [2012/07/31(火) 14:21:40.95 ]
>>260
Prolog でオレオレ仕様ですw
nojiriko.asia/prolog/c159_278.html


294 名前:デフォルトの名無しさん mailto:sage [2012/07/31(火) 17:21:01.18 ]
>>265
・sortTableにaddressBookをコピー。
・sortTableをnameが小さい順にソート。(sortByName)
  ・指定した配列の範囲から最小の要素のインデックスを探す。(findMin)
    ・nameを比較する。(compare)
  ・配列の要素を交換する。(swap)
・sortTableを出力する。(printSheet)

ソートアルゴリズムは選択ソート。

選択ソート - Wikipedia
ja.wikipedia.org/wiki/%E9%81%B8%E6%8A%9E%E3%82%BD%E3%83%BC%E3%83%88

> データ列中で一番小さい値を探し、1番目の要素と交換する。次に、2番目以降のデータ
> 列から一番小さい値を探し、2番目の要素と交換する。これを、データ列の最後まで繰
> り返す(厳密には、データ列の最後より1つ手前までの繰り返しでよい。一つ前まで交
> 換済みであれば、最後(残り)は必ず最大値になるからである)。



295 名前:デフォルトの名無しさん mailto:sage [2012/07/31(火) 19:42:36.85 ]
>>291
理解する必要ねーだろそういうスレじゃねえ

296 名前:デフォルトの名無しさん mailto:sage [2012/07/31(火) 21:19:59.31 ]
>>294
本当にありがとうございました!
明日解説しないといけないので助かりました・・・

297 名前:デフォルトの名無しさん mailto:sage [2012/07/31(火) 21:20:59.06 ]
>>282
わかりました。なんとか自分でやってみることにします。
本当に助かりました。ありがとうございました。

298 名前:デフォルトの名無しさん [2012/07/31(火) 21:39:31.77 ]
[1] 授業単元:C言語
[2] 問題文(含コード&リンク):
配列、文字列、関数、構造体をすべて用いたプログラムを考え
設計しなさい。データ構造を構造体で定義し、関数原型宣言を書き、
どんなプログラムかをコメント文で書いたファイルをアップロードしなさい。
プログラム例:
* リバーシ(オセロ)
プログラム設計をしてから、プログラムを作成し、適切な実行例を示しなさい。
[3] 環境
[3.1] OS: Linux 
[3.2] コンパイラ名とバージョン:gcc
[3.3] 言語: C
[4] 期限: 8月3日
[5] その他の制限:
少しも形が思い浮かばず困っています。
参考にさせていただきたいです。
学習不足でまだあまりプログラム言語を理解できていないので
すみませんが、なるべくシンプルなものをお願いします。


299 名前:デフォルトの名無しさん mailto:sage [2012/07/31(火) 21:43:03.95 ]
>>298
プログラム全体で
アカフォリシヴを行うヤツでもいいのな?


300 名前: 忍法帖【Lv=40,xxxPT】 mailto:sage [2012/07/31(火) 21:44:18.60 ]
>>298
三目並べ位にしといたら?


301 名前:デフォルトの名無しさん mailto:sage [2012/07/31(火) 22:00:07.97 ]
リバーシ書ける奴なら
とりあえず勉強しなくても
いいと思う

302 名前:デフォルトの名無しさん [2012/07/31(火) 22:18:44.29 ]
[1] 授業単元: C言語実習
[2] 問題文(含コード&リンク):
「分母と分子にある同じ数字を消す」という間違った約分を行うと、正しく約分した値と同じになる分数が存在する。
(例えば「187/748」は、普通に約分すると1/4に、分母と分子で重複している7と8を消すと1/4となる)
このような分数は無限に存在するので、下のような条件を付ける。

 (1)うbん簿と分子で同じ数字があればそのペアは必ず消す
 (2)消されるペアは、分母と分子に1文字ずつしか入っていない。つまり消すペアは一意に決まり、また、同じ数字で複数のペアが存在することもない
 (3)最終的に分母分子がそれぞれ1桁でできた、1未満の既約分数となる
 (4)数字の0(ゼロ)は使わない
 (5)負の分数は考えない

この条件で、上記の間違った約分を行った結果が、正しく約分した値と同じになる分数は何通りあるか。

[3] 環境
 [3.1] OS:Win7
 [3.2] gcc
 [3.3] C
[4] 期限:2012年8月2日中
[5] その他の制限:特になし
よろしくお願いします。

303 名前:デフォルトの名無しさん mailto:sage [2012/07/31(火) 22:20:32.63 ]
>>298
それだけの条件でなるべくシンプルって漠然としすぎじゃね
こんなんでもいいのか
codepad.org/XhKJcrqS

304 名前:デフォルトの名無しさん mailto:sage [2012/07/31(火) 22:20:47.31 ]
うbん簿




305 名前:デフォルトの名無しさん mailto:sage [2012/07/31(火) 22:24:30.22 ]
>>302
www001.upp.so-net.ne.jp/isaku/puzzle/206lucky.c.html
解答:322通り

306 名前:デフォルトの名無しさん [2012/07/31(火) 22:32:57.55 ]
>>304
ミスです申し訳ない

>>305
このような物があるとは、ありがとうございます!

307 名前:デフォルトの名無しさん mailto:sage [2012/07/31(火) 23:29:13.79 ]
Cマガかー。復刊せんかね。

308 名前:デフォルトの名無しさん [2012/07/31(火) 23:53:24.07 ]
[1] 授業単元:C言語プログラム演習U
[2] 問題文:
codepad.org/gSiVgqsJ
上記の関数ransuuは、整数型の引数uを受け取ると1からuまでの乱数(1からuまでの中からでたらめに選んだ数)を返す。
この関数を用いて、1から10までの乱数をN回発生させ、1から10までのそれぞれの数が発生した回数を数値で表示するプログラムを作成せよ。
但し、#define文でNを100回と設定せよ。
<出力例>
1 :9回
2 :11回
3 :10回

10 :5回
[3] 環境
[3.1] OS:Linux
[3.3] 言語: C言語
[4] 期限8月1日13:00
[5] その他の制限
明日までなのですみませんが、よろしくお願いします。
本当に困ってます。<(_ _)>

309 名前:デフォルトの名無しさん [2012/07/31(火) 23:58:29.38 ]
[1] 授業単元:C言語プログラム演習U
[2] 問題文:
>>308の関数を用いて、1からuまでの乱数をN回発生させ、1から10までのそれぞれの数が発生した回数を数値および*の数で表し、さらに乱数の平均値も表示するプログラムを作成せよ。
<出力例>
1 :9回 : *********
2 :11回 : ***********
3 :10回 : **********

10 :5回 : *****
平均:5.54
[3] 環境
[3.1] OS:Linux
[3.3] 言語: C言語
[4] 期限8月1日13:00
[5] その他の制限
明日までなのですみませんが、よろしくお願いします。
本当に困ってます。<(_ _)>

310 名前:デフォルトの名無しさん mailto:sage [2012/08/01(水) 00:02:17.95 ]
>>308

#define N 100

int main(void)
{
  int array[10]={0};
  int i;

  for(i=0; i<N; i++)
  {
    array[ransuu(10)-1]++;
  }

  for(i=0; i<10; i++)
  {
    printf("%2d : %2d times\n", i+1, array[i]);
  }

  return 0;
}

311 名前:デフォルトの名無しさん mailto:sage [2012/08/01(水) 00:03:00.34 ]
インド人の口癖

・これは急いでいます
・あなたはこれができます

312 名前:デフォルトの名無しさん mailto:sage [2012/08/01(水) 00:08:37.73 ]
>>309
int main(void)
{
  int array[10]={0};
  int i,j;
  double sum=0;

  for(i=0; i<N; i++)
  {
    array[ransuu(10)-1]++;
  }

  for(i=0; i<10; i++)
  {
    printf("%2d : %2d times :", i+1, array[i]);

    for(j=0; j<array[i]; j++)
    {
      printf("*");
    }
    puts("");

    sum += (i+1)*array[i];
  }

  printf("average: %.02f\n", sum/100);

  return 0;
}

313 名前:308 [2012/08/01(水) 00:33:02.91 ]
>>310 >>312
ありがとうございます。助かりました。(*^_^*)

314 名前:デフォルトの名無しさん [2012/08/01(水) 00:46:29.37 ]
[1] 授業単元:C言語プログラム
[2] 問題文:
メッセージ番号 発生時刻[ミリ秒] 到着時刻[ミリ秒]
  0        0          25
  1        10         30
  2        20         38
  3        30         50
  4        40         52
  5        50         55
  6        60         57
  7        70         60
  8        80         65
  9        90         70
到着時間を乱数で決定し、上記のようにメッセージ番号、発生時刻、到着時刻をファイルdata.txtに保存するプログラムを作成せよ。
但し、数値データのみをファイルに保存すればよい。
メッセージ数は、番号0から番号99までの100個とし、発生時刻はメッセージの順で10ミリ秒単位で増えていく。
到着間隔は1から10の乱数を用いて決定せよ。
ここでは「到着時間=メッセージ発生時間+20+R(Rは1から10までの乱数の値)」とする。
[3] 環境
[3.1] OS:Linux
[3.3] 言語: C言語
[4] 期限:8月1日15:00
[5] その他の制限
期限が今日の午後15時までです。
本当に困ってますので、誰か助けてください。お願いします。



315 名前:デフォルトの名無しさん [2012/08/01(水) 00:49:16.80 ]
[1] 授業単元:C言語プログラム
[2] 問題文:
>>314で作成したdata.txtを読み込んで、平均メッセージ転送時間を計算し、ファイルdata1.txtに保存するプログラムを作成せよ。
[3] 環境
[3.1] OS:Linux
[3.3] 言語: C言語
[4] 期限:8月1日15:00
[5] その他の制限
期限が今日の午後15時までです。
本当に困ってますので、誰か助けてください。お願いします。

316 名前:デフォルトの名無しさん mailto:sage [2012/08/01(水) 01:32:19.14 ]
1日に二つも宿題あるの

317 名前:デフォルトの名無しさん mailto:sage [2012/08/01(水) 08:05:01.74 ]
両者ともにperlで一行くらいでかけそうなんだけどな、

余りにも課題がつまらなそうで
だーれも喰いつかなかったろソレ


318 名前:デフォルトの名無しさん mailto:sage [2012/08/01(水) 08:10:15.63 ]
>>314
codepad.org/ReMlyBvO

319 名前:デフォルトの名無しさん mailto:sage [2012/08/01(水) 08:13:52.94 ]
>>315
codepad.org/ygCEytKA

320 名前:314 [2012/08/01(水) 08:21:34.89 ]
>>314 >>315 の課題を誰かお願いします(><)
本当に切羽詰っています。

321 名前:314 [2012/08/01(水) 08:26:07.32 ]
>>318 >>319 ありがとうございました。!!
おかげ様で助かりました。

322 名前:デフォルトの名無しさん mailto:sage [2012/08/01(水) 08:40:18.64 ]
>>318
乱数のところは
rand() / (RAND_MAX + 1.0)
にしないと1から11までの乱数になっちゃうよ

323 名前:デフォルトの名無しさん mailto:sage [2012/08/01(水) 18:33:41.60 ]
>>131
ありがとうございます。
このプログラムを、構造体を使用せずに組んでいただけないでしょうか。

324 名前:デフォルトの名無しさん mailto:sage [2012/08/01(水) 18:46:27.97 ]
>>323
ttp://ideone.com/w996Y



325 名前:デフォルトの名無しさん [2012/08/02(木) 03:25:41.93 ]
[1] 授業単元:数値解析
[2] 問題文(含コード&リンク):
行列AをLU分解することで、逆行列を求めるプログラムを作成してください。
ただし、実行例は以下の行列の場合について示してください。
行列3*3
(2,3,-1 4,4,-3 2,-3,1)

行列4*4
(1,1,0,3 2,1,-1,1 3,-1,-1,2 -1,2,3,-2)
[3] 環境
 [3.1] OS:Linux
 [3.2] コンパイラ名とバージョン:gcc
 [3.3] 言語: C
[4] 期限:2012年8月3日まで
[5] その他の制限:


326 名前:デフォルトの名無しさん [2012/08/02(木) 03:28:15.78 ]
[1] 授業単元:数値解析
[2] 問題文(含コード&リンク):
行列AをLU分解にし、行列式を計算するプログラムを作成してください。
ただし、実行例は以下の行列の場合について示してください。
行列3*3
(2,3,-1 4,4,-3 2,-3,1)

行列4*4
(1,1,0,3 2,1,-1,1 3,-1,-1,2 -1,2,3,-2)
[3] 環境
 [3.1] OS:Linux
 [3.2] コンパイラ名とバージョン:gcc
 [3.3] 言語: C
[4] 期限:2012年8月3日まで
[5] その他の制限:
お手数ですがよろしくお願いします。

327 名前:デフォルトの名無しさん mailto:sage [2012/08/02(木) 07:06:39.17 ]
朝鮮人の扱い方
  ∧ ゝ∧
 ( ´∀`)   【 旧日本陸軍の朝鮮兵に対する注意書き】
.ノ|ソ|"\
\ノ」==ヽ!ノ
 /_l _|
一、いつ、いかなる時でも唐辛子粉を食事に際し好きなだけ使わすこと。
一、絶対に頭、体を叩いてはいけない。怨みを持って復讐する気質があり、脱走の原因となる。
一、清潔な食事運搬用バケツと雑巾バケツの区別をよく教えること。
一、危険な状況下では銃を投げ捨てて哀号!と泣き出す習癖があるから、日本兵二名で一名の朝鮮兵を入れて行動せよ。
  __
  │  |
_☆☆☆_
 ( ´_⊃`)   【米軍による韓国兵の扱いマニュアル 】
 (  ∞ )
 | | | 
 (__)_)
1.韓国人には強気で押せ。抵抗する場合は大声で命令しろ。 2.命令を聞かない場合は身体で解らせろ。
3.同じことをくり返す場合、犬のように何回でも同じ様に叱れ。こちらが上と言うことを身体で解らせろ。
4.理由は聞くな。どうせ大したことは言っていない。
5.身体で解らせた場合、根に持つ場合があるので、後で身辺には気をつけて行動しろ。但し、徹底的に解らせる迄、手を抜いてはいけない。
6.相手を3才児と思い、信用したり頼りにはするな。重要な仕事は任せるな。
 ,,,,,,,,,,,,,,,,
 ミ,,,,,;露;;;,ミ
 ∩;`_っ´∩
 ヽ    /   【 旧ソ連共産党による朝鮮の扱い方 】
  |   |
   し⌒J
1、頭痛の種になるだけだから関わるな 2、手段を選ばぬキチガイ揃いだから関わるな
3、関わるとこっちが痛い目に遭うから関わるな 4、関わってきたらウォッカ飲んで忘れようぜ

328 名前:デフォルトの名無しさん mailto:sage [2012/08/02(木) 07:56:33.91 ]
上と下で何か違いがあんの?
数字が一つ二つだけ間違い探し程度に換えてアンノ?
それとも大事だから二回いったの?
ぶっちゃけGOBAKU?

どれよ


329 名前:デフォルトの名無しさん mailto:sage [2012/08/02(木) 08:01:32.78 ]
>>328
?

330 名前:デフォルトの名無しさん mailto:sage [2012/08/02(木) 08:16:49.57 ]
>>325
ideone.com/YtVQC

>>326
ideone.com/Duslx

331 名前:デフォルトの名無しさん mailto:sage [2012/08/02(木) 11:39:46.23 ]
>>329
!

332 名前:デフォルトの名無しさん [2012/08/02(木) 15:15:05.03 ]
>>83 の課題を、どなたかお願いします。
期限まではまだ少し日にちがありますが、少し早めにやっていただけるとありがたいです。

333 名前:デフォルトの名無しさん mailto:sage [2012/08/02(木) 17:01:09.29 ]
>>332
貴様も言うようになったな

334 名前:デフォルトの名無しさん mailto:sage [2012/08/02(木) 17:02:13.24 ]
ハハハ こやつめ




335 名前:デフォルトの名無しさん mailto:sage [2012/08/02(木) 20:40:41.46 ]
よし、今夜はがんばるか

336 名前:デフォルトの名無しさん mailto:sage [2012/08/02(木) 20:45:06.93 ]
[2] 問題文(含コード&リンク):
char 配列のバイナリから、int 型へ変換しなさい。
------------------------------ >8 ------------------------------
char str[2] = { 0x00, 0x06 };
// => int result = 6

char str[2] = { 0x04, 0xD2 };
// => int result = 1234
------------------------------ >8 ------------------------------

[3] 環境
 [3.1] OS: Linux / Windows
 [3.2] コンパイラ名とバージョン: gcc (4.x) / Microsoft Visual Studio
 [3.3] 言語: C (or C++)
[4] 期限:無期限
[5] その他の制限: Linux / Windows ... 処理系依存なしでお願いします。

--

ビット演算を駆使して実装することはできましたが
よりスマートな解法があるんじゃないかと思い質問しました。
たとえば
 str[2] = { 0x06, 0x00 };
であれば
 int result = *(unsigned short *)str;
で、求めることができます。(リトルエンディアン環境のみ)
このような感じで、スマートでかつ処理系に依存しない方法はありますか?
よろしくお願いします。

337 名前:デフォルトの名無しさん mailto:sage [2012/08/02(木) 20:55:58.33 ]
>>335 ゴムしなきゃ駄目ですよ

338 名前:デフォルトの名無しさん mailto:sage [2012/08/02(木) 21:03:28.36 ]
「char 配列のバイナリ」がどういうものでどのような法則のもとint値にしたいのかあいまい

宿題じゃないなら他のスレでやれ

339 名前:デフォルトの名無しさん mailto:sage [2012/08/02(木) 21:04:35.02 ]
>>336
ttp://ideone.com/DfZQo

340 名前:デフォルトの名無しさん mailto:sage [2012/08/02(木) 21:13:14.92 ]
ntohs ネットワークバイトオーダー変換 (>>336)
#if を駆使してエンディアンを調べ union で個々に代入?

341 名前:デフォルトの名無しさん mailto:sage [2012/08/02(木) 21:14:47.73 ]
ttp://ideone.com/QTPue
同一ソースでvc++/gcc共に同じ結果になった

342 名前:デフォルトの名無しさん mailto:sage [2012/08/02(木) 21:18:45.21 ]
>>338
ごめんなさい。宿題レベルの質問かと思い。。。

>>339
arpa/inet.h にこんな機能があるんですね。
他の関数もみたら、いろいろとバイトオーダーの処理がありますね。
ありがとうございます!

343 名前:デフォルトの名無しさん mailto:sage [2012/08/02(木) 21:21:05.14 ]
>>337
そういう趣味はない、オリンピックだが

344 名前:デフォルトの名無しさん mailto:sage [2012/08/02(木) 21:24:20.80 ]
CHAR_BITが8でない環境でそれ同じ結果になるのかな



345 名前:デフォルトの名無しさん mailto:sage [2012/08/02(木) 21:28:43.02 ]

そこがわかったっら
こんなトコでは聞いてねーわな

ならねーよ

346 名前:デフォルトの名無しさん mailto:sage [2012/08/02(木) 21:44:26.79 ]
4bitだけど現役です

347 名前:デフォルトの名無しさん mailto:sage [2012/08/02(木) 22:24:28.83 ]
【質問テンプレ】
[1] 授業単元:c言語
[2] 問題文(含コード&リンク):
uproda.2ch-library.com/560146xiQ/lib560146.png
uproda.2ch-library.com/560147u8p/lib560147.png
uproda.2ch-library.com/560148L12/lib560148.png
[3] 環境
 [3.1] OS: (Windows/Linux/等々)windows上仮想化linux
 [3.2] コンパイラ名とバージョン: (gcc 3.4 VC 6.0等)gcc
 [3.3] 言語: (C/C++/どちらでも可 のいずれか)c
[4] 期限:8月5日22:00まで
[5] その他の制限: (どこまで習っているか、標準ライブラリは使ってはいけない等々)
問題文の中にどの様に組むか指定されているのでそれにしたがって組むこと、と書いてあります。
以下が vector.h というc言語ヘッダーのリンクです。

uproda.2ch-library.com/560151ZK1/lib560151.h

これを落としてつかえとの指摘も問題文にありました
さきほどまで自分で解こうと必死こいてましたが
期限が迫っているのに進展がほぼなかったのでここで質問させていただきました

どうかよろしくお願いします

348 名前:デフォルトの名無しさん [2012/08/03(金) 00:00:07.44 ]
>>330
すごく助かりました!
ありがとうございました。

349 名前:デフォルトの名無しさん mailto:sage [2012/08/03(金) 00:29:29.58 ]
>>330
うーむこういうのを見るとC++のクラスの有り難みが良く分かるな
同じような事を何回も繰り返し書く無駄が省けてしまう
しかもデストラクタにまとめて書いたりvectorを使えばメモリリークの心配もない

350 名前:デフォルトの名無しさん [2012/08/03(金) 04:06:55.83 ]
[1] 授業単元:プログラミング
[2] 問題文:
ビット単位の論理演算を用いて、scanfで読み込んだ1文字の英字の大文字を小文字に 変換する関数と、小文字を大文字変換する関数をそれぞれ作りなさい。
また、char型の変数のビットの並びを表示する関数作成しなさい。
ただし、ビット単位の論理演算とシフト演算子を用いることとし、
四則演算(加減乗除)は使わない。
例えば、文字'A'は0x41であるので、0100 0001となる。
[3]環境
[3.1]OS:Linux
[3.2]コンパイラ:gcc
[3.3]言語: C
[4] 期限:8月5日
[5] その他の制限:
大文字→小文字にする関数では、引数の文字が大文字のときに、小文字に変換し、その他の場合は、無変換で返す関数を期待しています。
この関数の外で文字判定はしません。
大文字と小文字の判定に、isupperやislowerも使いません。この判定にもビット
単位の論理演算を使います。
isupperやislowerの代りに、各文字の上位3ビットの並びが010ならば大文字、
011ならば小文字と判断します。上位3ビットを見るためには、シフト演算子を用ます。
#define MASK 0x20
#include <ctype.h>
#include <limits.h>
などは使用しません。

制限が多いですが、どなたかよろしくお願いします。

351 名前:デフォルトの名無しさん mailto:sage [2012/08/03(金) 04:49:47.77 ]
>>350
ttp://ideone.com/Kq2Sy

352 名前:デフォルトの名無しさん mailto:sage [2012/08/03(金) 05:02:40.84 ]
  九州北部豪雨で不通となった豊肥線の立野(南阿蘇村)―緒方(大分県豊後大野市)間について、JR九州は「復旧に1年近くかかる」との
見通しを示した。線路に土砂が流れ込んだり線路の土台が流失したりしている場所は、同区間だけで130カ所にのぼる。

  阿蘇市の宮地―波野間では、トンネルからレールが外に流出。入り口で「とぐろ」を巻いていた。

  この区間を走る観光特急「あそぼーい!」(熊本―宮地)は、9月2日まで運転区間を博多―人吉に変更することが決まっている。観光への
影響も深刻だ。

mytown.asahi.com/kumamoto/news.php?k_id=44000001208010001
mytown.asahi.com/kumamoto/k_img_render.php?k_id=44000001208010001&o_id=6635&type=kiji.jpg


353 名前:デフォルトの名無しさん mailto:sage [2012/08/03(金) 06:47:54.48 ]
>>351
[\]^_` ?

354 名前:デフォルトの名無しさん mailto:sage [2012/08/03(金) 07:15:58.80 ]
('A') ンポーイ




355 名前:デフォルトの名無しさん mailto:sage [2012/08/03(金) 07:23:00.44 ]
isupper、islower使うな
上位3ビットの並びが010ならば大文字、011ならば小文字と判断しろ
という問題だからこれでいいのだ

356 名前:デフォルトの名無しさん mailto:sage [2012/08/03(金) 09:43:59.55 ]
>>351
char型をビットシフトするなとあれほど…

357 名前:デフォルトの名無しさん mailto:sage [2012/08/03(金) 10:00:44.10 ]
0xE0でマスクしようと思ったけどシフト演算子使えという仕様だもの

358 名前:デフォルトの名無しさん mailto:sage [2012/08/03(金) 10:31:28.67 ]
unsignedでないことを問題にしてるなら、この場合は関係ない

359 名前:デフォルトの名無しさん mailto:sage [2012/08/03(金) 11:12:54.24 ]
>>347です
【質問テンプレ】
[1] 授業単元:c言語
[2] 問題文(含コード&リンク):
uproda.2ch-library.com/560146xiQ/lib560146.png
uproda.2ch-library.com/560147u8p/lib560147.png
uproda.2ch-library.com/560148L12/lib560148.png
[3] 環境
 [3.1] OS: (Windows/Linux/等々)windows上仮想化linux
 [3.2] コンパイラ名とバージョン: (gcc 3.4 VC 6.0等)gcc
 [3.3] 言語: (C/C++/どちらでも可 のいずれか)c
[4] 期限:8月5日22:00まで
[5] その他の制限: (どこまで習っているか、標準ライブラリは使ってはいけない等々)
問題文の中にどの様に組むか指定されているのでそれにしたがって組むこと、と書いてあります。
以下が vector.h というc言語ヘッダーのリンクです。

uproda.2ch-library.com/560151ZK1/lib560151.h

これを落として include "vector.h" をつかえとの指摘も問題文にありました
さきほどまで自分で解こうと必死こいてましたが
期限が迫っているのに進展がほぼなかったのでここで質問させていただきました

くどいようですがどうかお願いします

360 名前:デフォルトの名無しさん mailto:sage [2012/08/03(金) 14:57:12.06 ]
>>355
どこかにそう断らないとまずいだろう。いつどこで模範解答として使われるかもわからない。

361 名前:デフォルトの名無しさん mailto:sage [2012/08/03(金) 15:03:11.01 ]
>>360
それは、宿題スレ如きから模範回答を作ろうとする輩の責任だな。

362 名前:デフォルトの名無しさん mailto:sage [2012/08/03(金) 18:54:28.56 ]
【質問テンプレ】
[1] 授業単元: c言語入門
[2] 問題文(含コード&リンク):
スライダーとプログレスバーを連動させスライダーを動かすとその分プログレスバー
が動くプログラムを作成せよ
[3] 環境
 [3.1] OS:Windows7
 [3.2] vc2010
 [3.3] 言語: C
 [4]期限なし
お願いします

363 名前:デフォルトの名無しさん mailto:sage [2012/08/03(金) 23:24:29.33 ]
cuiでスライダーとプログレスバーを作るということ?

364 名前:デフォルトの名無しさん mailto:sage [2012/08/03(金) 23:29:26.64 ]
いやGUIだろ



365 名前: 忍法帖【Lv=40,xxxPT】 mailto:sage [2012/08/03(金) 23:34:41.24 ]
> [3.3] 言語: C


366 名前:デフォルトの名無しさん mailto:sage [2012/08/03(金) 23:46:39.57 ]
>>362
DelphiかC++Builder使ってもいいのならすぐに出来るよ

367 名前:デフォルトの名無しさん mailto:sage [2012/08/04(土) 00:45:37.90 ]
できた。完璧だわ。

#include <stdio.h>

int slider_pos = 0;

void draw_slide(void)
{
  int i,c;

  printf("<-");
  for(i=0; i<slider_pos; i++) { printf(" "); }
  printf("+");
  for(i=slider_pos; i<20; i++) { printf(" "); }
  printf("->\n");

  c = getch();
  if(c == 0x4B) { if(slider_pos > 0) { slider_pos--; } }
  else if(c == 0x4D) { if(slider_pos < 20) { slider_pos++; } }
}

void draw_progress(void)
{
  int i;
  for(i=0; i<slider_pos; i++) { printf("■"); }
  for(i=slider_pos; i<20; i++) { printf("□"); }
  printf("\n");
}



368 名前:デフォルトの名無しさん mailto:sage [2012/08/04(土) 00:46:08.32 ]
続き

int main(void)
{
  while(1)
  {
    system("cls");
    draw_progress();
    draw_slide();
  }
  return 0;
}

369 名前: 忍法帖【Lv=18,xxxPT】 mailto:sage [2012/08/04(土) 05:33:59.80 ]
[3.3] 言語: WinMain で始める。

370 名前:デフォルトの名無しさん mailto:sage [2012/08/04(土) 08:06:54.49 ]
qoly.jp/index.php/news/11207-olympic-20120731-swiss
ミシェル・モルガネッラは、自身のツイッターに「韓国人みんなボコボコにしたいぜ。業火に焼かれちまえ。この先天異常者どもが」と投稿。


経過
サッカーの試合で韓国選手がスイス選手の足を少し踏む

やや大袈裟に倒れ、韓国選手にイエロー

モルガネラのフェイスブックに「ダイブ」だと批判の書き込みが殺到し炎上

モルガネラ激怒、ツイッターで「韓国人はクレージー」発言

韓国人が「人種差別」と通報

モルガネラ、ツイッターで謝罪しアカウント削除

事態を重く見たスイスオリンピック委員会がモルガネラをチームから追放

ニダーさん達、にっこり


371 名前:デフォルトの名無しさん mailto:sage [2012/08/04(土) 09:52:28.98 ]
>>362
ttp://ideone.com/ywyNN

372 名前:デフォルトの名無しさん mailto:sage [2012/08/04(土) 14:25:49.53 ]
>>371 367 ありがとうございました 

373 名前:109 [2012/08/04(土) 20:28:10.56 ]
>>109です。
以前、こちらに書き込みをして、
>>197さんが回答してくださり、
一週間ほど考えてみましたが、
内容が自分では理解できませんでした。

どなたか197さんのプログラムについて、
各行の処理の意図を解説していただけないでしょうか。

374 名前:デフォルトの名無しさん mailto:sage [2012/08/04(土) 20:30:52.23 ]
>>373
>>295



375 名前:デフォルトの名無しさん mailto:sage [2012/08/05(日) 00:51:09.99 ]
韓国ハンファグループ日本法人のハンファ・ジャパンは2日、
総合商社の丸紅が建設を計画している日本全域の太陽光発電所に、
向こう4年間で約50万キロワット分の太陽光モジュールを供給することで
丸紅側と合意したと明らかにした。近く本契約を締結する。

 供給されるモジュールは全てハンファソーラーワンの製品で、
売上額は6000億ウォン(約416億円)に達すると見込まれる。

 日本への太陽光モジュールの供給が本格化したのは、
東日本大震災が発生した昨年3月以降だ。

 ハンファグループは震災後、鳩山由紀夫元首相の支援要請に応じて
太陽光発電システムなど10億ウォン相当の支援を実施。
これを機に金升淵(キム・スンヨン)グループ会長が日本を訪れ、
野田佳彦首相や丸紅の朝田照男社長と面会し、太陽光発電事業での提携を協議した。
japanese.yonhapnews.co.kr/headline/2012/08/02/0200000000AJP20120802003300882.HTML



>ハンファグループは震災後、鳩山由紀夫元首相の支援要請に応じて
>太陽光発電システムなど10億ウォン相当の支援を実施。
>これを機に金升淵(キム・スンヨン)グループ会長が日本を訪れ、
>野田佳彦首相や丸紅の朝田照男社長と面会し、太陽光発電事業での提携を協議した。

376 名前:デフォルトの名無しさん mailto:sage [2012/08/05(日) 01:26:36.73 ]
>>375
だからこういうスレ貼るな
再利用可能エネルギーの高価買取りの時点で売国なのは分かってたし
韓国製や中国製のソーラーパネルは10年でダメになる

日本製のは10年以上使える

377 名前:デフォルトの名無しさん mailto:sage [2012/08/05(日) 08:45:16.56 ]
【質問テンプレ】
[1] 授業単元:アルゴリズムと最適化
[2] 問題文(含コード&リンク):問題ファイルを読み込み、タブーサーチアルゴリズムを用いて最適化を行いなさい。
問題ファイル: www.opt.math.tu-graz.ac.at/qaplib/data.d/tai20b.dat
[3] 環境
 [3.1] OS:Windows
 [3.2] コンパイラ名とバージョン: gcc
 [3.3] 言語: C
[4] 期限: 無期限
[5] その他の制限: 特になし

どうもうまくいきません。
お手数ですがよろしくお願いします。


378 名前:デフォルトの名無しさん mailto:sage [2012/08/05(日) 08:56:42.81 ]
>どうもうまくいきません
ならそのコードを書け

379 名前: ◆QZaw55cn4c mailto:sage [2012/08/05(日) 09:22:49.73 ]
>>377
問題文を全文教えてください。できれば日本語か英語で。
リンクで示されたデータは何をあらわすのでしょうか?
どういう問題を解きたいのでしょうか?
初期解、近傍解生成法、評価関数は問題により適切に設定しなければいけませんが、
なんの問題がわからなければどうしようもありません。

380 名前: 忍法帖【Lv=19,xxxPT】 mailto:sage [2012/08/05(日) 11:18:51.39 ]
あのゲームのCM見てて、釣りって言葉が嫌いになった。

381 名前: 忍法帖【Lv=19,xxxPT】 mailto:sage [2012/08/05(日) 12:34:11.50 ]
>>197 コンパイルはしてない。当然実行もしてない。
jbbs.livedoor.jp/bbs/read.cgi/computer/32221/1246384344/45

382 名前:デフォルトの名無しさん mailto:sage [2012/08/05(日) 16:55:19.46 ]
【質問テンプレ】
[1] 授業単元:
[2] 問題文:objファイルを任意の点から任意の座標軸に平行に切断して、その断面のデータを出力するプログラムを作成せよ
[3] 環境
 [3.1] OS:Windows
 [3.2] コンパイラ名とバージョン: visual studio 2010 express
 [3.3] 言語:C++
[4] 期限: 2012年9月末
[5] その他の制限:objファイルの読み込み・表示には「objファイル 表示」でググった一番上のページにあるobjファイル表示プログラムを使用

とっかかりすらつかめない…

どうかお願いします


383 名前:デフォルトの名無しさん mailto:sage [2012/08/05(日) 17:42:38.30 ]
fuckだな
メタセコイアでやれと言わんばかりの課題だ
それとも それのpluginでも作るのか?


384 名前:デフォルトの名無しさん [2012/08/05(日) 21:26:36.76 ]
[1] 授業単元:プログラミング
[2] 問題文:
>>52の問題を
ideone.com/PQY6f
のように提出したのですがが以下のように添削が入りました。
必要に応じて、const型修飾子を使いましょう。
まだ、使える部分があります。
外積の関数以外はn次元ベクトルに対して計算できるので、
汎用性を考えて作ってください。
つまり、関数の引数にベクトルの次元を取ります。
お手数ですが、どなたか修正お願いします。
[3]環境
[3.1]OS:Linux
[3.2]コンパイラ:gcc
[3.3]言語: C
[4] 期限:8月8日
[5] その他の制限:




385 名前:デフォルトの名無しさん mailto:sage [2012/08/05(日) 21:34:20.05 ]
[1] 授業単元:C
[2] 問題文(含コード&リンク):pastebin.com/Unq37FBw
以下のプログラムにコメントを付け加えよ。
[3] 環境
 [3.1] OS:Windows
[4] 期限: 2012年8月6日
[5] その他の制限:ソート関数プログラムです。
初心者が見ても関数の動きや構造が分かるようにコメントをお願いいたします。

386 名前:デフォルトの名無しさん mailto:sage [2012/08/05(日) 21:39:23.28 ]
>>384
ttp://ideone.com/iHDiX

387 名前:デフォルトの名無しさん mailto:sage [2012/08/05(日) 23:40:45.03 ]
>>385
pastebin.com/gfQtbt3a

388 名前:デフォルトの名無しさん mailto:sage [2012/08/06(月) 00:11:43.68 ]
>>387
とても分かりやすいコメントありがとうございました

389 名前:デフォルトの名無しさん mailto:sage [2012/08/06(月) 00:15:25.89 ]
よくやる気になるなあんた職業プログラマに向いてるよ

390 名前:デフォルトの名無しさん mailto:sage [2012/08/06(月) 00:17:03.99 ]
[1] 授業単元:C
[2] 問題文(含コード&リンク):pastebin.com/HFp4SWZW
以下のプログラムにコメントを付け加えよ。
[3] 環境
 [3.1] OS:Windows
[4] 期限: 2012年8月7日
[5] その他の制限:16進変換関数プログラムです。
初心者が見ても関数の動きや構造が分かるようにコメントを付けてくださると助かります。
長いプログラムでお手数おかけしますがよろしくお願いいたします。

391 名前:デフォルトの名無しさん [2012/08/06(月) 02:40:35.06 ]
[1] 授業単元: パーティクル、ビルボード、加算合成を使用したプログラム
[2] 問題文(含コード&リンク): DIRECTXを使って パーティクル、ビルボード、加算合成を使用した演出プログラムの作成。
   例)炎や爆発など
[3] 環境
 [3.1] OS: Windows7
 [3.2] コンパイラ名とバージョン: Microsoft Visual Studio 2008
 [3.3] 言語: C/C++/どちらでも可
[4] 期限: ([2012年8月10日20:00まで]
[5] その他の制限: お手数ですが、コメントのほうよろしくお願いします。

392 名前:デフォルトの名無しさん mailto:sage [2012/08/06(月) 07:02:10.62 ]
fuckだな
gimpでやれと言わんばかりの課題だ
それとも それのfilterでも作るのか?


393 名前:デフォルトの名無しさん mailto:sage [2012/08/06(月) 10:18:37.92 ]
デジャビュー

394 名前:デフォルトの名無しさん mailto:sage [2012/08/06(月) 11:19:20.10 ]
>>378
語弊でした。ほぼわかってない状態です・・・
>>379
返信おそくなり、申し訳ないです
このファイルのデータは正方20行で表される2つの行列A,Bです。
近傍解を2-opt(行列の数字を入れ替え)に生成、タブーリストと呼ばれるリストから局所解にとどまるのを防ぐのですが、いまいち理解してない点が多いです。
ideone.com/FULhj
これが実際のソースコードみたいなのですが、とても精錬にかかれているため初心者には理解が難しいです。
もし、良ければこちらのソースコードを解説して頂けないでしょうか?



395 名前:デフォルトの名無しさん mailto:sage [2012/08/06(月) 15:33:17.25 ]
>>384
>>52は問題が違うようですが、元の出題はどこですか?

396 名前:384 mailto:sage [2012/08/06(月) 15:46:29.99 ]
ガタガタぬかさんとさっさと答えろカス

397 名前:デフォルトの名無しさん mailto:sage [2012/08/06(月) 16:23:35.44 ]
>>396
盗人猛々しいw


398 名前:デフォルトの名無しさん mailto:sage [2012/08/06(月) 16:59:58.36 ]
>>396
それくらい自分でやれよw

399 名前:デフォルトの名無しさん mailto:sage [2012/08/06(月) 17:10:41.56 ]
このスレも夏厨だらけ・・・

400 名前:デフォルトの名無しさん mailto:sage [2012/08/06(月) 18:06:09.22 ]
>>396
お前偽物だろ

401 名前:デフォルトの名無しさん mailto:sage [2012/08/06(月) 18:10:27.24 ]
struct node {
int value;
struct node * next;
};
int main(void)
{
int i=0;
struct node top;
struct node *newNode,*tmp;
/* top.next=NULL; うまくバグになる良いのだが */
top.value=0;
for (i=0;i<10;i++) {
newNode=(struct node *) malloc(sizeof(struct node));
newNode->next=top.next;
newNode->value=i*3;
top.next=newNode;
}
tmp=⊤
while(tmp!=NULL) {
printf("%d\n",tmp->value);
tmp=tmp->next;
}
return 0;
}
セグメンテーションフォルトを直したいんだけれど教えていただけないだろうか

402 名前:デフォルトの名無しさん mailto:sage [2012/08/06(月) 18:14:35.86 ]
ごめんなさい、レンプレ読んでませんでした>>401に加えて
[1] 授業単元:プログラミング
[2] 問題文 「セグメンテーションフォルト」を見つける
[3] 環境
 [3.1] OS: (Windows/Linux/等々)
 [3.2] コンパイラ名とバージョン: (gcc 3.4 VC 6.0等)
 [3.3] 言語: C
[4] 期限: 2011年8月10日16:00まで。

403 名前:デフォルトの名無しさん mailto:sage [2012/08/06(月) 18:21:05.34 ]
>>402
ttp://ideone.com/BWZKo
13行目でNULLをセットしてないと22行目のループでセグメンテーションフォルトになる

404 名前:デフォルトの名無しさん mailto:sage [2012/08/06(月) 18:29:05.97 ]
>>403
ありがとうございます
whileループで思いっきりNULL判定使ってましたね・・・
先生も気付きやすいようコメントで書いてくれてるというのに..
いやはや助かりました



405 名前:デフォルトの名無しさん mailto:sage [2012/08/06(月) 18:34:34.45 ]
つーかコメントも問題文の一部かよ
答え書いてあるようなものじゃないか

406 名前:デフォルトの名無しさん mailto:sage [2012/08/06(月) 20:19:04.86 ]
プログラミング以前に
なにか読み書きの中枢に異常があるんだろ
それか注意力欠陥とか
文章を読みこむ能力が足りないとか、
根本的に脳の配線がおかしいとか、
キーボード打つまえにもっと能力向上の余地がある
逆に、無いと困る
これでMAXとかいったら
学校じゃあなくてもっと別の保健所的な場所に赴いた方がいい


407 名前:デフォルトの名無しさん mailto:sage [2012/08/07(火) 10:23:36.32 ]
>>406
社会に出たらそんな連中ばかりだぞ

408 名前:デフォルトの名無しさん mailto:sage [2012/08/07(火) 18:56:24.87 ]
どんな社会に居るんだよ・・・

409 名前:デフォルトの名無しさん mailto:sage [2012/08/07(火) 20:06:10.27 ]
[1] 授業単元:プログラミング演習
[2] 問題文(含コード&リンク):codepad.org/oJZv75HG
プログラムを実行した時に10個のサイトが表示されるが、その中でも右上の黒枠が濃いラベルを持つサイトが一つある。
このラベル部分に他のラベルが重っているかどうかを判定するプログラムの作成。
[3] 環境
 [3.1] OS:Vista
 [3.2] VC
 [3.3] 言語:C++
[4] 期限: 2012/08/07
[5] その他の制限:

よろしくお願いします。

410 名前:デフォルトの名無しさん mailto:sage [2012/08/07(火) 20:08:36.08 ]
ずいぶんと力作じゃあねぇか
とくに
glBegin(GL_LINE_LOOP);
glVertex2f(LPx[i], LPy[i]);
glVertex2f(LPx[i]+Lx[site[i]], LPy[i]);
glVertex2f(LPx[i]+Lx[site[i]], LPy[i]+Ly);
glVertex2f(LPx[i], LPy[i]+Ly);
glEnd();
のトコロなんて
あまりにも嬉しくて涙が出そうになった

ttp://www.pro.or.jp/~fuji/mybooks/cdiag/
ここに投稿するといい
ソースの殿堂に並ぶ、という栄誉を得られる


411 名前:デフォルトの名無しさん mailto:sage [2012/08/08(水) 16:33:56.46 ]
>>410
この程度で殿堂入りできるわけねーだろ

412 名前:デフォルトの名無しさん mailto:sage [2012/08/10(金) 06:31:47.09 ]
今の時期は宿題少ないなぁ。
8月最終週になったらドバッと来るんだろうけど。

413 名前: ◆QZaw55cn4c mailto:sage [2012/08/10(金) 07:46:50.89 ]
どうせやらないかんのならはやめにこのスレに晒してくれ。

414 名前:デフォルトの名無しさん mailto:sage [2012/08/10(金) 15:44:50.19 ]
無職のオッサンは暇だなあ



415 名前:デフォルトの名無しさん [2012/08/11(土) 13:34:58.15 ]
[1] 授業単元:プログラミング演習
[2] 問題文:1行ごとに1単語(英単語)が書かれたファイルがある。
 このとき、このファイルの内容をソートして出力するプログラムを作成せよ。
 ファイルの行数は不定(事前にわからない)とし、また上限を定めないこと。
 ソートは昇順あるいは降順いずれにも対応できること。
[3] 環境
 [3.1] OS:Windows
 [3.2] コンパイラ名とバージョン:gcc
 [3.3] 言語:C
[4] 期限:8月31日まで
[5] その他の制限:
・ファイルの読み込みは1回のみとする。
・Cライブラリ関数のqsortは利用してはならない。
・単語を格納するデータ構造として配列は使用してはならない。

どうかよろしくお願いします。

416 名前:デフォルトの名無しさん mailto:sage [2012/08/11(土) 13:38:47.12 ]
windowsなら
まずは
sort data.txt > data_sorted.txt
とでも試してみろ


417 名前:デフォルトの名無しさん mailto:sage [2012/08/11(土) 14:32:15.70 ]
>>415
ファイルの行数が不定という事は、メモリに全部テキストを読み込めない
可能性も考慮しなければいけないって事?

もしその場合はランファイルを用いたマージソートが必要になるけど

メモリに収まると分かっているのなら簡単

418 名前:デフォルトの名無しさん mailto:sage [2012/08/11(土) 15:14:53.12 ]
ランファイルって何?

419 名前:デフォルトの名無しさん mailto:sage [2012/08/11(土) 15:39:22.22 ]
外部ソート ラン でぐぐってみ

要するにマージソートの途中過程をファイルにして持っておくしか手がないわけだ
その細かく分割されたそれ自体はソート済になっているファイルをランと呼ぶ

それをマージする時にソートを崩さないようにマージして行き、済んだらマージ前の
ランは消去

こういうアルゴリズム

420 名前:デフォルトの名無しさん mailto:sage [2012/08/11(土) 15:55:06.58 ]
www.ice.gunma-ct.ac.jp/~tsurumi/courses/Pro/2_4.pdf

これだとアルゴリズムがそっくり載ってるからこのままプログラムすればいいな

421 名前:デフォルトの名無しさん mailto:sage [2012/08/11(土) 17:35:02.18 ]
それだと今度はディスクに十分な空きがあることが条件になるだけだし
> ファイルの読み込みは1回のみ
という制限に引っかかるんじゃね?という気がする。
だから単純に全部オンメモリでもいいと思うけど
期限はまだ先だし題意を確認してからのほうがいいだろ

422 名前:デフォルトの名無しさん mailto:sage [2012/08/11(土) 17:43:02.79 ]
>>421
まあそうなんだけどわざと意地悪してみた

>ファイルの行数は不定(事前にわからない)とし、また上限を定めないこと。

この場合はリストでも使うかポインタ配列にしてポインタ配列をrealloc()するかだな
ただしC++のstd::vectorと同じくrealloc()する度にポインタ配列のサイズを倍々にしていかないと
O(1)でメモリが確保できなくなる

>・ファイルの読み込みは1回のみとする。

だから先読みして行数をカウントするのは駄目だし

>・Cライブラリ関数のqsortは利用してはならない。

自前のクイックソートでいいんでしょ

423 名前:デフォルトの名無しさん mailto:sage [2012/08/11(土) 17:43:43.42 ]
リストにするとソートが大変なんで結局 char *が入ったポインタ配列になるだろうな

424 名前: ◆QZaw55cn4c mailto:sage [2012/08/11(土) 17:51:52.72 ]
>>415
toro.2ch.net/test/read.cgi/tech/1313183984/17
ideone.com/aaZlW
オンメモリね。過去問で、今回の題意にあうかあまり検討してないのはごめんなさい。



425 名前:デフォルトの名無しさん mailto:sage [2012/08/11(土) 18:07:12.79 ]
>>424
こりゃまたひどいプログラムですねww

426 名前: ◆QZaw55cn4c mailto:sage [2012/08/11(土) 18:16:40.76 ]
>>415
toro.2ch.net/test/read.cgi/tech/1313183984/338
ごめんなさい。
>ソートは昇順あるいは降順いずれにも対応できること。
が抜けていた。あと、同一単語が連続するとリークしてました。

>>425
どういうところが「ひどい」とお感じになったのか、よろしければぜひ。

427 名前:デフォルトの名無しさん mailto:sage [2012/08/11(土) 18:32:21.62 ]
>>426
>ソートは昇順あるいは降順いずれにも対応できること。
が抜けていた。あと、同一単語が連続するとリークしてました。

それから

xmalloc()ってなんですかあ?マクロで無効にされてますけど
走らせてみたら木構造を表すのにデータの1/2ほどのメモリを使ってますよ

428 名前:デフォルトの名無しさん mailto:sage [2012/08/11(土) 18:42:23.89 ]
codepad.org/iUgdapWZ

約1GBのランダムなテキストファイルを作るプログラム
これを食わせてソートしてみよう

429 名前: ◆QZaw55cn4c mailto:sage [2012/08/11(土) 18:53:37.75 ]
>>427
>xmalloc()ってなんですかあ?マクロで無効にされてますけど

#define xmalloc(x, y) malloc(x)
#define xfree(x, y) free(x)
#define xrealloc(x, y, z) realloc(x, y)
#define xmallocdump()
がすべてです。そう読み替えてくださいな。

>走らせてみたら木構造を表すのにデータの1/2ほどのメモリを使ってますよ

単語が短いとね、というか単語は短いものだしね。仮に木構造をマネージする構造体 >>426 の struct node が、sizeof(struct node) == 12 なら、
>木構造を表すのにデータの1/2ほどのメモリ
というのは単語の平均長が24くらいになりますね。ちょっとありえないか。
どこぞのキャッチフレーズ「重複排除」とか不定長構造体をつかってみましょうか。

430 名前:デフォルトの名無しさん mailto:sage [2012/08/11(土) 18:59:20.47 ]
>>429
いや>>428のプログラムを走らせて言ってるんだけど
一行が1001文字ありますよ?
約1.4GBのメモリ食ってます

431 名前: ◆QZaw55cn4c mailto:sage [2012/08/11(土) 19:52:02.75 ]
>>430
検証ありがとうございます。こちらでも >>428 で確かめました。しかし、
>約1.4GBのメモリ食ってます
はこちらでは確認できませんでした。

17c17
< #define BUFFSIZE 3 /* >= 2 */
---
> #define BUFFSIZE 1024 /* >= 2 */
codepad.org/rm5Gl0qf

で状況が変わる性質のものでしょうか?

432 名前: ◆QZaw55cn4c mailto:sage [2012/08/11(土) 19:54:09.41 ]
環境: PhenomIIx6(1100T?)/16G/Windows7-64bit/gcc4.3.2(cygwin)32bitアプリとしてコンパイル

433 名前:デフォルトの名無しさん mailto:sage [2012/08/11(土) 19:57:54.63 ]
0.4なら誤差かも知れない


434 名前:デフォルトの名無しさん mailto:sage [2012/08/11(土) 20:49:02.48 ]
>>432
見栄張らなくていいのに(。´・д・)
PenV850MHzなんでしょ

それともCPU-Zのスクショマダァ?(・∀・ )っ/凵⌒☆チンチン



435 名前:デフォルトの名無しさん mailto:sage [2012/08/11(土) 20:52:29.45 ]
簡単に見抜く方法があるぞ

SSE3のバイナリ吐かせて走らせてもらえばいい

436 名前: ◆QZaw55cn4c mailto:こんなのばかりがなぜか湧く..... [2012/08/11(土) 20:58:18.37 ]
>>434
愛用していた Let's note ではあったのですが、残念なことに壊れてしまいました。
でも凋落著しいアムド屁ノムごときで見栄を張っているとかいわれても困惑するばかりなのですけれども。

>>435
ソースを codepad に貼り付けていただければ、その実行結果をお返ししますよ。

437 名前: ◆QZaw55cn4c mailto:sage [2012/08/12(日) 01:20:39.61 ]
>>429
>「重複排除」とか不定長構造体
codepad.org/70zSBg25
>>428 で生成したデータでは重複排除は意味がありませんでした。

438 名前:デフォルトの名無しさん mailto:sage [2012/08/12(日) 02:44:21.95 ]
>愛用していた Let's note ではあったのですが、残念なことに壊れてしまいました。

じゃ今使っている現用機のCPU-Zのスクショ貼れるよな?

439 名前: ◆QZaw55cn4c mailto:sage [2012/08/12(日) 07:54:35.92 ]
>>415
>>422 の方針でかきました。>>426 よりずいぶんとはやくなりました。
toro.2ch.net/test/read.cgi/tech/1313183984/351

440 名前: ◆QZaw55cn4c mailto:こんなのばかりがなぜか湧く..... [2012/08/12(日) 09:16:05.41 ]
>>433
メモリ使用量の算出で、

malloc() での要求量を積算し、free() での解放は考えないタイプ(どうせ端したをfree()してもOSに返るわけでもなし)
malloc() 自体が要求量よりも大目にあらかじめ確保しておくタイプ(PHK malloc() とか)
realloc() = malloc() + memcpy() + free() なタイプ

みたいなものであれば、40% ほど大目にでてきても仕方がないかもしれません。

>>431 で示しているとおり、アイデアリスティックな表現
#define BUFFSIZE 3 /* >= 2 */
のために realloc() が頻発してしまっているのが悪そうです。

そんな処理系があるかどうかはよくわかりません。

441 名前:デフォルトの名無しさん mailto:sage [2012/08/12(日) 12:03:06.88 ]
shell関数でsort呼べばいいんじゃね?

442 名前:デフォルトの名無しさん mailto:sage [2012/08/12(日) 12:27:33.01 ]
そんな夢の無いこと言うなよw

ま iinuxやらBSDのsortのソースは見ろ と勧めるが
ttp://ftp.gnu.org/gnu/coreutils/
ttp://heirloom.sourceforge.net/tools.html


443 名前:デフォルトの名無しさん mailto:sage [2012/08/12(日) 13:30:52.21 ]
キッチン・トイレメーカー

444 名前:デフォルトの名無しさん mailto:sage [2012/08/12(日) 15:33:49.41 ]
やってみた
いろいろ手抜き

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

int main(int argc, char *argv[])
{
char c[PATH_MAX+1];
switch(argc){
case 2:
sprintf(c,"sort %s",argv[1]);
break;
case 3:
sprintf(c,"sort %s %s",argv[1],argv[2]);
break;
default:
exit(1);
break;
}
system(c);
}




445 名前:デフォルトの名無しさん mailto:sage [2012/08/12(日) 15:35:27.11 ]
これもうそのままsort使えば早いんじゃないかな


446 名前: ◆QZaw55cn4c mailto:sage [2012/08/12(日) 18:41:53.87 ]
>>415
toro.2ch.net/test/read.cgi/tech/1313183984/358

>>423
無理してみましたが、線形リストのソートはどうあがいても遅くなってしまいました。昔うんこ呼ばわりされたのも仕方がない。

447 名前:デフォルトの名無しさん mailto:sage [2012/08/12(日) 20:43:38.79 ]
オンメモリが前提でよければ、stat呼んで、ファイルサイズ取得し、
必要メモリサイズを確保して一気読みしたら?

448 名前: ◆QZaw55cn4c mailto:こんなのばかりがなぜか湧く..... [2012/08/12(日) 21:07:46.89 ]
>>447
stat(2)/fstat(3) が標準Cライブラリなら。となれば fseek()/ftell() か。
一揆読みのあと、一行の単位で区切らなければいけないのが、はてさて。

449 名前:デフォルトの名無しさん mailto:sage [2012/08/12(日) 21:09:08.56 ]
>>447
パイプ使って標準入力から流れてきたらどうすんの?

450 名前: 忍法帖【Lv=40,xxxPT】 mailto:sage [2012/08/12(日) 21:20:11.33 ]
>>449
>>415
>[2] 問題文:1行ごとに1単語(英単語)が書かれたファイルがある。
とありました。

451 名前:デフォルトの名無しさん mailto:sage [2012/08/12(日) 21:20:50.69 ]
分かった
これは標準のsortが
どれだけ洗練されているかを理解させるための実習なんだ


452 名前:デフォルトの名無しさん mailto:sage [2012/08/13(月) 01:50:40.45 ]
>>447-448
一気読みしたファイルの \n を \0 に置き換えながら char* 配列に文字列先頭アドレスを格納する
char* 配列のサイズは一気読みしたファイルサイズの5〜10分の1くらいを確保して足りなくなったら拡張する

>>449 を考慮しないなら一番早いかも知れないね

453 名前:デフォルトの名無しさん mailto:sage [2012/08/13(月) 20:08:28.47 ]
こんな課題にムキになんなよなぁ
速いのが欲しいならflash sortでもしろよO(n)だぞ

454 名前:デフォルトの名無しさん mailto:sage [2012/08/13(月) 21:16:02.49 ]
>>453
口だけ達者でコードは書けないのですね



455 名前:デフォルトの名無しさん mailto:sage [2012/08/13(月) 21:21:53.23 ]
>>454
そりゃflash sortとか書けねーよ, 金貰えるなら調べて頑張るかもしらねーけど.

456 名前:デフォルトの名無しさん mailto:sage [2012/08/13(月) 21:36:30.54 ]
>>455
コードひとつかけないのなら死ね

457 名前:デフォルトの名無しさん mailto:sage [2012/08/13(月) 21:39:50.30 ]
>>456
お前が金くれんなら書くけど.

458 名前:デフォルトの名無しさん mailto:sage [2012/08/13(月) 22:07:23.89 ]
Flash Sort調べてみたけどバケットソートと同じで使える条件が著しく限られてるんじゃないの?

459 名前:デフォルトの名無しさん mailto:sage [2012/08/13(月) 22:21:20.39 ]
ほほう
それで?


460 名前:デフォルトの名無しさん mailto:sage [2012/08/13(月) 22:31:04.83 ]
バケットソートみたいな整数制約とかは無いな
一様分布なめちゃくちゃ大量の実数とかで速いけど、定数項でかいので実用的にはアレなソート

461 名前:デフォルトの名無しさん mailto:sage [2012/08/13(月) 22:40:42.60 ]
>>458
もちろん、要素間に大小関係がある、というだけの前提のもとでの
ソートの時間計算量はO(n log n)を下回らないだろう

462 名前:デフォルトの名無しさん mailto:sage [2012/08/14(火) 16:15:16.63 ]
>>457
お金を貰ってコードを書くのではなく、
コードを書いてお金を貰うんだ

463 名前:デフォルトの名無しさん [2012/08/16(木) 23:31:24.32 ]
休み中の課題なのですが、わからないので教えて頂きたいです。

[1] 授業単元: C言語
[2] 問題文(含コード&リンク): ideone.com/vb7pZ
[3] 環境
 [3.1] OS:Linux
 [3.2] コンパイラ名とバージョン:gcc
 [3.3] 言語:C
[4] 期限: (2012年)8月17日 23時59分59秒まで


464 名前:デフォルトの名無しさん mailto:sage [2012/08/17(金) 00:40:51.74 ]
>>463
ideone.com/tnkGT



465 名前:デフォルトの名無しさん mailto:sage [2012/08/17(金) 14:42:35.68 ]
[1] 授業単元:C言語徹底入門
[2] 問題文(含コード&リンク):codepad.org/lgXR0ur1
次のプログラムは書式指定可能な10進16進変換表示を行う関数プログラムである。
関数の機能についてコメントで解説を入れ、同時にプログラムの流れを説明せよ。
[3] 環境
 [3.1] OS: Windows
 [3.3] 言語: C言語
[4] 期限: 2012年8月19日

466 名前:デフォルトの名無しさん [2012/08/17(金) 17:12:09.17 ]

[1] 授業単元:C言語
[2] 問題文:プレイフェア暗号の作成
      参考:www.tamagaki.com/math/PlayfairCipher.html
[3] 環境
 [3.1] OS:Windows
 [3.2] コンパイラ:gcc
 [3.3] 言語: C言語
[4] 期限: 8月19日

よろしくお願いします!

467 名前:デフォルトの名無しさん mailto:sage [2012/08/17(金) 22:52:41.04 ]
>>466
どういうプログラムを求めてるんだよ, 問題文とかねえのか

468 名前:デフォルトの名無しさん [2012/08/17(金) 23:36:21.23 ]
[1] 授業単元:C言語
[2] 問題文(含コード&リンク): ideone.com/kfh1t
[3] 環境
 [3.1] OS:Linux
 [3.2] コンパイラ名とバージョン:gcc
 [3.3] 言語:C
[4] 期限: 2012年8月18日18:00まで

関数定義の空欄の部分に
void stradd(char A[], char B[]){
 int i,j;
j=0;
printf("入力してください");
scanf("%s",A);
i=0;
while(A[i]!='\0'){
for(i=strlen-1; i>=0; i--){
j++;
}
B[i]='\0';
}
printf("answer = %s\n" ,B);
}
と書いたのですが、間違っていると言われ、どこが間違っているのかわからないので
教えて頂きたいです。    お願いします。

469 名前:デフォルトの名無しさん mailto:sage [2012/08/17(金) 23:56:04.07 ]
>>468
ttp://ideone.com/2ZuhU

470 名前:デフォルトの名無しさん mailto:sage [2012/08/18(土) 05:32:24.81 ]
>>466
暗号文字が I/J になった時の説明が抜けているように思う。
必ずIでいいのかな。

471 名前:デフォルトの名無しさん mailto:sage [2012/08/18(土) 12:07:06.14 ]
>>466
ttp://ideone.com/A4gq7

472 名前:デフォルトの名無しさん mailto:sage [2012/08/19(日) 06:24:59.43 ]
平文にXが来たらどうするのか、とか。

473 名前: ◆5bhYRM1Rdk [2012/08/19(日) 09:45:57.21 ]
[1] 授業単元:C言語
[2] 問題文(含コード&リンク): ideone.com/rlR3n
[3] 環境
 [3.1] OS:Linux
 [3.2] コンパイラ名とバージョン:gcc
 [3.3] 言語:C
[4]期限 1週間以内 
[5] 自分で考えて書いたつもりですがど素人なので読みにくいと思いますが、
お願いします。


474 名前:デフォルトの名無しさん mailto:sage [2012/08/19(日) 10:10:34.93 ]
Line36
scanf("%d\n",d);

アドレス演算子が抜けてますよ



475 名前: ◆5bhYRM1Rdk [2012/08/19(日) 21:07:24.03 ]
>>474
レスありがとうございます。演算子を付け加えたのですがファイルが開けません。
となるのですが、ファイルの指定の仕方はfp = fopen(a, "r");のようにして読み込む
事はできないのでしょうか?

476 名前:デフォルトの名無しさん mailto:sage [2012/08/19(日) 21:55:09.30 ]
>>475
入力が適切でないだけだろ
"%s\n"なんだからちゃんと
[入力ファイル名][改行][EOF]
と入力してるか?

477 名前:デフォルトの名無しさん mailto:sage [2012/08/19(日) 23:07:30.12 ]
どなたか>>465お願いいたします。

478 名前:デフォルトの名無しさん [2012/08/19(日) 23:32:56.09 ]
考えてみましたが、理解が出来ないので教えて頂きたいです。
お願いします。

[1] 授業単元:C言語
[2] 問題文(含コード&リンク): ideone.com/hnMGh
[3] 環境
 [3.1] OS:Linux
 [3.2] コンパイラ名とバージョン:gcc
 [3.3] 言語:C
[4]期限 2012年8月20日 12:00まで 


479 名前:デフォルトの名無しさん mailto:sage [2012/08/20(月) 00:38:51.17 ]
readDataなんて忘れろ
消せ
削除しろ
mainに全て納めろ


480 名前: ◆QZaw55cn4c mailto:sage [2012/08/20(月) 01:00:13.43 ]
>>478
toro.2ch.net/test/read.cgi/tech/1313183984/401
>>479
馬鹿市ね

481 名前:デフォルトの名無しさん [2012/08/20(月) 11:31:22.78 ]
466です。返信が遅くなってしまいすみません。
平文にxがきてもそのまま変換します。
I/Jについてはどちらかで統一できるようにしたいです。
プログラムについてはCで作れれば自由という感じです。


482 名前:デフォルトの名無しさん mailto:sage [2012/08/20(月) 15:04:08.70 ]
背景グレーに黒文字のページを作る奴の頭の中を覗いてみたい

483 名前:デフォルトの名無しさん mailto:sage [2012/08/20(月) 19:48:58.90 ]
>>482
2chなめてんのか

484 名前:デフォルトの名無しさん mailto:sage [2012/08/20(月) 20:27:51.47 ]
>>483
ダークグレーに訂正
>>466 のリンク先見てみ、読む気が失せるから



485 名前:デフォルトの名無しさん mailto:sage [2012/08/20(月) 23:08:54.24 ]
>>466 >>481
ideone.com/4007r
冗長になってもーた。
あとはまかせた。

486 名前:デフォルトの名無しさん mailto:sage [2012/08/21(火) 02:15:47.04 ]
[1] プログラミング言語
[3] 環境
 [3.1] OS: Windows7
 [3.2] コンパイラ名とバージョン: Visual Studio2010 )
 [3.3] 言語: C++

int main(void){
 double d2, s2;
 int i;
 s2 = 0.0;
 d2 = 1.0/10000000.0;
 for(i = 0; i < 10000000; i++){
  s2 = s2 + d2;
 }
 printf("%f\n",s2);
 printf("%17.14f\n",s2);
 return 0;
}

上記のプログラムを実行すると,コマンドプロンプトには

1.000000
0.999999999750170

と出力される.
どちらも同じs2を出力しているのにもかかわらず,
表示させる桁数を変えるだけで出力内容が変わる理由,
および,2行目の方で計算結果が
1.000000000000000
とならない理由を述べよ.

487 名前:デフォルトの名無しさん mailto:sage [2012/08/21(火) 02:23:35.48 ]
計算機ちゃんの気まぐれだろjk
自分のPCくらいちゃんと手懐けておけよ


488 名前:デフォルトの名無しさん mailto:sage [2012/08/21(火) 07:18:36.76 ]
レスしないならウザいでください
わからないだけです

489 名前:デフォルトの名無しさん mailto:sage [2012/08/21(火) 08:34:57.42 ]
>>486
期日書いてないから宿題と思わないし、C++じゃなくてCだと思うけども。
1) 2進数は習いましたか?
2) 浮動小数点数の表現方法は習いましたか?

それとも、あれかな。そのあたりを調べろっていう課題なのかね。

490 名前:486 mailto:sage [2012/08/21(火) 09:17:16.48 ]
>>489
すみません 2012-08-24までです

491 名前:486 mailto:sage [2012/08/21(火) 09:23:09.22 ]
>>489
1)習いました
2)習いました
どうしてこうなるかを調べる課題です
打ち切り誤差 桁落ち 情報欠落 丸め誤差のいずれかだと思うのですが

492 名前:デフォルトの名無しさん mailto:sage [2012/08/21(火) 11:47:27.75 ]
>>491
なるほど。丸め誤差ですね。
e-words.jp/w/E4B8B8E38281E8AAA4E5B7AE.html
0.5 0.25 0.125 ... を組み合わせて足してできる小数でないと、
丸め誤差が生じます。
誤差をがある数を足しあわせたら、答えも誤差を含みます。
これが、答えの一方になります。
わかりづらいようでしたら、十進数の0.1を二進数に変換してみてください。
これが後段の答えです。
前段の答えは、
printf()が十進数でいうところの四捨五入を行う位置が違うからです。

私は国語が苦手なので、答えはそちらでまとめてくださいね。

493 名前:486 mailto:sage [2012/08/21(火) 11:51:58.96 ]
>>492
詳しくありがとうございました!なんとかなりそうです

494 名前:デフォルトの名無しさん [2012/08/21(火) 14:55:59.45 ]
[1] 授業単元:データベース概論(レポート内容がcプログラムを作成しなさいというものでしたので)
[2] 問題文(含コード&リンク):
1.
CSVファイルからAccessデータベースを作るプログラム
2.
7桁の郵便番号を与えると,その郵便番号に対応する住所を表示するプログラム.
3.
住所の一部を文字列として与えると,その文字列を含む住所と郵便番号を表示するプログラム.
www.mi.s.osakafu-u.ac.jp/~fujimoto/gakka/db/
の6月26日のものを参考にということです。

[3] 環境
 [3.1] OS: Windows
 [3.2] コンパイラ名とバージョン: すみませんわからないです
 [3.3] 言語: C
[4] 期限: 8月31日まで

データベースの講義ですのでここで質問してよいのかわかりませんがプログラムを作る課題でしたので、
分かる方ぜひおねがいします。




495 名前:デフォルトの名無しさん mailto:sage [2012/08/21(火) 15:00:33.39 ]
こりゃアレだな
ken_all.csv を使えっていうお告げだ


496 名前:デフォルトの名無しさん mailto:sage [2012/08/21(火) 19:32:35.34 ]
CからDB扱ったことないから、練習してみるか。週末ためしてみよう。

497 名前:デフォルトの名無しさん mailto:sage [2012/08/21(火) 19:34:34.07 ]
いや
ちがうだろコレ

CでDBを作れっちゅー課題だ


498 名前:デフォルトの名無しさん mailto:sage [2012/08/21(火) 19:46:50.11 ]
そもそもCSVの仕様はどうするの?
RFC4180準拠なの?
リンク先にある「CSVを楽に読みだすプログラム」みたいな馬鹿チョン仕様でいいの?

499 名前:デフォルトの名無しさん mailto:sage [2012/08/21(火) 19:51:37.62 ]
>>498
お前がRFC4180準拠で書ける訳ないんだから選択の余地無しだろ

500 名前:デフォルトの名無しさん mailto:sage [2012/08/21(火) 19:53:46.02 ]
値にメタ文字を含むと爆発するおそれがありますって書いておけばいい

501 名前:デフォルトの名無しさん mailto:sage [2012/08/21(火) 19:54:18.96 ]
郵便局のサイトにあるCSVを読むんだろ
それg読めればいいだけだ


502 名前:デフォルトの名無しさん mailto:sage [2012/08/21(火) 19:56:53.79 ]
>>499
え、お前かけないの

503 名前: 忍法帖【Lv=40,xxxPT】 mailto:sage [2012/08/21(火) 19:56:56.74 ]
>>494にあるURLに、材料は全部用意されてるよ。


504 名前:デフォルトの名無しさん mailto:sage [2012/08/21(火) 20:02:01.89 ]
エスケープ後もエスケープ以外のメタ文字が残るような
クソフォーマットの話はこのスレではどうでもいいと思います



505 名前: 忍法帖【Lv=40,xxxPT】 mailto:sage [2012/08/21(火) 20:09:05.54 ]
Access上のテーブルは、予め作っておくのかな?
それとも、テーブルもプログラムで作成しろということなのかな?

506 名前:デフォルトの名無しさん [2012/08/21(火) 20:24:07.47 ]
                                /⌒ヽ⌒ヽ
                                       Y
                                    八  ヽ
                             (   __//. ヽ,, ,)
                              丶1    八.  !/
                               ζ,    八.  j
                                i    丿 、 j
                          ,. -‐=≦=|     八   |=≧=‐- 、
                        /´      !    i 、       `ヽ
  .,v─ーv_                 .{:::.:  ,:.    i し " i   '    .:、  :.:::}
..,i(厂  _,,,从vy               |::.:.: l::.   ノ (   i    i    .::l . :.:.::|
..l  ,zll^゙″  ゙ミ             ∧:.:... i::,    '~ヽ   !       .::i ...:.:∧
..《 il|′     フーv,_          !: :ヽ:. ::. . ..:. ,. |     i   .l .、.:.. . .:: .:ノ: :!              _( "''''''::::.
 \《 ヽ     .゙li ._¨''ーv,,_      {       ノ|   |   | |  ヽ    :::::::::::::::::::::::::::::;;;;;,, ---‐'' "^~
        ゙^ー、,,,¨ -   ''¨.─        / |     ;;-.;i       \
                       ,/       ,;-/;;; /' ''   ;;;X;,      ヽ
                           i'  /_,,;-‐''  |;;  ;i;;.. 〜  ;;| ''‐-;,,_\_  'i
                           i   `i     X〜 ;i;;; ;;     (___'_っ

507 名前: ◆5bhYRM1Rdk [2012/08/21(火) 21:41:04.88 ]
3 : ◆5bhYRM1Rdk :2012/08/19(日) 09:45:57.21
[1] 授業単元:C言語
[2] 問題文(含コード&リンク):ideone.com/rYMeK
[3] 環境
 [3.1] OS:Linux
 [3.2] コンパイラ名とバージョン:gcc
 [3.3] 言語:C
[4]期限 1週間以内 

508 名前:デフォルトの名無しさん mailto:sage [2012/08/21(火) 21:41:13.68 ]
CSVファイルからAccessデータベースを作るプログラムってのは
1.create database
ttp://support.microsoft.com/kb/149558
2.create table
3.insert into
基本的にこんな流れか

509 名前:デフォルトの名無しさん mailto:sage [2012/08/21(火) 22:10:22.54 ]
>>507
>strcpyするのに型が違うとコンパイルエラーが出たのですが、型は一緒だと私は思っているため、なぜ違うのかわかりません。
char と char*

>辞書的に後ろ前をif文でどのように表現すればいいのか
strcmp

>文字列結合にstrcatを使うと思うのですが、結合の合間にスペースをいれる方法
前半の文字列とスペースを結合後、その文字列と後半の文字列を結合

>>476を無視してるけど今回のコードを見る限り理解してないよね

510 名前:デフォルトの名無しさん mailto:sage [2012/08/21(火) 22:25:36.92 ]
>>507
ttp://ideone.com/3MTzP

511 名前: ◆5bhYRM1Rdk [2012/08/21(火) 22:57:05.82 ]
>>509
>>476すいません、ファイル名を入力して改行してCTRL+dを押しても
ファイルが開けないってでるんですが、どういう意味でいっているのかわかりません。
>>510
分かりやすいプログラムありがとうございます。ただ関数内で使用しているfprintf,sprintf
は一体何をしているんでしょうか?fprintfはファイル書き込みの時に使用するのではないんですか?
sprintfは意味がわかりません・・・。それ以外は自分の理解不足、勘違いがよくわかりました。

512 名前: ◆5bhYRM1Rdk [2012/08/22(水) 00:55:45.30 ]
[1] 授業単元:C言語
[2] 問題文(含コード&リンク):ideone.com/eeKJB
[3] 環境
 [3.1] OS:Linux
 [3.2] コンパイラ名とバージョン:gcc
 [3.3] 言語:C
[4]期限 1週間以内 


513 名前:デフォルトの名無しさん mailto:sage [2012/08/22(水) 01:49:26.51 ]
>>512
ideone.com/evZS8

514 名前: ◆5bhYRM1Rdk [2012/08/22(水) 01:57:49.30 ]
[1] 授業単元:C言語
[2] 問題文(含コード&リンク):ideone.com/LGHF6
[3] 環境
 [3.1] OS:Linux
 [3.2] コンパイラ名とバージョン:gcc
 [3.3] 言語:C
[4]期限 1週間以内 




515 名前: ◆5bhYRM1Rdk [2012/08/22(水) 02:07:46.45 ]
[1] 授業単元:C言語
[2] 問題文(含コード&リンク):ideone.com/ZXLEr
[3] 環境
 [3.1] OS:Linux
 [3.2] コンパイラ名とバージョン:gcc
 [3.3] 言語:C
[4]期限 1週間以内 

516 名前:デフォルトの名無しさん mailto:sage [2012/08/22(水) 03:21:00.95 ]
>>515
ttp://ideone.com/Pucit


517 名前:デフォルトの名無しさん mailto:sage [2012/08/22(水) 06:13:25.45 ]
>>494
ttp://ideone.com/5cMkB
とりあえずCSVファイルをODBCで読み込むサンプル

518 名前:デフォルトの名無しさん mailto:sage [2012/08/22(水) 09:08:34.85 ]
>>517
ttp://ideone.com/HrW7k
とりあえずここまで

519 名前:デフォルトの名無しさん mailto:sage [2012/08/22(水) 13:35:57.49 ]
>>494
ttp://ideone.com/V8023
1.CSVファイルからAccessデータベースを作るプログラム

520 名前:デフォルトの名無しさん [2012/08/22(水) 13:58:49.70 ]
>>517,518,519
とてもはやい解答ありがとうございます。
大変助かります。

521 名前:デフォルトの名無しさん mailto:sage [2012/08/22(水) 14:15:22.90 ]
[1] 授業単元:独学
[2] 問題文(含コード&リンク): ideone.com/jBgUV
[3] 環境
 [3.1] OS: Windows
 [3.2] コンパイラ名とバージョン: VC++ 2010
 [3.3] 言語: どちらでも可
[4] 期限: 無期限
[5] その他の制限: 特になし

522 名前:デフォルトの名無しさん mailto:sage [2012/08/22(水) 14:23:09.41 ]
>>494
ttp://ideone.com/Dw67o
2.7桁の郵便番号を与えると,その郵便番号に対応する住所を表示するプログラム.

ttp://ideone.com/5ncU5
3.住所の一部を文字列として与えると,その文字列を含む住所と郵便番号を表示するプログラム.

>>520
こちらも復習がてらやってます

523 名前:デフォルトの名無しさん mailto:sage [2012/08/22(水) 15:16:25.85 ]
>>521
それ普通にこっちで聞いていいと思うよw
toro.2ch.net/test/read.cgi/tech/1341052801/

まず、typedef structを使うのはC言語の方で、C++ではtypedefは不要
ideone.com/cuuh4

C言語としてはそのソースはコンパイル出来ない
ideone.com/RYaVs
struct無しで変数宣言するなら「typedef struct _hoge2 {} _hoge2;」のように
後ろにtypedef名を書く必要がある
「struct _hoge2」の形式で変数宣言する必要がなければ「typedef struct {} _hoge2;」でいい
ideone.com/7ABDE

Cでどれを使うかというと人次第だけど typedef struct {} yyy; の形式が多いんじゃないかな
structだけでなくunionもね
実装側の詳細を多少隠蔽出来るから
ideone.com/TEs6W

524 名前:デフォルトの名無しさん mailto:sage [2012/08/22(水) 15:26:30.72 ]
>>521
あとtypedefの話だったから書いてなかったけど
「_」で始まる名前と「__」(_が2個)を含む名前は使わないようにね
詳細はC C++ 予約名とかでググって



525 名前:デフォルトの名無しさん mailto:sage [2012/08/22(水) 16:36:33.56 ]
>>524
ありがとうございます。
非常に参考になりました。

隠蔽についてはまだ理解仕切れてませんが、
これから学んでいきます。

526 名前: ◆t3V4YN9hBY [2012/08/23(木) 00:21:07.26 ]
【質問テンプレ】
[1] 授業単元: プログラミング演習
[2] 問題文
巡回セールスマン問題の厳密解を総当たり法で求めるプログラムを、再帰呼び出しを用いて作成せよ
(例)  1  2  3  4  5  6
  1 0 470 550 420 300 200
  2 470 0 800 900 770 560
  3 550 800 0 330 650 750
  4 420 900 330 0 450 400
  5 300 770 650 450 0 180
  6 200 560 750 400 180 0
[3] 環境
 [3.1] OS:Windows
 [3.2] コンパイラ名とバージョン:Visual C++ 2010
 [3.3] 言語:C++
[4] 期限: 8月30日
[5] その他の制限:なし プログラムが動けばいいと教授に言われました。
どうぞよろしくお願いいたします。

527 名前:デフォルトの名無しさん mailto:sage [2012/08/23(木) 09:28:09.92 ]
それ
ナニ行列だったっけ


528 名前: ◆t3V4YN9hBY [2012/08/23(木) 09:58:11.31 ]
なに行列かはわかりませんが、
1→2→3→4→5→6 2230
といった結果を出すプログラムをつくるらしいのですが、
馬鹿だから俺には全くわからない。 

529 名前:デフォルトの名無しさん mailto:sage [2012/08/23(木) 10:04:41.06 ]
123456で全順列作って、合計距離を計算し、
最小値を出せば良いんじゃないの?


530 名前: ◆t3V4YN9hBY [2012/08/23(木) 10:45:44.49 ]
最小値は出さなくていいんです。全通りの合計距離がでれば

531 名前:デフォルトの名無しさん mailto:sage [2012/08/23(木) 11:31:32.59 ]
フツー
グラフ理論つったら
隣接行列使わね?

だからそれナニ行列なのよ


532 名前:デフォルトの名無しさん mailto:sage [2012/08/23(木) 11:54:32.80 ]
どう見ても隣接行列だろw

533 名前:デフォルトの名無しさん mailto:sage [2012/08/23(木) 12:00:20.80 ]
>>530
えっ? 最小値を出さなくていいの? 意味が分からんよ
巡回セールスマンって普通は「全通りの中で最小距離のもの」を求める問題なんだけど

534 名前: ◆5bhYRM1Rdk [2012/08/23(木) 12:16:07.06 ]
[1] 授業単元:C言語
[2] 問題文(含コード&リンク):[1] 授業単元:C言語
[2] 問題文(含コード&リンク):ideone.com/1Z7RF
[3] 環境
 [3.1] OS:Linux
 [3.2] コンパイラ名とバージョン:gcc
 [3.3] 言語:C
[4]期限 1週間以内 




535 名前: ◆t3V4YN9hBY [2012/08/23(木) 12:20:58.04 ]
すいません。馬鹿なので勘違いしてました。529さんのいっているとおりで
123456で全順列作って、合計距離を計算し、
最小値を出せば良いんじゃないの?
ってことでよろしいです。よろしくお願いします。

536 名前:デフォルトの名無しさん mailto:sage [2012/08/23(木) 12:23:44.52 ]
>>534
ttp://ideone.com/idf6S

537 名前:デフォルトの名無しさん mailto:sage [2012/08/23(木) 12:42:40.34 ]
巡回セールスマン問題はNP困難なのだからまともに解こうと思うと非常に時間が掛かる
工夫が必要

ja.wikipedia.org/wiki/%E5%B7%A1%E5%9B%9E%E3%82%BB%E3%83%BC%E3%83%AB%E3%82%B9%E3%83%9E%E3%83%B3%E5%95%8F%E9%A1%8C

538 名前:デフォルトの名無しさん mailto:sage [2012/08/23(木) 12:51:50.38 ]
>>526
ideone.com/mxZHW

528とは少し表示の仕方が逆順だが

539 名前: ◆t3V4YN9hBY [2012/08/23(木) 16:11:10.90 ]
>>538
ありがとうございます。
6→5→4→3→2→1 の合計距離が違うと思うのですが・・・

540 名前:デフォルトの名無しさん mailto:sage [2012/08/23(木) 16:28:25.01 ]
1→2→3→4→5→6→1 じゃね?
巡回セールスマン問題は出発地に戻ってくるところまでだし

541 名前: ◆t3V4YN9hBY [2012/08/23(木) 16:32:03.72 ]
>>540
そうっすね^^じゃあ完成すね。ありがとうございました。
解読していきやす。

542 名前:538 mailto:sage [2012/08/23(木) 20:20:00.36 ]
すまんねw
528 で始点への枝が書いてなかったから省略するもんかと思ってたw

543 名前: ◆5bhYRM1Rdk [2012/08/23(木) 23:25:10.39 ]
>>516
>>536
分かりやすいプログラムありがとうございました。


544 名前: ◆5bhYRM1Rdk [2012/08/24(金) 00:39:58.49 ]
[1] 授業単元:C言語
[2] 問題文(含コード&リンク):[1] 授業単元:C言語
[2] 問題文(含コード&リンク):ideone.com/rVIkp
[3] 環境
 [3.1] OS:Linux
 [3.2] コンパイラ名とバージョン:gcc
 [3.3] 言語:C
[4]期限 1週間以内 




545 名前: ◆5bhYRM1Rdk [2012/08/24(金) 00:47:14.72 ]
[1] 授業単元:C言語
[2] 問題文(含コード&リンク):ideone.com/bycLg
[3] 環境
 [3.1] OS:Linux
 [3.2] コンパイラ名とバージョン:gcc
 [3.3] 言語:C
[4]期限 1週間以内 


546 名前: ◆5bhYRM1Rdk [2012/08/24(金) 00:58:28.44 ]
[1] 授業単元:C言語
[2] 問題文(含コード&リンク):ideone.com/Ax7di
[3] 環境
 [3.1] OS:Linux
 [3.2] コンパイラ名とバージョン:gcc
 [3.3] 言語:C
[4]期限 1週間以内 



547 名前:デフォルトの名無しさん mailto:sage [2012/08/24(金) 01:00:33.37 ]
問題文くらい書き写せよ。

548 名前: ◆t3V4YN9hBY [2012/08/24(金) 01:23:58.54 ]
>>542
すいません。バイト終わって家で動かしたのですが、INFINITYとprevが識別できません。
どうすればよろしいでしょうか? 
お手数かけて申し訳ないっす;;

549 名前:デフォルトの名無しさん mailto:sage [2012/08/24(金) 02:05:14.92 ]
INFINITYじゃなくて<limits>をインクルードしてstd::numeric_limits<double>::infinity()
ってやればいいじゃんせっかくあるんだから

550 名前:デフォルトの名無しさん mailto:sage [2012/08/24(金) 06:37:39.16 ]
const double INF = 99999999; とかのでかい数突っ込んでおいてもよろしい

551 名前: ◆5bhYRM1Rdk [2012/08/24(金) 08:56:06.35 ]
544の問題を書いてみたんですが、なんで出力されないのでしょうか?コンパイルが通るので
分かりません
書いたコード→ideone.com/ky4CJ

552 名前:デフォルトの名無しさん mailto:sage [2012/08/24(金) 09:00:21.33 ]
>>551
ttp://ideone.com/As3OL

553 名前: ◆5bhYRM1Rdk [2012/08/24(金) 09:08:31.31 ]
>>すばやい回答ありがとうございます。あなたいつも回答してくれてるような・・

554 名前: ◆5bhYRM1Rdk [2012/08/24(金) 09:56:06.01 ]
545誰かお願いします。非スカラー型へのポイント変換ってなんですか・
書いたコード→ideone.com/ToYZ8



555 名前:デフォルトの名無しさん mailto:sage [2012/08/24(金) 10:03:40.64 ]
struct queue{
 struct data *top,*rear;
};
じゃなくて
struct queue{
 struct queue *top,*rear;
};
じゃねーの?

556 名前:555 mailto:sage [2012/08/24(金) 10:15:59.29 ]
ノードは自分で定義しろってことか
ideone.com/1n7lv

557 名前:555 mailto:sage [2012/08/24(金) 10:43:05.07 ]
>>546
ヒープ使うようにした
ideone.com/RW1M5

558 名前:デフォルトの名無しさん [2012/08/24(金) 10:43:32.15 ]
[1]授業単元:マイコン実習
[2]問題文 H8マイコンを使ってマイクロスイッチを押した回数をカウントして2桁LEDディスプレイに表示させるプログラムを作りたいです。
カウントリセットもできたりしたです。行く行くは音源を付けて流れるようにしたりマイクロスイッチの数を増やしたいです。
[3]環境
 [3.1]OS:Windows
 [3.2]コンパイラ名とバージョン:gcc
 [3.3]言語:C言語
[4]期限:8月31日
[5]その他の制限:

559 名前:デフォルトの名無しさん mailto:sage [2012/08/24(金) 10:49:49.98 ]
>>558
いいなぁ。楽しそう。1週間あれば余裕を持って作れるね。
おれも学生に戻りたい。

560 名前: ◆5bhYRM1Rdk [2012/08/25(土) 01:37:01.41 ]
>>556>>557ありがとうございます。
>>557なんですがヒープをまだ学習していないので>>556に延長する形で
cの初心者でもわかるように書いて欲しいのですが、誰かお願いします。

561 名前:デフォルトの名無しさん [2012/08/25(土) 01:41:25.04 ]
>>560
ヒープとは動的に確保されるメモリ領域のことだよ
malloc()とかで確保される領域ね

562 名前:デフォルトの名無しさん mailto:sage [2012/08/25(土) 01:43:33.09 ]
スタックだって動的じゃんw
何を言ってるんだ

563 名前:デフォルトの名無しさん [2012/08/25(土) 01:53:16.56 ]
>>562
>>561の1行目が言いたいこと
2行目はその一例

564 名前:デフォルトの名無しさん mailto:sage [2012/08/25(土) 02:34:20.18 ]
つまりスタックも動的なのでヒープであるってことでいいですか?



565 名前:デフォルトの名無しさん [2012/08/25(土) 02:43:21.11 ]
>>564
いくないです
>>561の動的と>>562の動的とは意味が異なる

566 名前: ◆5bhYRM1Rdk [2012/08/25(土) 02:45:27.43 ]
>>560は自己解決しましたすいません。
別の問題お願いします→ideone.com/djvSI

567 名前:デフォルトの名無しさん [2012/08/25(土) 02:48:50.62 ]
>>566
curとtopの変数の使い方逆じゃね?

568 名前: ◆5bhYRM1Rdk [2012/08/25(土) 02:53:14.26 ]
>>567コードを書いてほしいです

569 名前:デフォルトの名無しさん [2012/08/25(土) 02:58:05.64 ]
>>568
質問を書け

570 名前: ◆5bhYRM1Rdk [2012/08/25(土) 03:04:19.02 ]
>>567にかいてあるんですが、何か不足してますか?

571 名前:デフォルトの名無しさん [2012/08/25(土) 03:08:42.25 ]
>>570
ここに書け

572 名前:デフォルトの名無しさん mailto:sage [2012/08/25(土) 03:43:59.72 ]
>>566
ideone.com/LqC3i

573 名前: ◆QZaw55cn4c mailto:sage [2012/08/25(土) 05:18:11.37 ]
>>566
toro.2ch.net/test/read.cgi/tech/1313183984/402

574 名前:デフォルトの名無しさん mailto:sage [2012/08/25(土) 10:31:21.30 ]
>>◆5bhYRM1Rdk
何個も宿題書いてるみたいだけど
小出しにしないで全部書いたほうが良いよ
一連の問題だって分かると解答も変わるし



575 名前:デフォルトの名無しさん mailto:sage [2012/08/25(土) 10:58:35.13 ]
それから自分のソースを添削してもらいたい場合を除き問題はコピペする。
なぜかというと、アップしたサイトから問題が消えてしまうと、最近の地方都市の
ようにシャッターが下りたままだらけのスレとなってしまう。

576 名前:デフォルトの名無しさん mailto:sage [2012/08/25(土) 15:24:15.40 ]
>>573
ここにリンク張れ
変なスレに誘導すんなカス

577 名前:デフォルトの名無しさん mailto:sage [2012/08/25(土) 16:41:38.84 ]
できれば、小出しにしないでほしいな。
数多くてもいいいから。

578 名前: ◆5bhYRM1Rdk [2012/08/26(日) 11:25:52.58 ]
[1] 授業単元:C言語
[2] 問題文(含コード&リンク):
ideone.com/vbxzo
ideone.com/d2Q9D
ideone.com/WX3WK
ideone.com/7PgFw

[3] 環境
 [3.1] OS:Linux
 [3.2] コンパイラ名とバージョン:gcc
 [3.3] 言語:C
[4]期限 1週間以内 



579 名前:デフォルトの名無しさん mailto:sage [2012/08/26(日) 12:04:52.02 ]
>>578
>>575

580 名前:デフォルトの名無しさん mailto:sage [2012/08/26(日) 12:21:54.54 ]
複数レスに渡るようなコードはうpろだに貼った方がいいけど
その場合でも問題の概要くらいは書いた方がいいな。手をつけてもらえなくなる

あとideone重い

581 名前:デフォルトの名無しさん mailto:sage [2012/08/26(日) 17:54:05.36 ]
>>578
酷い問題だなぁ
スタックとキューの実装比較がテーマなのにインターフェイスが異なるとかw
そも queue.rear って必要か?
print_queue_list() の実装も気持ち悪いし

582 名前: ◆QZaw55cn4c mailto:sage [2012/08/26(日) 19:49:58.83 ]
>>575
ideone や codepad は 5 年前の内容でも引っ張り出せる。5年前の自分のコードをみるとさすがに赤面ものだ

583 名前:デフォルトの名無しさん mailto:sage [2012/08/27(月) 03:49:40.48 ]
>>582
メールでやり取りするとまた削除対象になりますよ

584 名前:デフォルトの名無しさん mailto:sage [2012/08/27(月) 20:27:33.77 ]
>>578
Stack
ideone.com/PLIcx

Queue
ideone.com/VLRFP



585 名前: ◆GnxmqzQNd3uR mailto:sage [2012/08/28(火) 03:49:37.29 ]
main.cpp
ttp://paste.factorcode.org/paste?id=2742
gff.h
ttp://paste.factorcode.org/paste?id=2741

Struct[0]->Typeがメモリー上のデータではなくアドレスを指している理由が分かりません。
期待する動作としてはStruct[0]->TypeがStruct[1]->Type以降と同じようにデータを指すことです。
よろしくお願いします。

ttp://paste.factorcode.org/paste?id=2740
実際の出力
0x005e43e8 Struct[0]->Type 0x005e43e8(6177768)
期待する出力
0x005e43e8 Struct[0]->Type 0xffffffff(4294967295)

586 名前:デフォルトの名無しさん mailto:sage [2012/08/28(火) 04:11:30.99 ]
洋ゲーのデータ読み込む宿題とは珍しい

587 名前:デフォルトの名無しさん mailto:sage [2012/08/28(火) 04:53:11.55 ]
>>585
test->Struct = (Struct *)(MEMORY_gff + 0x38);

で代入しちゃってるからなぁ
ローカル変数用意してそこに代入した方がいいかもね

Struct *testStruct = (Struct *)(MEMORY_gff + 0x38);
printf("0x%08lx\tStruct[%d]->Type\t0x%08lx(%lu)\r\n", &testStruct[i].Type, i, testStruct[i].Type, testStruct[i].Type);

あとマクロとか使ったほうがいいかもね
ttp://ideone.com/cDq75

588 名前: ◆GnxmqzQNd3uR mailto:sage [2012/08/28(火) 05:12:56.58 ]
>>587
ありがとうございます。

以下のような構造体を作ることは可能なのでしょうか?
可変長の部分は結局ポインタで繋げることになるのでしょうか?

構造体1
|=DWORD aa;
|-int bb;
|-構造体2[bb]
||-int count;
|\-DWORD aaa;
\-構造体3[bb]
|-char foobar[0][50];
|-char foobar[1][50];
\-char foobar[2][50];

589 名前:デフォルトの名無しさん mailto:sage [2012/08/28(火) 05:27:50.84 ]
>>588
>可変長の部分は結局ポインタで繋げることになるのでしょうか?
そうなるね

typedef struct {
  int attr;
  int num;
  int items[ ];
} info_t;

info_t *info = malloc(sizeof(info_t) + sizeof(int) * num);
info->num = num;

構造体の最後のメンバである時に限って0長配列メンバは可能だけど
これは全メンバのアドレスが決まっているから可能

590 名前:デフォルトの名無しさん mailto:sage [2012/08/28(火) 06:12:13.24 ]
>>589
0長配列が使える様になったのは何時ごろからか知ってる?
昔、Xlib とかの構造体では items[1] とかやってて面倒だった記憶が有るんだけど

591 名前:デフォルトの名無しさん mailto:sage [2012/08/28(火) 06:41:31.08 ]
>>590
規格としてはC99からっぽい
ttp://seclan.dll.jp/c99d/c99d04.htm

MS-C ver.6から使えたが、ANSI準拠ではないので大っぴらには使ってなかったようだ

typedef struct tagBITMAPINFO {
  BITMAPINFOHEADER bmiHeader;
  RGBQUAD bmiColors[1];
} BITMAPINFO;






[ 新着レスの取得/表示 (agate) ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<188KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef