1 :
デフォルトの名無しさん :
2012/01/04(水) 23:04:36.09 あなたが解けないC言語/C++言語の宿題を片付けもらうスレッドです。気に入らない質問やその他の発言はスルーの方向で。
【質問者へ】
回答者の便宜のため、質問の際は以下を行うことを推奨します。
・質問は【質問テンプレ】を利用してください。
>>2 以降にあります。
・問題文は、出題されたまま全文を書いてください。
・問題文やコードをリンクするときは、一言内容にについて説明をつけましょう。
・計算問題は数式をあげ、どのような計算をするのか詳しく説明してください。
・エラーは、その詳細と発生した行を書きましょう。エラーメッセージはコピペしてください。
・後から問題に付け足しするのはコラー!!です。付け足しは作業を無駄にしがちです。
・なりすましを防ぐため、トリップを使ってください。名前欄に、「#」に続けて任意の文字列を入力して投稿すると、その文字列を知らない他人に騙られることを防ぐことができます。
平松サイド vs 橋下サイド 民主党 大阪市民 自民党 ν速民 共産党 財界 関西電力 連合 自治労 日教組 公務員 毎日新聞 MBS 解同 極左 大阪の敵が濃縮されてわかりやすくなったな
[1] 授業単元:プログラミング応用
[2] 問題文(含コード&リンク):本のデータベースを作りなさい
[3] 環境
[3.1] OS:Win7
[3.2] VisualStudio2010
[3.3] 言語:C言語
[4] 期限: ([2012年1月7日8:00まで
[5] その他の制限:
main,registration,update,retrieval,recovery,list,deleteからなるテキストの足りないところを補う
ソースは複数をzipにして固めたので
http://www.dotup.org/uploda/www.dotup.org2474552.zip.html に上げました
各種ソースと課題内容が入ってます
>>4 ちょっと変数分かりにくいから書きなおしてもいい?
作り直した方が早いわこれ
この先生、仕事で他人のコードの保守とかしたことない人なんだろうな
俺の書いたコードを見てくれって感じにしては形式も古いし汚いし、 その割にVisualStudio2010だし、コメントに!がついててやけに気合入ってるし、 こんなやり方じゃ学習効果は疑問だし、無能でやる気のある方なのかね
>>10 授業は自分のパワーポイントで解説したあとソースを写させるだけでした
自分も人のこと言えないけどプログラミング以外のパソコン操作は苦手そうでした
Ctrl+Cなどの短縮キーのことも知らないようだったので
短縮キーって…電話かよw ショートカットキーね。
>>13 超乙です
俺は手をつける気にもならなかった
15 :
デフォルトの名無しさん :2012/01/06(金) 00:02:13.04
16 :
デフォルトの名無しさん :2012/01/06(金) 01:52:10.10
[1] 授業単元:C++でレースゲーム [2] 問題文(含コード&リンク): ・実行イメージ ------------------------------------------- |・レースエントリー | エントリー台数を入力してください→ | | | | エントリー台数を入力してスタート。 エントリー台数で入力した台数を表示し、画面を一周してゴール。何着かをそれぞれに表示。 最後にレース終了と表示で終了。 車は走ってる最中にスピードアップしたりする。 スピードアップ中はスピードが上がってるとわかる表示にする。 C++で作る。必ずポリモーフィズムを実装。 この仕様が最低条件なのでできればこれに+α加えてもらえればうれしいです。 お手数ですが、コメントのほうもお願いします [3] 環境 [3.1] OS:Windows7 [3.2] コンパイラ名とバージョン:Microsoft Visual Studio 2008 [3.3] 言語: C++ [4] 期限: ([2012年1月8日13:00まで] [5] その他の制限:前のスレでお願いしたのですが新しくできていたので こちらにも書かせいただきました。どうかよろしくお願いします。お手数ですがコメントのほうよろしくお願いします。
19 :
>>4 :2012/01/06(金) 13:06:21.69
>>19 起動時は(FNAMEのパスに)空のデータベースファイルがないとエラーで止まる
というか、crt内じゃなくて渡したソースのどこで止まってるか確認して欲しかった…。
21 :
sage :2012/01/06(金) 22:31:56.97
[1] 授業単元:自己参照構造体 [2] 問題文(含コード&リンク): 以下のクラス・氏名・順位が定義された自己参照構造体をクラス毎に順位の昇順にソートしなさい。 3-1 A君 3位 3-1 B君 2位 3-1 C君 4位 3-1 D君 1位 3-2 P君 2位 3-2 Q君 3位 3-2 R君 1位 3-3 X君 1位 3-3 Y君 2位 **************** 結果 3-1 D 1 3-1 B 2 3-1 A 3 3-1 C 4 3-2 R 1 3-2 P 2 3-2 Q 3 [3] 環境 [3.1] OS:Linux [3.2] コンパイラ名とバージョン:gcc [3.3] 言語:C言語 [4] 期限: 1月9日いっぱい [5] その他の制限: クラス毎の順位の昇順なので、3-2内をソートする際には、リストの先頭(3-1)のデータは読み込まないようにする。
表現がよくないと思ったので、修正します。 [1] 授業単元:自己参照構造体 双方向チェーンの並び替え [2] 問題文(含コード&リンク): 以下のクラス・氏名・順位が定義された自己参照構造体チェーンをクラス毎に順位の昇順にソートしてポインタをなさい。 3-1 A君 3位 3-1 B君 2位 3-1 C君 4位 3-1 D君 1位 3-2 P君 2位 3-2 Q君 3位 3-2 R君 1位 3-3 X君 1位 3-3 Y君 2位 **************** 結果 3-1 D 1 3-1 B 2 3-1 A 3 3-1 C 4 3-2 R 1 3-2 P 2 3-2 Q 3 [3] 環境 [3.1] OS:Linux [3.2] コンパイラ名とバージョン:gcc [3.3] 言語:C言語 [4] 期限: 1月9日いっぱい [5] その他の制限: クラス毎の順位の昇順なので、3-2内をソートする際には、既にソートされた先頭ポインタ(D君)からC君のデータは読み込まないようにする。
>>1000 special thx
>>935 どうしても10にならない4桁の数字もあるんだ!その時はどうする?
>>955 スタックオーバーしたので、2回にわけたら合計 9562+2506。
#if 1
for(a=0;a<=9;a++){
for(b=0;b<=9;b++){
for(c=0;c<=9;c++){
for(d=0;d<=9;d++){
#else
>>20 なんとか動作確認出来ました
完璧でした、ありがとうございます
重複組み合わせなら一々記憶して比較する必要もないと思うけど
26 :
996 :2012/01/07(土) 12:51:05.04
問題:4桁の数字が与えられたとき、その4個の数字で組み合わせって、作れる? 1001 ならば 0011,0101,0110,1001,1010,1100 が出来るなど。 言語・コンパイラ:C gcc
>>26 作れる。作ってくれというならテンプレ使え
28 :
996 :2012/01/07(土) 13:15:23.77
もしそれが有ったら、955で935が完成するのだか。
>>996 で出来ると思ったが、1000の御かげで996は勘違いだと判った。
[1] 授業単元:計算機アルゴリズムⅠ [2] 問題文(含コード&リンク): 設問1-1 下記の①、②の機能仕様を満たす2つの関数をC言語で作成しなさい。 ①2つの関数は、整数型の変数xの値を引数として受け取って、それぞれ x !( = x・(x-1)…・2・1)とx+(x-1)… +2+1 を計算し、その計算結果の値を戻り値として返すこと。 ②2つの関数は引数xの値が負や0の場合にも適切に処理するプログラムであること。 設問1-2 下記の(ⅰ)、(ⅱ)、(ⅲ)の機能仕様を満たすmain関数をC言語で作成し、xの値として正の値、0、負の値を入力して実行しなさい。 (ⅰ)変数xの値をキーボードから読み込むこと。 (ⅱ)上記設問1-1の2つの関数を呼び出すこと。 (ⅲ)関数の戻り値として受け取った計算結果をprintfで表示すること。 [3] 環境 [3.1] OS:Windows vista [3.2] コンパイラ名とバージョン:visual studio 2008 [3.3] 言語:C [4] 期限:[2012年1月10日8:00まで] [5] その他の制限:変数、算術演算、printf、scanf、繰り返し処理while文、do-while文 繰り返し処理for文、繰り返し処理for文による総和の計算、配列変数 条件分岐if文、要素番号idx使用の書換、データの入れ替え 条件分岐・論理演算子を用いたif文の条件、if文、else if文 switch文、ポインタ変数・演算子*と&、関数・プロトタイプ宣言と関数定義 引数と戻り値、関数の引数とポインタ、関数に配列を渡し、呼び出し側へ戻す方法 関数から関数を呼び出す方法、大域(global)変数、局所(local)変数、文字型変数 文字列の代入、キーボードからの文字列入力、char型ポインタ変数 構造体・メンバ変数への数値の代入、構造体・ポインタを使ってメンバ変数を指定 ファイル操作・ファイルへのデータの書き込み、ファイルからのデータの読み込み EOFの判定は習いました。 宜しくお願いします。
>>30 プログラムが何回入力しても終了しないのですがどうすればいいでしょうか?
32 :
996 :2012/01/07(土) 15:16:09.05
>>935 出来た!
in:1199
1199
1919
19/1+9* (1/9+1)*9
1991
9119
9191
9911
total=1
gbkですか?
34 :
996 :2012/01/07(土) 15:48:12.44
>>33 というか?
>>955 で
>>935 の言ってる
6789 --- 8*(9-7)-6 = 10
6789 --- 6+8/(9-7) = 10
1199 --- (1+1/9)*9 = 10
の例が出来ない。他の例は出来るので直して欲しい。
馬鹿なの?w
36 :
996 :2012/01/07(土) 16:26:52.10
>>942 で
>>935 の言ってる
6789 --- 897-*6- 8*(9-7)-6 = 10
6789 --- 6897-/+ 6+8/(9-7) = 10
1199 --- 119/+9* (1+1/9)*9 = 10
の例が出来ない。他の例は出来るので直して欲しい。
38 :
996 :2012/01/07(土) 17:24:44.31
前スレの内容を、ごく当たり前に書き込むやつってどうなの? あほなの?
それだけ孤独な人間が増えているということ 俺ぐらいになると腹が立つよりむしろ世の人心の荒廃を憂う
41 :
996 :2012/01/07(土) 18:13:13.03
やっとまともになった
ちゃんと安価さえつけてくれれば問題ないんだけど、そうじゃないときは見ないね
まず全スレのことだとわかってくれること前提で書いてるのが だめだし、全スレなら、リンクを貼るべき
>>43 まず前スレのことだとわかってくれること前提で書いてるのが
だめだし、全スレのリンクなんか貼るな~ (w
まず前スレのことだとわかってくれること前提で書いてるのがだめだし、 どーしても前スレの話続けたいなら、前スレの内容をコピペすべし
46 :
996 :2012/01/07(土) 19:07:52.51
問: 4桁の数字を与えられたとき、4つの数字を一回ずつ使って(使用する 順序は問わない)10を作る。 もうチョット直して欲しいのに。 case '/' : if(checkop(a)&(OP_ADD|OP_SUB)) sprintf(tmp, "(%s)", a); else sprintf(tmp, "%s", a); if(checkop(b)&(OP_ADD|OP_SUB|OP_MUL)) sprintf(buf, "%s/(%s)", tmp, b); else sprintf(buf, "%s/%s", tmp, b); break; 6978+// 6/(9/(7+8))= 6987+// 6/(9/(8+7))= 78+96// (7+8)/(9/6)= 87+96// (8+7)/(9/6)=
22 名前:名無し募集中。。。[] 投稿日:2012/01/06(金) 23:40:34.39 0 AKB=金正恩 この意味わかるか AKBという捏造ブームの裏に何があるか見えるか?
4号機倒壊の可能性も‥‥‥。
50 :
デフォルトの名無しさん :2012/01/08(日) 00:48:10.58
[1] 授業単元:リストのソート [2] 問題文(含コード&リンク):双方向リストをソートするためのアルゴリズムを考え、これ用いてトランプのデータ(柄、数字)をソートするプログラムを作成せよ [3] 環境 [3.1] OS: Linux [3.2] コンパイラ名とバージョン: gcc [3.3] 言語: C言語 [4] 期限: 1/12 [5] その他の制限: トランプのデータをfscanf等でdatファイルから読み込み、構造体を使ったリストに挿入します ソートの方法は選択法、挿入法、バブルソート、クイックソート、ヒープソート、マージソートの中のどれかでお願いします よろしくお願いします
>>50 だからよー、宿題書くのは良いけど
しょっちゅうある、~のファイルから読み込み・・・
って問題出すときはそのファイルをあげようよ
[1] 授業単元:アルゴリズム2 [2] 問題文(含コード&リンク):typedef 宣言を用いて,メンバとして名前(文字列) と生年月日(yyyymmdd 形式のlong 型整数)をもつ構造体friend を定義し,次の2 つの関数を作成しプログラムを完成させよ 実行例 5 人の友人の名前と生年月日(yyyymmdd) を入力してください。 1 人目の名前:Taro 1 人目の生年月日:19911001 2 人目の名前:Jiro 2 人目の生年月日:19890505 3 人目の名前:Akira 3 人目の生年月日:19920222 4 人目の名前:Hiroko 4 人目の生年月日:19921010 5 人目の名前:Isako 5 人目の生年月日:19910707 データを設定しました。 検索したい誕生月を入力してください:10 Taro, 生年月日:19911001 Hiroko, 生年月日:19921010 [3] 環境 [3.1] OS: linux [3.2] コンパイラ名とバージョン: gcc [3.3] 言語: C言語 [4] 期限: 2011年1月9日まで
>>52 続き
[5] その他の制限:
・friend 型構造体配列fr[] と人数n(整数)を引数として,構造体配列fr[] にn 人分のデータを設定する関数
・friend 型構造体配列fr[],人数n(整数),検索したい誕生月mm(整数)を引数として,誕生月がmm である友人の情報を表示する関数void search_month(friend fr[], int n, int mm)関数の動作を確認できるmain 関数も作成せよ
・関数set_friend 内で,scanf 等を用いてユーザに名前と生年月日を入力させ,fr[] のn 人分のデータを設定すること
・関数search_month 内で,誕生月がmm である友人全員の情報を表示すること.
・main 関数内でfriend 型構造体配列friend_data[]( 要素数は5 以上)を宣言する
・実行例のように,関数set_friend を用いてfriend_data[] に5 人分のデータを設定する
・その後,ユーザに検索したい誕生月を入力させ,friend_data[] の5 人分のデータに対し関数search_month を用いて誕生月の検索を行う.
前スレのやつ本人なら礼儀知らずだし、荒らしならスルーでいいな
55 :
デフォルトの名無しさん :2012/01/08(日) 08:30:43.51
[1] 授業単元:プログラミング基礎 [2] 問題分:. 8 桁までの整数を表わす文字列 (例: "-3246") を整数値 (例: -3246) に変換する関数を作りたい。 ここで、整数を表わす文字列はつぎの条件を全て同時に満たすと考えられる。 a) 文字列の先頭の文字は、符号を表わす’+’ または ’-’ または、数字’0’~’9’ である b) 文字列の 2 文字目以降は’0’~’9’ である c) 符号を除いた文字列の長さは 1 以上 8 以下である (1) 文字列を引数とし、上記の条件を同時に満たす時に整数値 1 を、一つでも満たさない時 (整 数として文字列にエラーがある場合) には 0 を戻り値として返す関数 check() を作成せよ。 (2) 変換したい文字列を引数とし、正負を判断して値が正または 0 の時で’+’ が先頭にあると きには 2、ないときには 1 を、負の時には -1 を、整数として文字列にエラーがある場合 には 0 を返す関数 sign() を作成せよ。 (3) (1), (2) を利用して、8 桁までの整数を表わす文字列を引数とし、整数値に変換して返す関 数 myatoi() を作成せよ。 ここで、各問はキーボードから文字列として読み込んだ文字配列に対して動作確認をすること とする。 3] 環境 [3.1] OS:mac [3.2] ターミナル [3.3] 言語:CC++ [4] 期限: ([2012年1月10日12:30まで [5] その他の制限: 関数までしか習っておりません よろしくお願いいたします
>>51 すみません、ファイルはどのようなものでもかまいません
適当に作りやすいように作成してくださったら幸いです
>>58 input指定できるの知らなかった、勉強になるわぁ
60 :
デフォルトの名無しさん :2012/01/08(日) 14:28:30.93
すいません
>>16 のものですが、期限はすぎたんですがまだ終わってないのでどなたかやっていただけないでしょうか?
すいません。よろしくお願いします。
>>60 コンソールで画面一周っていうのが不可解で誰も取り掛かれないじゃないかな
エスケープシーケンスで動かせってことだろうけど、幅も高さも不明な画面を一周っていうのは難しいよ
もっと情報が欲しい
62 :
デフォルトの名無しさん :2012/01/08(日) 15:02:01.02
説明不足ですいません。 画面一周じゃなくて端から端に競争していく感じでお願いします。 ------------------------------------------------- | 車 | 車 | 車ゴール1位 |車 みたいな感じです。よろしくお願いします。
63 :
デフォルトの名無しさん :2012/01/08(日) 15:03:00.70
>>61 説明不足ですいません。
画面一周じゃなくて端から端に競争していく感じでお願いします。
-------------------------------------
| 車
| 車
| 車ゴール1位
|車
みたいな感じです。よろしくお願いします。
>>63 画面サイズは、80×25とか適当に仮定していいの?
65 :
デフォルトの名無しさん :2012/01/08(日) 15:21:40.59
>>64 画面サイズは640×480でお願いします。
なんというか後出しジャンケンされそうな予感 必要になる可能性がある情報思いつく限り書きだしてよ
67 :
デフォルトの名無しさん :2012/01/08(日) 15:34:59.33
>>66 すいません。必ずいるのが、C++で作る。必ずポリモーフィズムを実装です。
あとはエントリー台数もレース中にとる車の状態(速度が上がる、遅くなる)など
は適当でもかまいません。お手数ですがコメントをつけていただけると助かります。
どうかよろしくお願いします。
>>30 >>37 有難う御座います
強制終了のやり方まで教えていただき、大変助かりました
>>56 データファイルを作る事すら他人まかせってw
学校出た後、ソフト業界に入る気は無いんだろうな
>>69 ぐだぐだいってやらないんならROMってればいいのに
[1] 授業単元:ソート [2] 問題文(含コード&リンク): int型の配列a[i]を整列対象としているが、以下の構造体を対象に、 選択ソートSelect Sortを活用して完成させよ。 struct student{ int num; char name[10]; int score; }; 構造体のデータ設定は struct student St[]={{1, "Ichi", 90}, {2, "Ni", 60}, {3, "San", 70},{4, "Yon", 85}, {5, "Go", 80}}; を用いること。 選択ソートSelect Sort void select_sort(int a[], int n) { int i, j, k, min; for(i=0; i<n; i++) { k=i; min=a[i]; for(j=i+1; j<n; j++){ if( a[j] < min ){ k=j; min=a[j]; } } a[k]=a[i]; a[i]=min; } }
>>71 の続き
[3] 環境
[3.1] OS:Windows7
[3.2] コンパイラ名とバージョン:VisualStudio2008
[3.3] 言語:C
[4] 期限:1/14まで
>>75 main の return 0; の前にこれを追加ね
while((list=list_remove(list)));
震災前 /::::::::::::::::::::::::::::::;;::ノ ヽ;::\ /::::::::;;;;;;;;;,,,;;...-‐''"~ ヽ:;::l |:::::::::::| 岡田 異音 |ミ| |:::::::/ ,,, ヽ,、 '|ミ| '|:::::::l '''"" ゙゙゙゙` |ミ| |:::::|. ,,r ‐、 ,, - 、 |/ ,/⌒| ノ ・ _), (. ・ `つ| | ( "''''" |"'''''" | ヽ,,. ヽ | | ^-^_,, -、 | | _,, --‐''~ ) | マニフェストもう守れない。どうしよう・・・・ 'ヽ ( ,r''''''‐-‐′ / 震災後 |:::::::::/ |ミ| |::::::::| ,,,,, ,,,,, |ミ| |彡|. '''"""'' ''"""'' |/ /⌒| -=・=‐, =・=- | | ( "''''" | "''''" | .ヽ,, ヽ .| キリッ | ^-^ | . | ‐-===- | 大震災が起こったのだからマニフェストの破綻も致し方ありません ,\. "'''''''" / 朝鮮民主党 おわり
[1] 授業単元:C言語
[2] 問題文(含コード&リンク):ソースコードを完成させなさい(詳しい問題文は後述します)
[3] 環境
[3.1] OS:windows7
[3.2] コンパイラ名とバージョン:gcc
[3.3] 言語:C言語
[4] 期限:[2012年1月9日21:00まで]
[5] その他の制限:問題文が長いので別途で投稿しました。
後この課題で使用するもののソースコードなどを張らせていただきます。
お手数ですが、参照の方よろしくお願いします。
問題文:
http://ideone.com/dNBZx 問題文中にある「課題1」のソースコード:
http://ideone.com/1REsC 授業の方で用意された未完の「server」と「client」のソースコード↓
serverのソースコード:
http://ideone.com/Yz6en clientのソースコード:
http://ideone.com/t8lc7 serverとclientのソースコードに書き加えていく形で解いていただきたいです。よろしくお願いします。
[1] 授業単元:C言語プログラミング
[2] 問題文(含コード&リンク):
1,読み込みファイルと書きこみファイルを自分で指定できるようにすること(DCT-ⅡもⅢも)。
2,コードに離散コサイン変換のDCT‐Ⅲの式を追加すること。
3,wikiの離散コサイン変換のDCT-Ⅲの式を使うこと。
4,DCT-Ⅱを使うかDCT-Ⅲを使うかはオプションで指定できるようにすること。
[3] 環境
[3.1] OS:Linux
[3.2] コンパイラ名とバージョン:gcc4.3.2
[3.3] 言語: c言語のみ
[4] 期限:1月10日16時
[5] その他の制限: (どこまで習っているか、標準ライブラリは使ってはいけない等々)
DCT-Ⅱ
例 10,15,20,80,120,160,210,10,20,100...と続くテキストデータ3つ(data.txt data2.txt data3.txt)を(それぞれ内容は違う)読み込む。
それぞれに1次元の離散コサイン変換(DCT-Ⅱ)を行う。
変換後の値を新たなテキストファイルに(data,data2,data3)改行(data,data2,data3)改行...といったような表示で書き込む。
DCT-Ⅲ
DCT-Ⅱによって変換された結果を読み込み、逆離散コサイン変換(DCT-Ⅲ)を行い、結果をDCT-Ⅱの時に読み込んだデータの形式で3つの新たなファイルに分け書きこむ。
参考にするコード
http://codepad.org/kDkN1kbp めんどくさいと思いますが、よろしくお願いします。
>>65 >>64 の言ってる意味すら理解できてないのに、
なんでそんなに自信たっぷりなの?
曖昧すぎるんだよ。洗いざらい情報だせ。
81 :
デフォルトの名無しさん :2012/01/09(月) 02:26:56.47
>>80 すいません。画面サイズは適当で大丈夫です。
いろいろ不可解なこといってすいませんでした。
C++で作る。必ずポリモーフィズムを実装を守っていただけたらどんなレースゲームでも大丈夫です。
いろいろ言ってすいません。どうかよろしくお願いします。
82 :
デフォルトの名無しさん :2012/01/09(月) 03:19:43.57
>>80 条件はC++で作る。必ずポリモーフィズムを実装。以上ですのでどうかよろしくお願いします。
お手数ですが、コメントお願いします。
正直ポリモル使う必要ないんだけど無理に使えと?
VehicleをCarが継承するみたいな感じでいいんじゃね?
車の基本性能をコンストラクタで与えるのではなく、継承で初めからある程度 決め打ちしてそれでポリモーフィズムするようなのでいいんじゃね
名無しでいいよ:2011/08/15(月) 23:20:15.53 ID:2fed4jwtO FNS歌謡祭やHEY!×3の制作会社 株式会社CELL 東京都千代田区麹町2―2―4麹町YTビル 前バリ・REN4・野田らに政治献金した後藤組のフロント企業 メディアトゥエンテイワン 東京都千代田区麹町2―2―4麹町YTビル
[1] 授業単元:基礎プログラミング [2] 問題文(含コード&リンク): 次のように1行に氏名、科目ごとの成績が記録されたファイル (ファイル名:result.dat)があるとする。 Name English Science Math Sociology Ichiro 100 30 40 90 Jiro 100 80 70 100 Saburo 80 90 100 60 Shiro 95 90 95 80 Goro 73 85 90 98 このファイルを読み込んで各生徒の平均点を求め、平均点の高い順に行を並べ替えて表示するプログラムを作成せよ。 (表示には平均点を含む) [3] 環境 [3.1] OS:Win7 [3.2] VisualStudio2010 [3.3] 言語:C言語 [4] 期限: ([2012年1月10日10:00まで [5] その他の制限:ありません よろしくお願いします。
[1] 授業単元:アルゴリズム [2] 問題文(含コード&リンク):ハッシュ 名簿001Matsuobasyo 002KobayashiIssa 003IharaSaikaku 004JippensyaIkku 005HishikawaMoronobu ①オープンハッシュ 入力:名簿の順で各自の前後5人(学籍番号の後ろ三桁の最大値を法として) 各自を含めて5人の名前をローマ字表記した5個の文字列。 操作:インデックスが0~18までのポインタを記憶する配列に適当なハッシング関数 を使って、ハッシュ関数の値vが等しい文字列データを記憶するリンクドリストの先頭 へのポインタを配列のインデックスvに記憶する。 出力:配列のインデックスvに記憶されているリンクドリスト(リンクドリストに記憶 されている文字列)をv+1行目に出力。リンクドリストが空の時は“0”を出力。 ②クローズドハッシュ 入力:オープンハッシュで使った同じデータ。 操作:インデックスが0~10の配列に5個の文字列(へのポインタ)を記憶する。 ハッシング関数h0は各自適当に決める。hk=hk- 1+3(mod11)としてコンフリクトが 起きれば各関数を使ってリハッシュしてデータを記憶するインデックスを決め、 決められたインデックスのところにそのデータを記憶。 出力:配列に記憶されたデータ(配列のインデックス順)、各データのハッシュ回数 [3] 環境 [3.1] OS:Linux [3.2] コンパイラ名とバージョン:gcc [3.3] 言語:C [4] 期限:1/11 [5] その他の制限:特になし ハッシュの意味そのものが全く分かりません、よろしくお願いします。
89 :
デフォルトの名無しさん :2012/01/09(月) 13:59:26.09
>>83 >>84 >>85 C++の理解度を測る意味でポリモーフィズムを使ってレースゲームを作れとのことです。
よろしくおねがいします。
>>90 お早い返答ありがとうございます。
このプログラムを参考にして、ハッシュを理解してみます。
93 :
デフォルトの名無しさん :2012/01/09(月) 16:44:48.02
>>94 すみません、途中で送信してしまいました。
少しずつ理解を進めていきたいと思います
ありがとうございました。
>>85 Factoryにポリモルな部品渡して
その委譲だけをするCarインスタンス生成とか
Carの状態をStateパターンで表現すれば超かっこいいポリモーフィズムサンプルになる
>>96 AbstructFactoryでもFactoryMethodでも行けそう
>>97 Stateパターンを初めて見た時「何でこれで動くの?」と不思議で仕方がなかった
>>78 をやってくださる方居ませんか?
期限は過ぎてしまいますが23:00までならまだ大丈夫なのでどなたかお願いします。
102 :
デフォルトの名無しさん :2012/01/09(月) 20:46:39.61
【質問テンプレ】 [1] 授業単元:program演習 [2] 問題文(含コード&リンク): 配列Aに 0 ABD; 1 BA; 2 CD; 3 AE; 4 ABCDE; のようにアルファベットが格納されている。 これを0から順番に配列Bに 0 A 1 B 2 D 3 C 4 E のようになるように格納するにはどうすればよいか? プログラムの説明も兼ねて説明をせよ。 [3] 環境 [3.1] OS: Windows [3.2] コンパイラ名とバージョン: なし [3.3] 言語:C (C/C++/どちらでも可 のいずれか) [4] 期限: ([yyyy年mm月dd日hh:mmまで] または [無期限] のいずれか) 1月10日まで [5] その他の制限: (どこまで習っているか、標準ライブラリは使ってはいけない等々) ・配列Aと配列Bはともにchar型である。 ・配列Aに入っている文字はテキストファイルから取り込んだものです。 テキストファイルから読み込んでAに格納したことを前提にお願いします。
105 :
デフォルトの名無しさん :2012/01/09(月) 21:42:07.15
106 :
79 :2012/01/09(月) 21:48:04.08
>>103 ありがとうございます。
すみませんが、素人目には出来てるように見えるんですが、どこが中途半端なんでしょうか?
107 :
デフォルトの名無しさん :2012/01/09(月) 21:49:03.61
単なるポリモーフィズムならデザパタなんか不要だろ 単に何階層か継承してそれぞれの挙動をある程度決めて置いて 乱数で適当に分散して後は仮想関数で走らせるだけ
109 :
デフォルトの名無しさん :2012/01/09(月) 22:06:19.91
>>108 すいません。わからないのでかわりにやってもらえないでしょうか?
111 :
デフォルトの名無しさん :2012/01/09(月) 22:43:45.49
113 :
デフォルトの名無しさん :2012/01/09(月) 23:36:37.80
質問に答えないならいーや
>>106 だって、離散コサイン変換ってのが、wiki見て
数式は理解できるけど、ファイルからの値を
読み込んで、どういう結果が出れば正しいかの
例が無いから、俺には確認しようがありませんねん
116 :
79 :2012/01/10(火) 00:39:41.56
>>115 そうですよね、すみません。
添付したコードに書いてあったDCT-Ⅱは合ってるので、DCT-Ⅲも同じような感じで式を書いてくれれば合ってると思います。
とりあえず結果が間違ってても良いので、気にせず仕上げてくれませんか?
それっぽい動きをすれば良いので。
117 :
102 :2012/01/10(火) 00:44:20.00
配列Aに 0 ABD; 1 BA; 2 CD; 3 AE; 4 ABCDE; のようにアルファベットが格納されているとする。 配列Aの0番地はABDなので、 0 A 1 B 2 D というように配列Aの文字を配列Bに順番に格納していく。 ただし、配列Aの1番地にはBAが存在しているがすでに配列BにBとAは格納されて いるので配列の次番地の内容を格納していく。一度格納した文字は格納しないように するにはどうしたらよいか? です。 問題の意味を詳しく解説せずに申し訳ありませんでした。
118 :
102 :2012/01/10(火) 00:46:49.41
追伸 配列の次番地の内容を格納していく=>配列Aの次の番地の内容を配列Bに 格納です。 申し訳です・・・
>>102 #include <stdio.h>
int main(void)
{
char a[][10]={"ABD", "BA", "CD", "AE", "ABCDE"};
char b[256+1], *d;
int is_passed[256]={0};
int i, j;
d=b;
for(i=0;i<(sizeof(a)/sizeof(a[0]));i++)
{
printf("%d %s;\n", i, a[i]);
for(j=0;a[i][j];j++)
{
if(is_passed[a[i][j]]) continue;
is_passed[a[i][j]]=1;
*d++=a[i][j];
}
}
*d='\0';
printf("\n");
for(i=0;b[i];i++)
{
printf("%d %c\n", i, b[i]);
}
return 0;
}
120 :
Z :2012/01/10(火) 06:48:13.65
#include <stdio.h> void pass_ok(char *a[], char *b){ char *c; int is_passed[256] = {0}; int i, j; for(i=0; a[i]; i++) { c = a[i]; for(j=0; c[j]!=';'; j++) { if(c[j] == '\0') break; if(is_passed[c[j]] == 0){ is_passed[c[j]] = 1; *b++ = c[j]; } } } *b = '\0'; } int main(int argc, char *argv[]) { char *a[10]={"ABD;", "BA;", "CD;", "AE;", "ABCDE;", 0}; char b[256+1]; int i; for(i=0; argv[i]; i++) printf("%d %s\n", i, argv[i]); printf("\n"); pass_ok(argv, b); for(i=0; b[i]; i++) printf("%d %c\n", i, b[i]); return 0; }
121 :
デフォルトの名無しさん :2012/01/10(火) 09:40:55.94
民主党には朝鮮人など外国人のなりすまし、スパイが約90名在籍している 野田内閣は過半数が帰化人 野田はどうだろうか 韓国人から賄賂を貰い、韓国人の集いに出席している野田は
[1] 授業単元:計算機アルゴリズムⅠ
[2] 問題文(含コード&リンク):
ttp://www.dotup.org/uploda/www.dotup.org2496567.txt.html [3] 環境
[3.1] OS:Windows vista
[3.2] コンパイラ名とバージョン:visual studio 2008
[3.3] 言語:C
[4] 期限:[2012年1月13日8:00まで]
[5] その他の制限:変数、算術演算、printf、scanf、繰り返し処理while文、do-while文
繰り返し処理for文、繰り返し処理for文による総和の計算、配列変数
条件分岐if文、要素番号idx使用の書換、データの入れ替え
条件分岐・論理演算子を用いたif文の条件、if文、else if文
switch文、ポインタ変数・演算子*と&、関数・プロトタイプ宣言と関数定義
引数と戻り値、関数の引数とポインタ、関数に配列を渡し、呼び出し側へ戻す方法
関数から関数を呼び出す方法、大域(global)変数、局所(local)変数、文字型変数
文字列の代入、キーボードからの文字列入力、char型ポインタ変数
構造体・メンバ変数への数値の代入、構造体・ポインタを使ってメンバ変数を指定
ファイル操作・ファイルへのデータの書き込み、ファイルからのデータの読み込み
EOFの判定は習いました。
宜しくお願いします。
>>116 DCT-IIIもあるように見えるんだけど、だめだということなのかな
124 :
79 :2012/01/10(火) 15:32:37.60
>>123 dct-Ⅲの式もコードの中に含まれてるんですが、DCT-Ⅲの結果に2/Nを掛けていないこと。
オプションでDCTのⅡとⅢを指定できるようになっていないこと。
この二点がまだ完全ではないようなので、どなたか手直しをして欲しいです。
>>124 結果に2/Nを掛けるように変えたらどう
argvの使い方を知らない人?それとも対話型シェルの方がお好み?
126 :
79 :2012/01/10(火) 16:22:00.19
>>125 どこに2/Nをかける式を加えれば良いかわからなくて。
すみませんが、argvの使い方もわかりませんし、対話型シェルってのもよくわかりません。
2/Nをかけるってのがわからないんだけど、これのこと? > DCT-I の逆変換は、DCT-I の 2/(N ? 1) 倍である。DCT-IV の逆変換は、DCT-IV の 2/N 倍である。DCT-II の逆変換は DCT-III の 2/N 倍で、DCT-III の逆変換は DCT-II の 2/N 倍である。 オプションはどうやって指定するの
128 :
79 :2012/01/10(火) 16:36:11.79
>>127 そうです。そのDCT-II の逆変換は DCT-III の2/N倍のことです。
私もオプションの指定っていうのが良く分かっていないんですが、
/○○ -dct2と入力すればDCT-Ⅱを、/○○ -dct3と入力すればDCT-Ⅲの計算をしてくれれば良いと思うのですがどうすればいいかわかりません。
[1] 授業単元:計算機アルゴリズムⅠ(ファイルへの追加書込み) [2] 問題文(含コード&リンク):一言日記をファイルに書き込むプログラムを作成した い.以下の要件を満たすプログラムを作成せよ. 実行例 一言日記ファイル名:test.txt ファイルがありません。新規作成しますか(Yes…1 / No…0):0 プログラムを終了します。 (以下,diary.txt に既に日記が書かれているとする) % cat diary.txt 2011 年12 月6 日12 時23 分来週中間テスト 2011 年12 月13 日10 時35 分これからテスト! 2011 年12 月16 日9 時40 分風邪ひいた 一言日記ファイル名:diary.txt ファイルが見つかりました。追記しますか(Yes…1 / No…0):1 日記の文字列を入力:プログラミング演習中 % cat diary.txt 2011 年12 月6 日12 時23 分来週中間テスト 2011 年12 月13 日10 時35 分これからテスト! 2011 年12 月16 日9 時40 分風邪ひいた 2011 年12 月22 日14 時28 分プログラミング演習中
>>129 続き
[3] 環境
[3.1] OS:linux
[3.2] コンパイラ名とバージョン:gcc
[3.3] 言語:C
[4] 期限:[2012年1月11日8:00まで]
[5] その他の制限:
・ファイル名の文字列filename を引数として,そのファイルが存在する場合は1,そうでない場合は0を返す関数int f_exist(const char *filename)を作成する.
・ファイル名の文字列filename を引数として,関数内で一言日記の内容(文字列)をユーザに入力させ,
そのファイルの最後に現在の日時と日記の文字列を追記する関数void add_diary(const char *filename)を作成する
・main 関数内で,以下の実行例のように日記を書き込むファイルの名前をユーザに入力させる
その後,関数f_exist を用いてそのファイルが存在するかどうかを調べ,既に存在する場合には
「ファイルが見つかりました。追記しますか(Yes…1 /No…0):」のように表示して入力を促す.
1 が入力されたら,関数add_diary を用いて一言日記をファイルの最後に書き込んでからプログラムを終了する.1 以外が入力された場合は,日記を書かずにプログラムを終了する.
・ユーザが入力した名前のファイルが存在しない場合には,
「ファイルがありません。新規作成しますか(Yes…1 / No…0):」のように表示して入力を促す.
1 が入力されたら,関数add_diary を用いて一言日記をファイルに書き込んでからプログラムを終了する.
1 以外が入力された場合は,日記を書かずにプログラムを終了する.
・作成されたファイルの中身は上の実行例(cat コマンドの結果)のようになるものとする.
1] 授業単元: 画像処理
[2] 問題文(含コード&リンク):
任意の画素数をもつpgm画像に対して平滑化を行うプログラムを作成せよ.
以下のフィルタを選べるようにせよ
k最近傍平均化フィルタ、バイラテラルフィルタ、ガウシアンフィルタ
http://codepad.org/SLdTvmM2 [3] 環境
[3.1] OS:Windows7
[3.2] コンパイラ名とバージョン:windows visual studio2008
[3.3] 言語:C++
[4] 期限:2012年1月12日17:00まで
[5] その他の制限:
ガウシアンは作成できたのですが、ほか二つがわかりません。
open cvは使わずにお願いします。
>>132 「k最近傍平均化フィルタ、バイラテラルフィルタ」
でいいんだよね?コメントと中身が違う。
それと制限ないならC++で書き換えてもいい?
> [3.3] 言語:C++
>>133 k最近傍平均化フィルタ、バイラテラルフィルタで大丈夫です。
言語はC++でいいです
金儲けできるプログラムを教えてくれ!
>>134 わかってるよ
ソースも読まずにレスすんな
沸点低い奴がいるな
なんでこんな絡まれないといけないんだよ
>>137 お前ちょっと頭おかしいじゃね?
> [3.3] 言語:C++
ってなってるんだからソースがC言語だろうがC++に決まってんだろうが
馬鹿が見落としを指摘されたくらいで何噛み付いてきてんだよ
気分悪いわ死ね
回答しない奴の態度がドデカイのは仕様です
沸点低いやつだらけでワロタwww ていうかお前ら見てないで宿題手伝ってやれよ俺もだがwwww
144 :
79 :2012/01/10(火) 20:56:36.87
どなたか、
>>103 の続きをやってくれる方いませんか?
後は、
1, DCT-Ⅲの結果に2/N倍すること。
2, /○○ -dct2と入力すればDCT-Ⅱを、/○○ -dct3と入力すればDCT-Ⅲの計算をしてくれるようにする。
>>141 ソースがCだったらCっぽく書いてほしいのかなと思って聞いたんだよ
ソースも読まずに勝手に見落としだと思い込んでるのはそっち
不快なのはお互い様
下らない事で言い争いになるのも人間性の問題だ・・・プログラマー以前に問題があるぞ。
こんな底辺のスレに常駐してる時点で…
プログラマーなのに余裕ないってよっぽどだな 普段から顧客を怒らせたりしているのかと心配になる
プログラマーに顧客を相手させちゃ駄目だよ。
プログラマーを否定する奴が多い=本職はここにはいない
自演だといわれそうな気がするけど、
>>145 は本職かつ、それなりにこなれてる人だと思う
主に元の形を維持しようとするあたりで
「気に入らない」って言って、全部書き直しちゃうプログラマーっているよね?
[1] 授業単元:C言語
[2] 問題文(含コード&リンク):
http://codepad.org/xmcn6oBoをもとに以下の構造体を 、
struct student{
int num;
char name[10];
int score;
};
構造体のデータ設定は
struct student St[]={{1, "Ichi", 90}, {2, "Ni", 60}, {3, "San", 70},{4, "Yon", 85}, {5, "Go", 80}};
を用いること。
また、構造体データの退避用として。同じstudent構造体の変数(ここではtmp)を定義すること
[3] 環境
[3.1] OS:Windows7
[3.2] コンパイラ名とバージョン:VisualStudio2008
[3.3] 言語:C
[4] 期限:1/14まで
民主党には朝鮮人など外国人のなりすまし、スパイが約90名在籍している 野田内閣は過半数が帰化人 野田はどうだろうか 韓国人から賄賂を貰い、韓国人の集いに出席している野田は
[1] 授業単元:計算機実習
[2] 問題文(含コード&リンク):
http://codepad.org/nbsATV4X [3] 環境
[3.1] OS:WIN7
[3.2] VisualStudio2010
[3.3] 言語:C++
[4] 期限:2012年1月13日まで
[5] その他の制限:特になし
よろしくお願いします
>>154 エンバグさえしなければ別にいいかとおもう方なんだけど、あまり好まれないね
エンバグしてないことを誰かが確認しないといけなくなるからな
//
>>159 // 実行方法: a.exe < score.txt
#include <string>
#include <iostream>
using namespace std;string grade(double score){struct{double score;const char*
grade;}table[]={90,"A+",80,"A ",70,"B ",60, "C ",0,"D ",};int i=0;while(score
<table[i].score)i++;return string(table[i].grade);}int main(void){string id;
double score;double sum=0;int count=0;while(cin>>id>>score){if(score<=0)
continue;cout<<id<<" "<<grade(score)<<" "<<score<<endl;sum+=score;++count;}
if(count)cout<<"平均点: "<<sum/count<<endl;}
麻呂がクイッ クソートするでおじゃる
麻呂vsQZ
二人まとめて隔離スレに放り込みたい
[1] 授業単元:プログラミング言語
[2] 問題文(含コード&リンク):
http://codepad.org/j70pMWMp [3] 環境
[3.1] OS:WIN7
[3.2] VisualStudio2010
[3.3] 言語:C++
[4] 期限:2012年1月14日まで
[5] その他の制限:特にありません
__________ | 見ろよ! | ./::::::::::::::::::ノ、ヽ | 民主党支持者がいるよ!w | ./:::::::;;;-‐‐''"´ |:::| \____ ________/ |:::::::| 。 .|:::| ノ´⌒ V _____ .|::::/ ⌒ ⌒ ヽ:| γ⌒´ ヽ, / _____) |:::| /・\ /・\|| // ""⌒⌒\ ) | / ヽ げひひw .|´ ⌒_ ヽ⌒ | . i / ⌒ ⌒ヽ ) | 〉 ⌒ ⌒ | .| :::⌒(__人_)⌒| !゙ /・\ /・\i/ |/. /・\ /・\ヽ ⊂ ̄ヽ___ ヽ \__| ⊂ ̄ヽ_ | :::⌒(__人_)⌒⊂ ̄ヽ_ | ::::⌒(__人_)⌒:: | <_ノ_ ヽ_ _/ <_ノ_. \ \__| / .<_ノ_ \ ´ \__| ノ い~ひっひw
[1] 授業単元:C言語 [2] 問題文(含コード&リンク): int型の配列arrayを宣言し、配列の1番目と3番目の中身の値を入れ替えて表示するプログラムを作成しなさい。 但し、配列の大きさは3で、配列の中の数字は任意とする。 【実行結果例】 入れ替え前 15 20 28 入れ替え後 28 20 15 [3] 環境 [3.1] OS:windows7 [3.2] コンパイラ名とバージョン:gcc [3.3] 言語:C [4] 期限:特に期限はありません [5] その他の制限:特になし 授業復習用の問題なんですが、どうしても解けなかったので投稿させていただきました よろしくお願いします。
171 :
88 :2012/01/11(水) 17:10:30.73
>>90 の②についてですが、構造体の->というアロー演算子と入れ子
というのを少し調べてみたのですが理解できませんでした。
ポインタ操作を構造体に用いる場合はアロー演算子が必要ということは
わかりましたが、自分で作る場合どのように使用したらいいのかまだ把握できないので
できれば、構造体を使わずにプログラムを作成することはできませんか?
すみません。面倒であれば放っておいてかまいませんので、お願いします。
>>170 for(i=2;i>=0;i--){printf("%d ",array[i]);}
>>155 についての補足
http://codepad.org/xmcn6oBoに struct student{
int num;
char name[10];
int score;
};
と
struct student St[]={{1, "Ichi", 90}, {2, "Ni", 60}, {3, "San", 70},{4, "Yon", 85}, {5, "Go", 80}};
を用いて、リスト構造体でscoreを昇順にして欲しいんだ
>>171 pa->nextは(*pa).nextの省略形ってだけだよ
[1] 授業単元:基礎C言語
[2] 問題文:複数(2つ以上)の文字列をコマンドライン引数で与え、
小文字のアルファベット順に並べて出力するプログラムを作成せよ。
ただし、文字列の長さが10文字を超える場合は11文字目以降は
無視するプログラムを作成せよ。
[4] 期限:今週の土曜日まで
http://ideone.com/lLRk4 ↑ソースなのですが
何をしているのかが全くわかりません。できれば一行ごとに解説していただきたいです。
よろしくお願いします。
[1] 授業単元:C++ [2] 問題文(含コード&リンク): 以下のxmlファイルからSysDataの格納パスを取得する <?xml version="1.0" encoding="utf-8"?> <Data> <Items> <Key>SysConf</Key> <Value>D:\tmp\conf</Value> </Item> <Items> <Key>SysEtc</Key> <Value>D:\tmp\etc</Value> </Item> <Items> <Key>SysData</Key> <Value>D:\tmp\data</Value> </Item> </Data> [3] 環境 [3.1] OS: Windows7 [3.2] コンパイラ名とバージョン: VisualStudio2008 [3.3] 言語: C++ [4] 期限:1/12 AM [5] その他の制限:特に無し よろしくお願いします。
178 :
デフォルトの名無しさん :2012/01/11(水) 22:22:35.37
こういうのは、MSXML 使ってもいいのかな?
180 :
177 :2012/01/11(水) 22:32:04.44
>>179 使っても大丈夫です。
getElementsByTagName辺りを使ってやってみてはいるんですが、中々上手くいかない状態です
181 :
122 :2012/01/11(水) 23:11:34.71
182 :
88 :2012/01/11(水) 23:19:42.24
>>174 返答ありがとうございます。
実はmallocとfreeについてもよく知らなくて非常に困っている状態です。
その他の制限に特になしと書いた自分が悪いのですが、
ここで宿題の返答についてわからないことがあれば質問とかしてもいいのでしょうか?
>>182 ここで質問するのはスレ違いになるからほどほどに
「C言語なら俺に訊け」スレに行けばいくらでも教えてもらえるよ
189 :
88 :2012/01/12(木) 01:54:30.79
>>185 わかりました。いろいろサイトを見回って学んでいきます。
ありがとうございます。
【質問テンプレ】
[1] 授業単元: 画像処理プログラミング
[2] 問題文(含コード&リンク):
以下のコードの処理部分を作製し、プログラムを完成させよ。
http://codepad.org/k5glRLUx 1画素につきRGB各8bit。
任意の閾値(0~255)を入力すると、それ以上の輝度値を持つ画素のみを生成するプログラムを完成させよ。
空いている部分は白くする。
ヒント:閾値以下の画素を255(白)にする
画像は240*320のBMPを使用する。
[3] 環境
[3.1] OS: Windows7
[3.2] コンパイラ名とバージョン: VC2010
[3.3] 言語: C
[4] 期限: 12日AM6時まで
[5] その他の制限: 処理部分以外は変更しないで下さい。
191 :
190 :2012/01/12(木) 13:21:15.95
解決しました
2chやニコニコ動画に民主党から反日工作費が流れていることが知られるようになってきた。 民主党が用意した資金で工作員が2chを荒らしていることもだんだんと知られるようになってきた
194 :
デフォルトの名無しさん :2012/01/12(木) 16:24:48.69
[1] 授業単元:C言語入門
[2] 問題文:
http://codepad.org/hsA7qgRQ [3] 環境
[3.1] OS:Windows7
[3.2] コンパイラ名とバージョン: gcc
[3.3] 言語: C
[4] 期限: 16日まで
よろしくお願いします。
[1] 授業単元:C言語入門
[2] 問題文:
http://codepad.org/xmcn6oBoに select_sortを
void ins_sort(int a[],int n){
int i,j,k;
for(i=1; i<n; i++){
x=a[i];
for(j=i-1; j>=0 && a[j]>x; j--;)
a[j+1]=a[j];
a[j+1]=x;
}
}
に書き換え、小さい物から大きい物の順番に並び替えるようにするにはどうすれば良いのですか?
[3] 環境
[3.1] OS:Windows7
[3.2] コンパイラ名とバージョン:VS2008
[3.3] 言語: C
[4] 期限: 1/16
[5]差し支えなければ、for(j=i-1; j>=0 && a[j]>x; j--;)の&&の役割を
教えてください
196 :
177 :2012/01/12(木) 17:32:10.63
期限は過ぎましたが、
>>177 が分かる方お願いします。
regex使ったらだめなん
>>196 std::string work = str.substr(str.find(std::string("<Key>") + "SysData" + "</Key>"));
std::cout << work.substr(work.find("<Value>") + 7, work.find("</Value>") - work.find("<Value>") - 7) << std::endl;
#include <iostream> #include <string> #include <boost/property_tree/xml_parser.hpp> #include <boost/foreach.hpp> #include <boost/optional.hpp> int main() { typedef boost::property_tree::ptree ptree; ptree xml; read_xml("data.xml", xml); boost::optional<std::string> path; BOOST_FOREACH(const ptree::value_type &item, xml.get_child("Data")) { std::string key = item.second.get<std::string>("Key"); std::string val = item.second.get<std::string>("Value"); if (key == "SysData") path = val; } if (path) std::cout << *path << std::endl; }
[1] 授業単元: アルゴリズム(ファイルへの書き込み) [2] 問題文(含コード&リンク):標準入力からgetchar 関数を使って文字を次々と読 み込み,Ctrl-d で入力が終了するまで入力された文字 をファイルに書き込むプログラムを作成せよ.以下の実 行例のように,最初に書き込むファイルの名前をユーザに入力させること. [実行例] 書込みファイル名: intro.txt ファイルに書き込む内容を入力(Ctrl-d で終了): Hello! I’m Taro KOUK. I was born in Tokyo in 1992. <--(Ctrl-d で入力終了) ファイルに書き込みました。 % cat intro.txt Hello! I’m Taro KOUK. I was born in Tokyo in 1992. [3] 環境 [3.1] OS:linux [3.2] コンパイラ名とバージョン: gcc [3.3] 言語: C [4] 期限: 1月12日まで [5]
[1] 授業単元:C言語
[2] 問題文(含コード&リンク):
関数preliminary test, nal test, check, comment を作る。
http://codepad.org/7BtgJoCM [3] 環境
[3.1] OS:Windows7
[3.2] コンパイラ名とバージョン: gcc
[3.3] 言語:C
[4] 期限: 1月14日まで
[5] その他の制限:
202 :
177 :2012/01/12(木) 22:17:28.84
>>198-199 ありがとうございました。
boostは使ったことがないので、これを元に調べてみます。
[1] 授業単元:自己参照構造体 双方向チェーンの並び替え [2] 問題文(含コード&リンク): 以下の名前と年齢をメンバにもつ自己参照構造体チェーンを 年齢の昇順にチェーンを並べ替える。 元の構造体メンバ順序 A 34 B 15 C 48 D 49 E 6 F 81 G 35 出力結果 E 6 B 15 A 34 G 35 C 48 D 49 F 81 [3] 環境 [3.1] OS:Linux [3.2] コンパイラ名とバージョン:gcc [3.3] 言語:C言語 [4] 期限: 1/13 17:00まで [5] その他の制限: チェーンを並べ替えるときには、pop/push個別のインライン関数を用意して、 対象のメンバに対して要素の削除・挿入を行なって並べ替えてください。
[1] 授業単元:計算機アルゴリズムⅠ
[2] 問題文(含コード&リンク):
ttp://www.dotup.org/uploda/www.dotup.org2509145.txt.html [3] 環境
[3.1] OS:Windows vista
[3.2] コンパイラ名とバージョン:visual studio 2008
[3.3] 言語:C
[4] 期限:[2012年1月16日8:00まで]
[5] その他の制限:変数、算術演算、printf、scanf、繰り返し処理while文、do-while文
繰り返し処理for文、繰り返し処理for文による総和の計算、配列変数
条件分岐if文、要素番号idx使用の書換、データの入れ替え
条件分岐・論理演算子を用いたif文の条件、if文、else if文
switch文、ポインタ変数・演算子*と&、関数・プロトタイプ宣言と関数定義
引数と戻り値、関数の引数とポインタ、関数に配列を渡し、呼び出し側へ戻す方法
関数から関数を呼び出す方法、大域(global)変数、局所(local)変数、文字型変数
文字列の代入、キーボードからの文字列入力、char型ポインタ変数
構造体・メンバ変数への数値の代入、構造体・ポインタを使ってメンバ変数を指定
ファイル操作・ファイルへのデータの書き込み、ファイルからのデータの読み込み
EOFの判定は習いました。
宜しくお願いします。
[1] 授業単元:楽しいC言語(ファイルからの読み込み) [2] 問題文(含コード&リンク):以下の実行例のように,キーボードからファイル名を 読み込み,そのファイル中の数字文字の個数をカウント して画面に表示するプログラムを作成せよ.(’0’~’9’ のそれぞれの個数を別々に数える必要はない.) 【実行結果例】 % cat intro.txt Hello! I’m Taro .MASAKI I was born in Tokyo in 1991. ./intro ファイル名:intro.txt ファイル中の数字文字の個数:4 [3] 環境 [3.1] OS:linux [3.2] コンパイラ名とバージョン:gcc [3.3] 言語:C [4] 期限:20121年1月13日 [5] その他の制限:特になし 宜しくお願いします。
[1] 授業単元:C言語 [2] 問題文(含コード&リンク): 移動する向きを右:1 左:2 上:3 下:4とし移動した距離を整数で表示。 1 4 3 2 のときは右に四、上に二だけ移動し進行を終えたことになる。 標準入力で与えられたときの様子を図として必要最低限の大きさで表示すること。 [3] 環境 [3.1] OS:Windows 7 [3.2] コンパイラ名とバージョン:gcc [3.3] 言語:C [4] 期限: 2012/01/15 [5] その他の制限: 構造体まで
あら、10x10程度でよさそうだったのに制限が解除されたか。 動的にしないとだめね
>>207 10*10の制限付きでしたすみません。
>>203 上の203について期間を15日まで延長します。
>>206 ですが、解決できそうなので無視してかまいません。
ありがとうございました。
>>205 #include <stdio.h>
#include <ctype.h>
int count_digits(FILE *input)
{
int ch;
int count = 0;
while ((ch = fgetc(input)) != EOF) {
if (isdigit(ch)) {
++count;
}
}
return count;
}
int main(int argc, char *argv[])
{
FILE *fp;
char filename[200];
printf("ファイル名:");
scanf("%s", filename);
fp = fopen(filename, "r");
if (fp) {
printf("ファイル中の数字文字の個数:%d\n", count_digits(fp));
fclose(fp);
}
return 0;
}
専門言語別性格診断 C →引き篭もり。病的な潔癖症 C++ →自閉症。会話が成り立たない C# →ゆとり。仕事ができない Perl →クズ。歪んだ性癖持ち Java →バカ。言われたことをちゃんとやらない PHP →愚図。何をやるにも中途半端 Cobol→老害。早く居なくなって欲しい
>214 Rubyは? Pythonは?
216 :
デフォルトの名無しさん :2012/01/13(金) 21:28:35.38
この手の言語比較に必ず出てくる漢のlispと女子供のpascalが無いぞ
アセンブラが無いな
BASICもいれてあげて
FORTRANを忘れる奴はクズ
> Perl →クズ。歪んだ性癖持ち ちょっとワロタww
222 :
デフォルトの名無しさん :2012/01/14(土) 00:35:39.45
154代目の472の者です 【質問テンプレ】 [1] 授業単元:プログラム [2] 問題文(含コード&リンク): テキストファイルの内容をbuffの二次元配列に格納した後 1次元配列のAにbuffの内容を1行ずつ格納していきながら、2次元配列Xと 1次元配列Yに書き込んでいくプログラムを作れ。 要するに textfileには 0 XX abcd; 1 YY efd; 2 ZZ bcd; というようになっています。 二次元配列Xに 0 XX 1 YY 2 ZZ というように3文字目のブランクの前の文字列を1行ずつ格納し Yには 0 a 1 b 2 c というように3文字目のブランクの次の文字を格納したいのです。ただし、;はいれてはいけません。 お願いします。 [3] 環境 [3.1] OS: (Windows/Linux/等々)windows [3.2] コンパイラ名とバージョン: (gcc 3.4 VC 6.0等) [3.3] 言語: (C/C++/どちらでも可 のいずれか)C言語 [4] 期限: ([yyyy年mm月dd日hh:mmまで] または [無期限] のいずれか) [5] その他の制限: (どこまで習っているか、標準ライブラリは使ってはいけない等々) プログラムの説明も兼ねてお願いします。
プログラム板はオナニー禁止な
>>222 実は行頭にブランクがあるのです、という場合以外は、
「3文字目のブランク」なんて存在しないように思うけど。
226 :
225 :2012/01/14(土) 05:24:35.86
>>222 すみません。判りました。各行の最初のインデックス風の整数は
実はデータではないのですね。この項を無視すれば確かに話は
通じます。
227 :
222 :2012/01/14(土) 09:30:42.81
行頭の番号は、配列の番号です。 お願いします
229 :
201 :2012/01/14(土) 15:47:20.43
>>201 期限が1/14まででした
よろしくお願いします!
[1] 授業単元:プログラミング基礎
[2] 問題文(含コード&リンク):sample1.txtとsample2.txtがある。
sample1.txtの数値をsample2.txtの数値で割り、小数点第一位で四捨五入し、sample3.txtに結果を書き込むプログラムを作りなさい。
sample2.txtは64の数字が入っているが、sample1.txtの数字は1~64までの範囲で入っている。
(1) -5/20=-0.25なので四捨五入すると0と表示して欲しいが、貼り付けたプログラムでは-0.0と表示されたのでそこを直すこと。
(2) 10,20,30がsample1の中身、5,4,2がsample2の中身だとすると、sample3に書かれる内容は、2,5,15とならないといけないが、貼り付けたプログラムでは2,5,15,と,が余分に付いてしまうので最後の数字には,が付かないようにしてほしい。
[3] 環境
[3.1] OS:linux
[3.2] コンパイラ名とバージョン:gcc
[3.3] 言語: C言語
[4] 期限: 1月16日14時
[5] その他の制限: 特にありません。
sample1.txtの中身
http://codepad.org/7JPC3d4i sample2.txtの中身
http://codepad.org/6BfCrmaS プログラム(未完成)
http://codepad.org/KizJR5sP
231 :
デフォルトの名無しさん :2012/01/14(土) 16:46:12.05
反日ネット工作員 朝日新聞社→社員約300人 民主党とその取り巻きの資金が入った反日工作会社→数社約450人 朝日新聞の社員は捕まった49歳の編集者を含め新聞記事を書く合間に2chを荒らしている程度とみられているが 民主党が用意した反日工作会社はほぼ24時間体制で工作を行っている 工作範囲は民主党が予め工作費を流している2ch、ニコニコ動画を中心にyoutube、個人のブログなどである。
233 :
222 :2012/01/14(土) 18:26:45.25
期限が1月15日まででした。 申し訳です。
>>222 ;は入れてはいけません、というのはたとえば以下のようなデータの場合だと思うんだけど、その場合は何を入れればいいの?
3 AA ;
あと、ブランクは3文字であるというのは前提?それともブランクで区切って1フィールド目の文字列と、2フィールド目の1文字目を取得したい?
235 :
222 :2012/01/14(土) 19:35:19.51
>>234 AAのみを入れます。
また、ブランクが3文字目にあることが前提でお願いします。
>>235 XとYの要素数がずれることもありうるってこと?
Yをchar配列として作るなら何も入れないってことは無理だよ。
237 :
222 :2012/01/15(日) 01:16:03.22
>>236 すみません・・・
私が間違ってました。
ブランクで区切って1フィールド目の文字列とブランクの次の文字列を;の直前
まで取得ということでお願いします。
天皇陛下、被災地詠まれる=「岸」お題に歌会始-皇居
新年恒例の宮中行事「歌会始の儀」が12日午前、皇居・宮殿「松の間」で行われた。今年のお題は「岸」。天皇、皇后両陛下や皇族方のほか、天皇陛下から招かれた召人(めしうど)や選者、
一般応募から入選した10人の歌が、古式にのっとった独特の節回しで披露された。
陛下は昨年5月、東日本大震災の被災者を見舞うため岩手県を訪れ、ヘリで釜石市と宮古市の間を移動中、津波被害を受けた被災地を上空から見た時の印象を詠まれた。
皇后さまは、俳句の季語を集めた「歳時記」に「岸」の項目がないことに着目。季節を問わず誰かの帰りを待って岸辺でたたずむ人の姿に思いをはせ、津波による行方不明者の家族らへの気持ちとともに歌を作った。
http://www.jiji.com/jc/c?g=soc_30&k=2012011200389
>>237 #include <stdio.h>
#include <string.h>
int main()
{
/* ファイル読み込み後の状態を想定したbuff。長さは適当に20と決めうち */
char buff[][20] = {
{"XX abcd;"},
{"YY efd;"},
{"ZZ bcd;"},
{"AA ;"},
};
/* XとYは0で初期化しておく */
char X[10][20] = {{0}};
char Y[10][20] = {{0}};
/* buffの文字列数分ループ */
int i;
for (i = 0; i < sizeof(buff) / sizeof(*buff); i++) {
/* X : 先頭2文字をコピー */
strncpy(X[i], buff[i], 2);
/* Y : 4文字目以降をコピーし、末尾のセミコロン(ノーチェック)を除去 */
strcpy(Y[i], buff[i] + 3);
Y[i][strlen(Y[i]) - 1] = 0;
/* 確認用に出力 */
printf("|%s|%s|%s|\n", buff[i], X[i], Y[i]);
}
return 0;
}
いいかおまえら、気合い入れて質問書き込めよ 質問のミスがどんだけ回答者に無駄な時間を使わせる事になるか 肝に銘じやがれクソやろう
[1] 授業単元:プログラミング基礎(バイナリファイルの読み書き) [2] 問題文(含コード&リンク):以下の実行例のように,大きさ100 のchar 型配列name1[] に格納された名前をバイナリファイルname.bin に書き込んだ後,ファイルname.bin から 配列name2[] に名前を読み込み,読み込んだ名前を画面に表示するプログラムを作成せよ.ただし,プログラムは以下の要件を満たすこととする. ・main 関数内で,大きさ100 のchar 型配列name1[]を適当な名前の文字列で初期化して宣言すること. ・main 関数内で,大きさ100 のchar 型配列name2[]を初期化せずに宣言し,ファイルから名前を読み込んで表示する際にname2[] を用いること. ・名前を書き込むファイルname.bin はバイナリファイルとすること. ・(name1[] を"Kouta Taro"で初期化して宣言しているとする. [実行例] name.bin に名前を書き込みました。 name.bin から名前を読み込みました。 名前:Kouta Taro [3.1] OS:linux [3.2] コンパイラ名とバージョン:gcc [3.3] 言語: C言語 [4] 期限: 1月16日15時 [5] その他の制限: なるべく簡単なプログラムでおねがいします
243 :
222 :2012/01/15(日) 11:48:47.77
プログラムありがとうございます。 Yは二次元配列ではなく、1次元配列です。 また、buffから1行ずつbufferという1次元配列に書き込んでいきます。 つまり、例えば bufferにはbuffの0番地に格納されているXX abcdという文字列を格納し、 さらにbufferから二次元配列AにXXを格納して1次元配列にabcdというように 格納していきたいのです。 そして、buffの1番地をbufferに格納した後、Aの配列にXXの次の番地にYYを格納して Yの配列にabcdに引き続いてefdというように格納していきたいのです。 そこんところよろしくお願いいたします。
>>241 単に手が遅いのでは?
ちゃっちゃと修正できるようになればいいだけなのでは?
Qが叩かれている理由が良くわかった 相手に喧嘩をふっかけるタイプの構ってチャンか せっかくC言語ができてもこんな人格じゃ台無しだな、可哀想に
震災前まではそんな子じゃなかったのに…\(^o^)/
>>249 921 名前:優しい名無しさん[] 投稿日:2012/01/12(木) 22:22:37.44 ID:uXAazRci
社会不適応の自己愛をバカにすると自己愛認定されますよ~
皆さんお気をつけて!ww
あと真実をつくと自己愛認定されます
257 :
デフォルトの名無しさん :2012/01/15(日) 13:30:24.34
[1] 授業単元: C言語 [2] 問題文(含コード&リンク):①文字列{"Yamada","Taro"}について、各文字列をASCIIコード順に 並べ替えてください。 [3] 環境 [3.1] OS: Windows [3.2] コンパイラ名とバージョン: gcc 3.4 [3.3] 言語: C [4] 期限: 2012年1月17日まで [5] その他の制限:・二次元配列まで習いました ・標準ライブラリは使ってはいけない ・main関数内部では、文字列(char*型)の配列(char**型)を扱うこと ・戻り値はvoid型、引数はchar*型にすること よろしくお願いします。
1] 授業単元:画像処理の基礎 [2] 問題文(含コード&リンク): 24カラービットのBMP画像をP5のPGM画像に変換する プログラムを作成せよ. [3.1] OS:windows7 [3.2] コンパイラ名とバージョン:bcc [3.3] 言語: C言語 [4] 期限: 1月17日18時 [5] その他の制限: 標準ライブラリーのみでお願いします
259 :
230 :2012/01/15(日) 13:37:22.00
>>244 ありがとうございます!
助かりました。
まずおっぱい画像を用意しろ
配列(char**型)っていうのは char **[] のことだろうか…それとも先生独自のオレオレ定義で char ** のことだろうか。
文字列(char*型)と言ってるので、[]と*を同一視してるっぽい
>>257 標準ライブラリ使うなとか、苦行以外の何者でもない宿題だなぁ
void strsort( char * s ) {
int i, j, length;
for ( length = 0; s[length]; ++length );
for ( i = 0; i != length - 1; ++i ) {
for ( j = i + 1; j != length; ++j ) {
if ( s[j] < s[i] ) {
char temp = s[i];
s[i] = s[j];
s[j] = temp;
}
}
}
}
int main() {
char a[] = "Yamada";
char b[] = "Taro";
char *d[2];
char **pd;
int i;
d[0] = a; d[1] = b;
pd = d;
for ( i = 0; i != sizeof d / sizeof *d; ++i ) strsort( pd[i] );
return 0;
}
>>263 なんでcodepadとか使わないのん?
267 :
デフォルトの名無しさん :2012/01/15(日) 14:35:42.39
>>267 配列にそのクラスのインスタンスを5つ作るんじゃない?
>exercise(int n){y=n;}のところはコンストラクタだと思うのですが
ただのpublic関数じゃないの?
>>267 問題に、
>5個の要素を持つ配列を初期化し、
ってあるんだから、
class exerciseの配列を作れってことじゃないのかな?
ふつーは、exerciseはコンストラクタにするよね。。 現状だとデフォルトコンストラクタで空オブジェクト5個つくって それぞれをexerciseメソッドで値設定するあほな構成になってるが まあ、問題なんでしょうがない
>>272 もう完全に忘れたから教えてくれ
BCCではコンパイル通ったし実行できたぞ
>>268-272 の方々回答ありがとうございます。
問題は誤植じゃなかったんですね。
main関数でどうにかすればいいみたいですね。
277 :
239 :2012/01/15(日) 15:16:06.60
>>243 ああ、ごめん、Yに入れるイメージを間違って理解してた。亀レスすまん
配列をコンストラクタで初期化させたかったんだろうなぁ
>>243 >> 222を仕切り直して、正しい仕様を書いたほうが早いんじゃないか?
>>267 授業を無断で欠席する中国人の先生が問題を作ってるので間違っているかもしれませんが私の知識が浅くて間違っているかすらわかりません。
参考にさせていただきます。ありがとうございます。
281 :
デフォルトの名無しさん :2012/01/15(日) 15:26:49.34
>>278 配列をコンストラクタで初期化ですか。なるほど。
ですが1つのクラスにコンストラクタは一つしか作れませんよね。
あのクラスを忠実に使うとなると別のところで初期化する必要がありますね。
>>281 コンストラクタはオーバーロード可能です
int nを引数にするコンストラクタを設定し、初期化と生成を同時にするのが普通
>>282 なるほど!参考にして課題に取り組んでみます。ありがとうございます。
284 :
239 :2012/01/15(日) 15:37:20.41
[1] 授業単元:計算機アルゴリズム [2] 問題文(含コード&リンク): (1).2つの整数を引数で持ち、小さい方を出力す る関数、imin2(整数,整数)を作成し、 imin2を使用した4つの数値を入力して最小値を 出力するプログラムを作成せよ。 (2).半径1の円に内接したn角形の面積Sを求め よ。またn=100のケースと手計算の 円の面積を比較せよ(n-100のケースのプログラム の結果をプログラムの下に貼り付ければ良い). [3] 環境 [3.1] OS: WindowsVista [3.2] コンパイラ名とバージョン: VisualStudio20010 [3.3] 言語:C [4] 期限:15日23時まで [5] その他の制限:問題条件は絶対に満たして下 さい お願いします。
ごめんなさい、ケータイからなのでズレました。見づらいので直しました。 [1] 授業単元:計算機アルゴリズム [2] 問題文(含コード&リンク): (1).2つの整数を引数で持ち、小さい方を出力する関数、imin2(整数,整数)を作成し、imin2を使用した4つの数値を入力して最小値を出力するプログラムを作成せよ。 (2).半径1の円に内接したn角形の面積Sを求めよ。またn=100のケースと手計算の円の面積を比較せよ(n-100のケースのプログラムの結果をプログラムの下に貼り付ければ良い). [3] 環境 [3.1] OS: WindowsVista [3.2] コンパイラ名とバージョン:VisualStudio2010 [3.3] 言語: C [4] 期限:15日23時まで [5] その他の制限: 問題条件は絶対に満たして下さい お願いします。
>>286 (1)
#include <stdio.h>
int imin2(int v1, int v2) {if (v1<=v2) return v1; else return v2;}
int main()
{
printf("%d\n", imin2(imin2(3, 5), imin2(4, 1)));
return 0;
}
>>286 (2)
#include <stdio.h>
#include <math.h>
int main()
{
int n;
for (n = 3; n <= 100; n++) {
printf("n=%3d : %f\n", n, sin(2*M_PI/n) * n/2);
}
}
290 :
257 :2012/01/15(日) 18:10:44.02
291 :
デフォルトの名無しさん :2012/01/15(日) 18:43:58.60
[1] 授業単元: プログラミング [2] 問題文(含コード&リンク):文字列"abc","defg"の各文字列の文字数を調べて表示するプログラムを作れ。 [3] 環境 [3.1] OS: Windows [3.2] コンパイラ名とバージョン: gcc [3.3] 言語: C言語 [4] 期限: 1月16日まで [5] その他の制限:標準ライブラリは使わないこと、NULL文字は数えなくてよい。 途中までやったのですがわかりませんでした。よろしくお願いします。 #include <stdio.h> int count(char *str) { int i; for(i=0; ;i++){ if(str[i]==\0){ break; } } return i;
今3Dの物体をopenglで頂点の座標と法線と三角形の組み合わせを用いて描いています。
その物体を構成している三角形のそれぞれの辺の中点をとって一個の三角形を四つに分割し、新しい三角形の配列に加えていき、その新しい三角形の配列を使って元の物体をさらに細かくopenglで表示できるようなプログラムを作っているのですが、
なかなかうまくいきません。ここでは、openglの部分は書いていなくて計算部分だけを書いています。
よろしくおねがいします。
http://codepad.org/bx7vUV6c
環境は?Linuxでないなら補助ライブラリーがいるだろ無能 そんなことすらわからないからプログラムも思った通り作れないんだろ あとテンプレ嫁カス
>>292 関連書籍最低10冊は買ってきて読んで質問してるんだろうな?
>>292 ↑
本物の救いようのない雑魚きたwwwwwwwwwwwww
>>292 とか質問しただけだから荒れてるのは自分のせいじゃないとか思ってるんだろうな
自分のゴミみたいな質問は棚に上げて
このスレにいるのは常識で考える頭を持ってない奴だけだ
ID出ないからって複数のふりをして誰かを攻撃するのはやめよう 僕も機嫌が悪い時はついやっちゃうから気持ちはわかるよ^^
>>300 親が基地害だとそういう風に育つんだよ。
社会に出てこられたら迷惑以外のなにものでもないんだけどね。
おまえらわかんねぇからってたたくんじゃねぇよ。。
テンプレを読まずに質問する馬鹿も大概だけどな
292ですけど、風呂入って寝ようと思う・・・
309 :
201 :2012/01/15(日) 20:25:19.39
>>308 スレ違い認定されているので、ここじゃもう無理だから寝とけ
313 :
デフォルトの名無しさん :2012/01/15(日) 21:54:40.02
入力された秒を時分秒に変換するプログラムを作成してください 内部での時分秒データのやりとりには, 以下に示す構造体 my_time を利用し,秒数→時分秒変換を行う関数 sec_conv() の仕様は以下の通りとする struct my_time{ int hour; int min; int sec; }; void sec_conv(int ts,struct my_time *tp); ts:これで秒数を渡す tp:値を返すための構造体へのポインタ よろしくお願いします
315 :
デフォルトの名無しさん :2012/01/15(日) 22:13:45.26
[2] 問題文(含コード&リンク): 構造体 入力された秒を時分秒に変換するプログラムを作成してください 内部での時分秒データのやりとりには, 以下に示す構造体 my_time を利用し,秒数→時分秒変換を行う関数 sec_conv() の仕様は以下の通りとする struct my_time{ int hour; int min; int sec; }; void sec_conv(int ts,struct my_time *tp); ts:これで秒数を渡す tp:値を返すための構造体へのポインタ よろしくお願いします [3.3] 言語: c言語 [4] 期限: 1月18日
[1] 授業単元: プログラミングⅠ [2] 問題文(含コード&リンク): 学生成績に関するデータがテキストファイルにあるとする。 各学生の成績を統計的に処理する。 総成績と学科毎の平均を求め、学籍番号を若い順に順位をつけて、別のテキストファイルへ出力する。 入力ファイル例: name number japanese math science english social Suzuki 1211 95 60 85 86 75 Satou 1103 90 80 77 70 83 tanaka 1508 81 92 65 91 73 出力ファイル例: name number japanese math science english social total rank Suzuki 1211 95 60 85 86 75 401 2 Satou 1103 90 80 77 70 83 400 1 tanaka 1508 81 92 65 91 73 402 3 --------------------------------------------------------------------------------------- average 1206 85.75 79.25 75.9 81.33 76 401 2 [3] 環境 [3.1] OS: Windows [3.2] コンパイラ名とバージョン: gcc version 4.5.3 [3.3] 言語: C [4] 期限:1月16日まで [5] その他の制限: 動的メモリを使うこと
318 :
292 :2012/01/15(日) 23:07:21.67
再度失礼します・・・
描画はOpenGLなんですが、質問したのは計算部分のC++です。
テンプレ載せますので、どうかよろしくお願いします。
【質問テンプレ】
[1] 授業単元:信号処理
[2] 問題文(含コード&リンク):
3Dの物体を頂点の座標と法線と三角形の組み合わせを用いて描く。
その物体を構成している三角形のそれぞれの辺の中点をとって一個の三角形を四つに分割し、新しい三角形の配列に加えていく。
(↑この部分をC++を用いて計算したい。頂点の配列に、新しくできた中点の座標を加えていく。
そしてそれを加えられた頂点の配列から3つずつ選び新しい三角形を構成する配列を作る。)
その新しい三角形の配列を使って元の物体をさらに細かくOpenGLで表示する。
[3] 環境
[3.1] OS:Windows7 home premium 64bit
[3.2] コンパイラ名とバージョン: Visual Studio 2010 Express
[3.3] 言語: C++
[4] 期限:[2012年2月1日12:00まで]
[5] その他の制限:
http://codepad.org/5QrmfgZf
民主党には朝鮮人など外国人のなりすまし、スパイが約90名在籍している 野田内閣は過半数が帰化人 野田はどうだろうか 韓国人から賄賂を貰い、韓国人の集いに出席している野田は 首になった蓮○はシャブで逮捕歴のある人間と仲が良いな。蓮○自身はやってんの? い-6-1 テレビが言えない民主党のスポンサー=韓国北朝鮮 あとはもうわかるよな
321 :
デフォルトの名無しさん :2012/01/16(月) 01:19:06.30
[1] 授業単元:プログラミング演習 [2] 問題文(含コード&リンク): for文を使って次のプログラムを作りなさい。 ただし,無限ループfor(;;)や goto文,配列は使用しないこと。 次の漸化式で表される数列{xn}の和Snを求めるプログラムを作成しなさい。 実行例は、N=1, 25, 100$ の場合を示しなさい。 Sn=∑_(i=1)^N▒xn xn={█(1/n (n=奇数)@(-1)/(n+1) (n=偶数) )} [3] 環境 [3.1] OS:Linux [3.2] コンパイラ名とバージョン:gcc [3.3] 言語: C [4] 期限:2012年1月23日 [5] その他の制限:なし お手数ですがよろしくお願いします。
【質問テンプレ】 [1] 授業単元:入門プログラミング [2] 問題文(含コード&リンク): data.datより10件のデータを読込み、最大、最小値を求め表示せよ。 (ここでは重量としました。) //data.dat// 10 から 100 [3] 環境 [3.1] OS: CentOS [3.2] コンパイラ名とバージョン: gcc [3.3] 言語: C [4] 期限: 明日 [5] その他の制限: 以下のコードを用いること float w_max,w_min,weight; int i; for(i=0;i<10;i++){ scanf("%f",weight[i]) if(w_max < weight[i]) w_max = weight[i]; if(w_min > weight[i]) w_min = weight[i]; }
>>321 文字化け部分はなんとかしろ
つか、nはどこからきてiはどこにいくんだよ
int Sn(int N)
{
int i;
int n;
int xn=0;
for(i=1,i<=N,i++){
xn+=((n%1)?(1/n):(-1/(n+1));
}
return xn;
}
int main()
{
printf("N=1:%d\n",Sn(1));
printf("N=25:%d\n",Sn(25));
printf("N=100:%d\n",Sn(100));
return 0;
}
>>323 そのコード使おうとすると解けないから、出題者に聞きなおして来い
[1] 授業単元:プログラミング演習 [2] 問題文(含コード&リンク):以下の実行例のように,プログラムの実行が初めてで あればその旨のメッセージを表示し,実行が初めてでな ければ,1 回前(前回)に実行したときの日付と時刻を 表示するプログラムを作成したい.以下の要件を満たす プログラムを作成せよ. 「実行例」 ./ab 本プログラムを実行するのは初めてですね。 ./ab 前回は2012 年1 月12 日17 時28 分35 秒でした。 [3] 環境 [3.1] OS:Linux [3.2] コンパイラ名とバージョン:gcc [3.3] 言語: C [4] 期限:2012年1月17日 [5] その他の制限: ・現在の日付・時刻をstruct tm 型の値としてバイナリファイルdatetime.bin に書き込む関数void put_data(void)を作成する. ・前回の日付・時刻をstruct tm 型の値として直接バイナリファイルdatetime.bin から取得し表示する関数void get_data(void)を作成する. ・関数get_data 内で,ファイルdatetime.bin が無い場合はプログラムの実行が初めてである旨を表示し,ファイルをオープンできた場合は前回の日付と時刻を表示すること ・main 関数は,関数get_data を用いて前回の日付時刻を取得,表示した後,関数put_data を用いて今回の日付・時刻をファイルに書き込んでから終了するものとする. お手数ですがよろしくお願いします
>>327 1/2
#include <stdio.h>
#include <time.h>
#define BIN_FILE "datetime.bin"
void put_data(void)
{
FILE *fp;
time_t now_sec;
struct tm *now_tm;
time(&now_sec);
now_tm = localtime(&now_sec);
fp = fopen(BIN_FILE, "w");
if(fp == NULL){
printf("%sに書き込めません。\n", BIN_FILE);
return;
}
fwrite(now_tm, sizeof(struct tm), 1, fp);
fclose(fp);
return;
}
>>327 2/2
void get_data(void)
{
FILE *fp;
struct tm now_tm;
fp = fopen(BIN_FILE, "r");
if(fp == NULL){
printf("初めての実行ですね。\n");
return;
}
fread(&now_tm, sizeof(struct tm), 1, fp);
fclose(fp);
printf("前回は%d年%d月%d日%d時%d分%d秒でした。\n",
1900 + now_tm.tm_year, 1 + now_tm.tm_mon, now_tm.tm_mday,
now_tm.tm_hour, now_tm.tm_min, now_tm.tm_sec);
return;
}
int main(void)
{
get_data();
put_data();
return 0;
}
linuxだからbフラグは意味ない
>直接バイナリファイルdatetime.bin から 問題文にこうあるらしいから、皮肉の意味で付けるといいかも
335 :
323 :2012/01/16(月) 21:58:41.16
聞いてきました。 勘違いだったようで特に指定は無いそうです 重量データweight.datを読み込めとのことです。 ./a.out < weight.datで読み込めと言われましたがよく分かりません。
336 :
デフォルトの名無しさん :2012/01/16(月) 22:14:09.52
337 :
230 :2012/01/16(月) 23:05:47.44
[1] 授業単元:プログラミング基礎
[2] 問題文(含コード&リンク):sample1.txtとsample2.txtがある。
sample1.txtの数値をsample2.txtの数値で割り、小数点第一位で四捨五入し、sample3.txtに整数で結果を書き込むプログラムを作りなさい。
sample2.txtは64の数字が入っているが、sample1.txtの数字は1~64までの範囲で入っている。
[3] 環境
[3.1] OS:linux
[3.2] コンパイラ名とバージョン:gcc
[3.3] 言語: C言語
[4] 期限: 1月18日18時
[5] その他の制限: 特にありません。
sample1.txtの中身
http://codepad.org/7JPC3d4i sample2.txtの中身
http://codepad.org/6BfCrmaS プログラム(未完成)
http://codepad.org/qPz0CrbA 先日、ここでやってもらったんですが少数第一位を四捨五入していないということでやり直すように言われました。
すみませんが、どなたか直してください。
[1] 授業単元:プログラミング言語
[2] 問題文(含コード&リンク):
http://codepad.org/nQYYb5qY [3] 環境
[3.1] OS:WIN7
[3.2] VisualStudio2010
[3.3] 言語:C++
[4] 期限:2012年1月18日まで
[5] その他の制限:特にありません
お願いします
>>337 少数なんて誤字する様ならマジで小学校からやり直したほうがいいかもしれない
>>341 > 少数第一位
さらに間違えているしな。
>>337 < fprintf(fp3, "%d", (int) (d1 / d2));
---
> d1 /= d2;
> if (d1 < 0 && d1 > -0.5)
> d1 = 0;
> fprintf(fp3, "%.0f", d1);
345 :
230 :2012/01/17(火) 00:09:23.16
>>340 ありがとうございます。
すみませんが、正の数字は正しく動いたんですが、負の値も一緒に計算する時に正しく四捨五入しないようです。
346 :
230 :2012/01/17(火) 00:13:58.09
>>344 ありがとうございます。
指摘していただいた部分を直したら望んだとおりの動き方をしました。
本当に助かりました!
348 :
230 :2012/01/17(火) 00:31:09.69
【質問テンプレ】
[1] 授業単元:プログラミング演習
[2] 問題文(含コード&リンク):
その物体を構成している三角形のそれぞれの辺の中点をとって一個の三角形を四つに分割し、新しい三角形の配列に加えていくプログラムを作れ。
(頂点の配列に、新しくできた中点の座標を加えていく。
そしてそれを加えられた頂点の配列から3つずつ選び新しい三角形を構成する配列を作る。)
[3] 環境
[3.1] OS:Windows7 home premium 64bit
[3.2] コンパイラ名とバージョン: Visual Studio 2010 Express
[3.3] 言語: C++
[4] 期限:[2012年2月1日12:00まで]
[5] その他の制限:
http://codepad.org/5QrmfgZf よろしくお願いします。
>>350 円に内接したn角形は正n角形だバカヤロウ
「面積が最大になる」とか、条件が必要だね
そんなことはわかってるは、お前らを試しただけだは
>>354 お前そんな頭の悪いレスして死にたくならないの?
>>351 全ての正n角形は外接円を持つが外接円を持つからと言って正n角形とはいえない。
絵書いてみろ。
[1] 授業単元:計算機アルゴリズムⅠ [2] 問題文(含コード&リンク): 設問1-1 scanf関数を用いて、次の文章を入力表示するプログラムを作成しなさい。 I am a student of Information Technology University. [3] 環境 [3.1] OS:Windows vista [3.2] コンパイラ名とバージョン:visual studio 2008 [3.3] 言語:C [4] 期限:[2012年1月20日8:00まで] [5] その他の制限:変数、算術演算、printf、scanf、繰り返し処理while文、do-while文 繰り返し処理for文、繰り返し処理for文による総和の計算、配列変数 条件分岐if文、要素番号idx使用の書換、データの入れ替え 条件分岐・論理演算子を用いたif文の条件、if文、else if文 switch文、ポインタ変数・演算子*と&、関数・プロトタイプ宣言と関数定義 引数と戻り値、関数の引数とポインタ、関数に配列を渡し、呼び出し側へ戻す方法 関数から関数を呼び出す方法、大域(global)変数、局所(local)変数、文字型変数 文字列の代入、キーボードからの文字列入力、char型ポインタ変数 構造体・メンバ変数への数値の代入、構造体・ポインタを使ってメンバ変数を指定 ファイル操作・ファイルへのデータの書き込み、ファイルからのデータの読み込み EOFの判定は習いました。 宜しくお願いします。
>>357 #include <stdio.h>
int main(){
char s[100];
while(scanf("%s",s)==1)
printf("%s ",s);
return 0;
}
[1] 授業単元: 画像処理
[2] 問題文(含コード&リンク):
任意の画素数をもつpgm画像に対して平滑化を行うプログラムを作成せよ.
以下のフィルタを選べるようにし、フィルタを繰り返し適用できるようにせよ
k最近傍平均化フィルタ、バイラテラルフィルタ、ガウシアンフィルタ
http://codepad.org/IedeXbMb [3] 環境
[3.1] OS:Windows7
[3.2] コンパイラ名とバージョン:windows visual studio2008
[3.3] 言語:C
[4] 期限:2012年1月19日13:00まで
[5] その他の制限:
リンクに貼ったのは以前こちらで作成していただいものなのですがC++だと再提出になってしまったのでC言語になおしてくださるとありがたいです。またフィルタを繰り返し適用できるようにしてください。
open cvは使わずにお願いします。
361 :
デフォルトの名無しさん :2012/01/17(火) 16:34:05.45
[2] 問題文(含コード&リンク): 構造体 ある人の生まれた年,生まれた月をそれぞれ構造体で内部的に表現する. 2人分のデータを入力した後,2人の年令の差(年,月まで)を 計算して以下のような結果を示すプログラムを作成する. 実行例 ----------------------------------------------------- [1] Aさんのデータを入力 [2] Bさんのデータを入力 [3] 結果表示 [9] 終了 ----------------------------------------------------- #コマンドを入力して下さい:1 Aさんの生れた年は?:1967 Aさんの生れた月は?:8 #コマンドを入力して下さい:3 まだBさんのデータが入力されていません! #コマンドを入力して下さい:2 Bさんの生れた年は?:1987 Bさんの生れた月は?:10 #コマンドを入力して下さい:3 Aさんは 20年と2ヶ月 Bさんより年上です. #コマンドを入力して下さい:9 留意点 ・メニュー形式で実装. ・関数化を行うこと. main 関数のみのプログラムは不可とします. [3.3] 言語: c言語 [4] 期限: 1月20日
[1] 授業単元:c++
[2] 問題文(含コード&リンク):
http://codepad.org/uDwh6Gqa [3] 環境
[3.1] OS:windows7
[3.2] コンパイラ名とバージョン:sygwin
[3.3] 言語:c++
[4] 期限:1/20
[5] その他の制限: 大学のC++の課題で「thisポインタとクラスを利用して自由にプログラムを作成せよ」という問題が出まして、オブジェクトの初期化の時に名前と年齢を入れて名前と年齢を画面に出力される
プログラムを作りたくて添付したコードを作成したところ24行目でエラーが出てしまいます。
改善策を教えてください。お願い致します。
364 :
362 :2012/01/17(火) 20:09:38.85
>>363 ありがとうございます。大変参考になりました!
[1] 授業単元:C言語
[2] 問題文(含コード&リンク):
http://ideone.com/7sCRD (2のみで大丈夫です。)
[3] 環境
[3.1] OS:Linux
[3.2] コンパイラ名とバージョン:gcc
[3.3] 言語:C言語
[4] 期限: 12月23日24時
[5] その他の制限:宜しくお願いします
[1] 授業単元:C言語
[2] 問題文(含コード&リンク):
http://ideone.com/4OSfh [3] 環境
[3.1] OS:Linux
[3.2] コンパイラ名とバージョン:gcc
[3.3] 言語:C言語
[4] 期限: 12月20日20時
[5] その他の制限:宜しくお願いします。
12月ではなく1月の間違いです。 すいません。
虚数ってiじゃなかった?なんでj
>>369 (1)
1 : 0
2 : 100
3 : 0
4 : 3
5 : sum[i] += a[i][j]
(2)
1 : 0
2 : 3
3 : 0
4 : 100
5 : a[i][j]
6 : 100
iは数学屋の道具 jは工学屋の道具
375 :
デフォルトの名無しさん :2012/01/18(水) 11:18:19.22
ホッケーゲームみたいなのを作ってるんだが バーとボールの当たり判定はどうすればいいんだ?
>375 スレ違い。
>>373 情報工学科だったけど知らなかった恥ずかしい
調べてなんとなく把握した
雑談:ということはループカウンタのi,jはむなしい数なわけか
はっはっは、378さんは面白い事をいうなー
>>380 虚数に大小関係はないのでループ終了条件どうしましょう?
>>381 それ以前にカウントアップ、ダウンが...
385 :
デフォルトの名無しさん :2012/01/18(水) 23:57:26.67
[1] 授業単元:C言語 [2] 問題文(含コード&リンク): 文字列をメンバに含む構造体を利用したプログラムを作成する. AddressData 構造体 を用いた住所録プログラムを作成する. struct AddressData{ char *name; char *address; long phone;}; 構造体を宣言し,構造体配列を用いて複数のデータを扱えるようにしてください。 基本的な仕様(最小限)は以下の通りです. (1) 最低でも2人分の名前,住所,電話番号を入力/変更できる. (2) それぞれをメニューから選択して表示できる. (3) 構造体の配列と typedef を用いる. ・メニュー形式で実装する。 ・ 適切と思われる範囲で関数化を行うこと.main 関数のみのプログラムは不可とします. [3] 環境 [3.2] コンパイラ名とバージョン:gcc [3.3] 言語:C言語 [4] 期限: 12月20日20時 [5] その他の制限:宜しくお願いします。
【質問テンプレ】 [1] 授業単元:プログラミング言語 [2] 問題文(含コード&リンク):0または1が入っている5×5のファイルを入力し、そのファイルのなかで1でできている面積が最大の方形領域をみつけそれぞれ出力する。 ただし5×5の上下左右はつながっているものとする。 [3] 環境 [3.1] OS:windows7 [3.2] コンパイラ名とバージョン:gcc [3.3] 言語:C [4] 期限:無期限 [5] その他の制限:とくになし ほんとに意味がわかりません・・・二次配列でやるっぽいです。どんなふうにしたらよいかなどでもいいのでアドバイスください!
388 :
デフォルトの名無しさん :2012/01/19(木) 02:13:47.02
389 :
デフォルトの名無しさん :2012/01/19(木) 02:18:56.33
>>388 他学科の単位落としても別に困らん気がするが。
間違えて履修申告したならすぐさま言えば融通利かせてくれるよ
>>387 5 x 5で方形があったら出力、終了。
無い場合、4 x 4で...以下略。
N x Nの方形ありの判断は、1*1*1*1*...=1となる事を利用。
上下左右がつながってる状態を表現するためには、5x5を縦横2倍に伸ばした、
10 x 10の領域を用意すると、判定が少し楽になる。
[1] 授業単元:プログラミング [2]特定範囲の乱数を計算する関数を作成して、0から9ま での10種類の乱数を発生させて、それぞれの値の発 生回数を調べるプログラムをかけ。 [3] 環境 [3.1] OS: Windows [3.2] コンパイラ名とバージョン:visualC++2005 [3.3] 言語: C [4] 1/19 10:30まで
399 :
デフォルトの名無しさん :2012/01/19(木) 10:38:21.06
>>394 本当にありがとうございます。
本当に感謝です。
ありがとう
>>391 ,398
ありがとうございます。
長方形の場合と、5×5の中に方形領域が2個、3個ある場合(被っててもいい)にもそれぞれ出力しないといけないみたいです。
説明不足ですいません・・・
402 :
357 :2012/01/19(木) 12:01:52.17
>>359 無限ループではないバージョンをお願いします
403 :
デフォルトの名無しさん :2012/01/19(木) 12:25:37.61
>>402 #include <stdio.h>
int main()
{
char s[100];
scanf("%[^\n]", s);
printf("%s\n",s);
return 0;
}
405 :
357 :2012/01/19(木) 12:34:09.94
>>403 I am a student of Information Technology University. と入力して、
エンターを押すと、I am a student of Information Technology University.と表示されるのですが、
また入力を待っている状態になるんです。
↓のように
I am a student of Information Technology University.
I am a student of Information Technology University.
ここで入力を待ってる状態でプログラムが終わらない
406 :
357 :2012/01/19(木) 12:46:09.76
>>404 コンパイルしてみると、1>LINK : fatal error LNK1104:のエラーが出ました。
407 :
357 :2012/01/19(木) 12:56:34.44
409 :
392 :2012/01/19(木) 14:14:31.11
わかる人は方針(こんな感じの書けば?みたいの)だけでもお願いします
>>409 1.相対座標を絶対座標に変換
2.左上が0になるように絶対座標を平行移動
3.x,yの最大値を算出
4.そのサイズで2次元配列を動的に生成して'-'で初期化
5.絶対座標を2次元配列に描画
6.2次元配列の表示
普通にめんどくさいよこれ
>>408 ありがとうございました。使わせていただきます。
>>408 今コンパイルしてみました。
たとえば
11100
11100
11100
00011
00011
の場合3×3と2×2を出力するようにするにはどうしたらいいでしょうか・・・
また、
11100
11100
11111
00111
00111
のときは、3×3、3×3を出力として出したいです。
>>413 目的が判らんが、ノイズ除去かな。
11100
11100
11111
00111
00101
のときは、3x3、2x3、5x1、3x1?
11000
11000
01000 <-ここの1はどうする?
00000
00100 <-ここの1はどうする?
>>414 > 面積が最大の方形領域をみつけそれぞれ出力
>>416 ああ、2x2がほしいなんて言いだしてるのね。すまん
[1] 授業単元:コンピュータ工学 [2] 問題文(含コード&リンク): 例に示した通りに動作するプログラムを作成せよ。 例題の中にあるアンダーライン(_)は空白を示すものとする。 input please-> 10_35_100_500・・・ message-> "10+35+100+500の合計は645です。" [3] 環境 [3.1] OS: windows7 64bit [3.2] コンパイラ名とバージョン:visual studio [3.3] 言語: Cのほうでお願いします。 [4] 期限: 明日の18時までです。 [5] その他の制限: 例にもあるように、1行に数字とスペースを入力し、 その数字を空白で区切って、それらの累計を計算するプログラムである。 スペースだけではなくタブが入力される可能性もあるという前提で、 スペース・タブの両方の入力に対応したプログラムを作ること。 自分ではどうしても解けなかったもので・・・ どなたか回答お願いします(;人;)
行を読み込んで、strtokで分割してatoiして合計を出して、sprintfで結果を出力だ
>>418 #include <stdio.h>
int main(void){
char buf[1024]="", *p;
int data[512], data_num;
int i, n, sum;
printf("input please-> ");
fgets(buf, sizeof(buf), stdin);
p=buf;
for(data_num=0;;data_num++){
if(sscanf(p, "%d%n", &data[data_num], &n)<1) break;
p+=n;
}
if(data_num>0){
printf("message-> \"");
sum=0;
for(i=0;i<data_num;i++){
if(i) printf("+");
printf("%d", data[i]);
sum+=data[i];
}
printf("の合計は%dです。\"\n", sum);
}
return 0;
}
コード直接貼るのやめろよ鬱陶しい
論点をずらすな コードを掲示板に直接貼ると読みにくくて目障りだって言ってんだ
問題ないと考えてる大多数の者はわざわざ意見を書き込まないから、不満のある奴の声が大きくなりがちだな。 テンプレには「長い場合は」とあるしな。
1レスに収まるくらいなら別にいいんじゃね つか30行弱のコードが目障りに感じるような人は そもそもこのスレに向いてないのでは?
別に俺は直接貼ってもいいと思うよ。 数十行を超えるようなコードなら さすがにどこかに貼って出したほうがマナーがいいとは思うけど
インデントが消えるから読みにくいのは確かだな 質問者もコピーしてからインデントを調整する手間がかかってあまり親切とは言えない まぁそいつの勝手だが
429 :
387 :2012/01/19(木) 21:14:51.98
387です。みなさんいろいろとありがとうございます・・・ 文章が分かりにくい、というか違い申し訳ないです。 11100 11100 11111 00111 00101 のときは3×3、3×2、1×1、1×1 11000 11000 01000 00000 00100 のときは2×2、1×1、1×1です。 面積が最大の方形領域をみつけそれぞれ出力と書きましたが、方形領域をそれぞれ出力するみたいです。 出力方法は 1 や、 11 11 や、 111 111 のような感じがうれしいです。
>>429 11000
11000
01000
00000
00100
2列目の1x3の方形はださないのか。条件がわかりにくいね
>>423 なんでやねん。
むしろ日本語を外に貼ってコードだけでいい
キチガイがいるようだな
>>429 上のほうだと1x5とか5x1とか1x3とかもあるけど出さないの?
>>433 いいよー君、その反応最高ww
疑いようもなくPCの前で顔真っ赤っかwww
追い打ちをかけるようで悪いけど真実を言わせてもらうわww
お前の負け( ・´ー・`)
>>433 >>420 みたいなやつならいいじゃんっていってるだけで、
1レスに無理やり押し込めたコードはさすがに俺もどうかと思うよ。
なんでこの板IDないんだろう・・・・
442 :
佐藤 :2012/01/19(木) 22:47:07.86
[1] 授業単元:情報2 [2] 問題文(含コード&リンク): 大きな四角形の枠の中に、小さな四角形を重ならない用に はみでないようにできるだけたくさんならべる関数narabekae をつくれ。 ただし、小さな四角形は反転や回転をさせないこと。 typedef struct { int x,y, sizex, sizey } box_t; 小さな四角形構造体 x,y 位置(出力) sizex,sizey 大きさ(入力) int narabekae( int fieldx, int fieldy, box_t **boxlist ); fieldx,fieldy ・・・ 大きな四角形の枠の大きさ boxlist ・・・ 小さな四角形の構造体の配列。 (入力) sizex,sizey にそれぞれの大きさが設定されている。 sizex,sizey が0のものを終端とする。 (出力) 関数の中で、それぞれの x,y に位置を入れること。 はいりきらなかったものは-1にすること。 [3] 環境 [3.1] OS: (Linux) [3.2] コンパイラ名とバージョン: (gcc) [3.3] 言語: (C) [4] 期限: ([2012年02月03日16:00まで]) [5] その他の制限: 再帰はつかってもよい。 もう締切りまで日にちがありません。おねがいします。
せいぜい3日で終わるだろwあと2週間あるぜ?
>>442 小さな四角形の個数と大きな四角形の大きさによって難易度が全然違う
力任せに探索すると生きてるうちに終わらないとかありうる
445 :
387 :2012/01/19(木) 23:07:03.35
>>432 ,437
指摘ありがとうございます。その通りでした。
11000
11000
01000
00000
00100 この場合2×2、1×3、1×1
11100
11100
11111
00111
00101 この場合3×3、2×3、1×5、1×3となりますね・・・
指摘ありがとうございました。わかるかた、お願いします。
446 :
442 :2012/01/19(木) 23:16:22.08
>>444 すみません。配列とか入力を書いてませんでした。
大きな四角形は100x100、小さな四角形は乱数で100個作ります。
>>436 ありがとうございました
トレースしながらじっくり考えてみます
>>442 評価基準は小さな四角形の個数なのか
並べた小さな四角形の面積の和なのか
>>448 わかりにくくてすみません。
小さな四角形の個数がもっともたくさんになるように
並べる課題です。
[1] 授業単元:C言語 [2] 問題文(含コード&リンク): 郵便番号を入力すると住所地を表示するプログラムを作成せよ. ヒント: 郵便番号簿データはCSV形式でネットに公開されている. それをダウンロードして,そのファイルの中を検索するプログラムを書けば良い. (ただし余分なデータが含まれているので,出力結果はちゃんときれいにすること.) [3] 環境 [3.1] OS: Windows7 [3.2] コンパイラ名とバージョン: Borland C++ 5.11 [3.3] 言語:C言語 [4] 期限: 2012年01月24日16:00まで [5] その他の制限: できるだけ簡単に、あとできるだけ多くの解説コメントお願いします.
トヨタ車電子制御、再び「シロ」 米アカデミー調査結果
【ニューヨーク共同】09~10年のトヨタ自動車の大規模リコール(無料の回収・修理)に発展した急加速問題について調査していた
米科学アカデミーは18日、トヨタの電子制御システムに問題はなかったとの調査結果を発表。
昨年2月に米運輸省も欠陥はないとの見解を示しており、今回の発表で、トヨタの電子制御をめぐる調査は終了したことになる。
アカデミーはトヨタの問題について、欠陥がないとした米道路交通安全局の調査は「正当化される」とし、
電子系統の欠陥を一貫して否定していたトヨタの主張を認めた。
アカデミーは運輸省からの依頼を受け調査委を設置。15カ月間調査を行った。
http://www.47news.jp/CN/201201/CN2012011901000828.html False complaints against Toyota / Falsas quejas contra de Toyota (TODO UNA FARSA) False Beschwerden
http://www.youtube.com/watch?v=W7G-FGL4el0&feature=player_embedded アメリカで問題になっていた大規模リコール問題。だが、それは巧妙に仕組まれた罠であることが判明した。
米国トヨタへの苦情の多くが韓国人によるものだったという。ある米国人がこれを告発しYouTubeにアップされている。
これで明らかになったのは正義は必ず勝つということ。
米国トヨタへの苦情の多くが 「韓国人」 によるものだったという。
米国トヨタへの苦情の多くが 「韓国人」 によるものだったという。
米国トヨタへの苦情の多くが 「韓国人」 によるものだったという。
>>442 まだ1月だが今年度最高傑作問題にノミネートされた。
>>423 問題も解答も、直接貼る方が推奨だと思うけど。
キチガイだけかと思ったらとにかく波風たてたい屑もいるみたいだな
もうcodepadを禁止にすればいいんじゃないの? ここは変化を嫌う人が多いみたいだし 大きいコードでも分割すれば普通に読めるしね
変化を嫌うならなぜ禁止にする かなり前から複数レスはウザいからうpろだ使えって話だっただろ codepadは重いって話もあったけど
>>442 佐藤くん、これ難しいわ
今日の午前中使ってやったけど、解けない。
明日また頑張ってみる
期待せずに待ってて&自分でもちょっとは解こうとして見ろよ
>>460 建設業界なんかで、Prologを使って解いてきた問題でしょ。試行錯誤のルーチンが
必要で結構大変。
>>450 バーローこんなデータがあるならあるっていいやがれ。
07402,"96927","9692701","フクシマケン","ヤマグンキタシオバラムラ",
"ヒバラ(アキモト、アラスナサワヤマ、ウラバンダイ、オオブダイラ、オノガワ、オノガワハラ、ケンガミネ、コタカモリ、",
"福島県","耶麻郡北塩原村",
"檜原(秋元、荒砂沢山、裏磐梯、大府平、小野川、小野川原、剣ケ峯、狐鷹森、",
1,1,0,0,0,0
>>461 どんな状況でこの問題を解く必要性に迫られたの?
後学のために知りたい。
>>464 ロシア企業が使ってるシステムで、なめし革(1枚ごとに革の大きさ、形が違う)からブーツのパーツを出来るだけ多く切り出す奴とか有ったな。
>>463 障碍物があるという前提が違うけど、塗装ロボットの走路を矩形に小分割した
走行計画のプログラムはINAP(Prologの産業応用シンポジウム)で見たことが
ある。それは実務で使っていると聞いた。
>>463 ユーザが見ることのできる簡単な事例では、積水ハウスの間取りシステムもこの類だろう。
この場合は空間分割は単純でもアイテムに属性があるから、最終的には恐ろしく複雑だけど。
468 :
387 :2012/01/20(金) 14:38:15.82
>>452 ありがとうございます!
完璧です。本当に助かりました。
スレ痴って病気なのか?
471 :
デフォルトの名無しさん :2012/01/20(金) 16:43:29.33
[1] C言語
[2] 問題文(含コード&リンク):自分でプログラムをつくる
[3] 環境
[3.1] OS: Windows7
[3.2] コンパイラ名とバージョン: gcc-4
[3.3] 言語: c言語
[4] 期限: 2012年1月22日まで
グリコゲームを作ろうとおもったのですが、
じゃんけんの無限ループが終わりません。
間違っているところ、改善した方がいいところなど
いろいろ教えてほしいです
プログラムと結果を↓に載せています
http://codepad.org/gc7tvNIp
>471 まず関数使えよ
473 :
デフォルトの名無しさん :2012/01/20(金) 16:55:23.32
>>472 自作関数も以前、課題で出されたのですが
理解できなかったので、これで押し切ろうと思いました。
指摘してくれって書いてあるのに理解できんって・・・
475 :
460 :2012/01/20(金) 17:46:17.48
>>475 おつおつ。
コードも何も見てないけど、ナップサック問題の領域になってくると思うので、完全な回答は難しいかもよ。
>>442 の先生もわかってると思う
478 :
475 :2012/01/20(金) 19:08:36.69
bug, bugです。 debugも何もせずに書いたら大変なことになりました。 ろくすっぽ動かない奴でした。 put_on_field()の中の判定部分をうまく修正すれば。。。 現在のbugは、右下方向に既に箱を置いていた場合でも、 なんの検証もせずに置けると判断してしまう点。 最低でもここのbugを潰して土日のうちに再投稿するよ。。。 ごめんねー
479 :
475 :2012/01/20(金) 19:15:57.11
debugはしていませんが、
簡単にdebugできるように、箱の配置の仕方を表示する関数を用意しました。
http://ideone.com/glhcn 佐藤くんも↑使ってdebug助けてよー
修正箇所はput_on_field()内の
// can i put on box ?
if( i + box->size_x < field_x &&
j + box->size_y < field_y){
この部分だからさー
本当に度々でごめんなさい 130行目を num = i; の様に修正してちょ。
>>455 できればお願いします。
無理そうならできる範囲でお願いします。
482 :
475 :2012/01/20(金) 19:59:39.65
484 :
デフォルトの名無しさん :2012/01/20(金) 20:19:31.52
>>476 じゃんけんの無限ループから抜け出せないんです><
>>482 bl[i].size_x = 50;
bl[i].size_y = 50;
にしたら1個しか置かないし
bl[i].size_x = 11;
bl[i].size_y = 11;
にしたら82個置けてしまうぞ
>>484 まさかと思うが、ジャンケンの手を全角で入力してる?
487 :
デフォルトの名無しさん :2012/01/20(金) 21:12:05.16
>>486 日本語のところ以外はすべて半角で打ち込みました
488 :
デフォルトの名無しさん :2012/01/20(金) 21:15:35.54
[2] 問題文(含コード&リンク): 構造体 ある人の生まれた年,生まれた月をそれぞれ構造体で内部的に表現する. 2人分のデータを入力した後,2人の年令の差(年,月まで)を 計算して以下のような結果を示すプログラムを作成する. 実行例 ----------------------------------------------------- [1] Aさんのデータを入力 [2] Bさんのデータを入力 [3] 結果表示 [9] 終了 ----------------------------------------------------- #コマンドを入力して下さい:1 Aさんの生れた年は?:1967 Aさんの生れた月は?:8 #コマンドを入力して下さい:3 まだBさんのデータが入力されていません! #コマンドを入力して下さい:2 Bさんの生れた年は?:1987 Bさんの生れた月は?:10 #コマンドを入力して下さい:3 Aさんは 20年と2ヶ月 Bさんより年上です. #コマンドを入力して下さい:9 留意点 ・メニュー形式で実装. ・関数化を行うこと. main 関数のみのプログラムは不可とします. [3.3] 言語: c言語 [4] 期限: 1月22日 よろしくお願いします
491 :
475 :2012/01/20(金) 21:55:36.58
>>485 bug出しありがちょ
bl[i].size_x = 50;
は、
187, 188
を以下のようにすればいいよん
if( i + box->size_x <= field_x &&
j + box->size_y <= field_y) {
= を付け加えるだけ
bl[i].size_x = 11;
は、bugじゃなかったよ。
> 置ける箱の数は最大で 82 個
> 結局置けた箱の数は 81 個で
って言ってたよ
82個っていうのは面積でのみ考えた場合の最大個数なんで。
絞込みを簡単に&計算を速くするために用意しておいただけなんで。
494 :
475 :2012/01/20(金) 22:41:43.18
http://ideone.com/zGSVQ 現在の↑の版はbugも無いし、ちょっとだけ賢くなったので
私は手を引きます。
この版では、available_places変数は置ける場所の数を格納しています。
置ける場所が少なければ少ないほど、早めに置いておく必要があるし、
置ける場所の多ければ多いほど、後に置けばいいので、
cmp_available_places()内では、
置ける場所が多い < 置ける場所が少ない
として数の大小を逆にして比較関数を作成しています。
srand()とした場合に私の乱数では以下のような箱を生成します。
495 :
475 :2012/01/20(金) 22:43:58.32
現在はこいつらを20個置けるのですが、 こいつらを21個以上置けるようになりましたら教えて下さい。 私も勉強させて欲しいです。 置ける箱の数は最大で 25 個 置ける箱の一覧 bl[i](size_x, size_y, S, x, y) bl[0](4, 20, 80, -1, -1) bl[1](30, 3, 90, -1, -1) bl[2](94, 1, 94, -1, -1) bl[3](68, 2, 136, -1, -1) bl[4](9, 16, 144, -1, -1) bl[5](6, 26, 156, -1, -1) bl[6](2, 81, 162, -1, -1) bl[7](4, 52, 208, -1, -1) bl[8](37, 6, 222, -1, -1) bl[9](10, 28, 280, -1, -1) bl[10](98, 3, 294, -1, -1) bl[11](25, 15, 375, -1, -1) bl[12](14, 27, 378, -1, -1) bl[13](22, 20, 440, -1, -1) bl[14](20, 25, 500, -1, -1) bl[15](12, 43, 516, -1, -1) bl[16](40, 13, 520, -1, -1) bl[17](44, 12, 528, -1, -1) bl[18](19, 29, 551, -1, -1) bl[19](32, 18, 576, -1, -1) bl[20](7, 84, 588, -1, -1) bl[21](76, 8, 608, -1, -1) bl[22](88, 9, 792, -1, -1) bl[23](14, 58, 812, -1, -1) bl[24](12, 69, 828, -1, -1)
あ
498 :
442 :2012/01/20(金) 23:58:58.14
>>494 ありがとうございます!ほんとうにありがとうございます!
この土日でいっしょうけんめい読み込んで理解してみせます!
>>494 コードを見ずにレスしててすまんが、小さい箱のサイズはばらばらにしてるんだよね
500 :
499 :2012/01/21(土) 00:05:24.62
ああ、なってそうだったごめん。
Sequence-pair - Wikipedia
技術的背景
集積回路設計の一工程である配置計画では、回路として実現するために必要な様々なモジュールを、シリコン基板上にどのように配置するかを検討する。
「集積回路を出来るだけ小さく設計する」という要求は、配置計画において「モジュールを互いに重なることなく、出来るだけ小さい矩形領域内に配置する」という要求に置き換えられる。
隙間無く配置する作業はモジュールが数個から十数個程度であればまるでパズルのようだが、これが数百、数千、それ以上となると、とても人間が手に負える規模ではないことが明らかだろう。
このような理由から、「モジュールを互いに重なることなく、出来るだけ小さい矩形領域内に配置せよ」という要求はフロアプラン問題と呼ばれ、
1980年代になると集積回路設計の自動化に取り組む内外の研究者の格好の研究対象となった。
フロアプラン問題はモジュールの形状を矩形に限定すると、大きさの異なる矩形をできるだけ隙間無く詰め込む問題となる。
この問題は矩形パッキング問題と呼ばれ、NP困難であり[1]、多項式時間で最適解を得る方法は知られていない。
ブロックの数が増えれば増えるほど配置のバリエーションが爆発的に増えていくため、問題解決のために配置の全バリエーションを探索するのは非現実的である。
切出し・詰込み問題に対する実用的解法
切出し・詰込み問題は,いくつかの図形を互いに重ならないように与えられた領域内に配置する問題であり,多くの分野に応用を持つ最適化問題である.
この問題は,長方形詰込み問題,円詰込み問題,コンテナ詰込み問題,多角形詰込み問題など図形の次元や形状によりさまざまなバリエーションを持つ.
切出し・詰込み問題のバリエーションの多くは NP 困難のクラスに属する組合せ最適化問題であり,実用的な規模の問題例に対して厳密な最適解を求めることは非常に困難である.
本稿では,さまざまな形状や大きさの多角形を長方形の容器に詰め込む多角形詰込み問題を取り上げて代表的な近似解法を紹介する.
http://www6.ocn.ne.jp/~seisan/612/612-56.pdf
そこで遺伝的アルゴリズムの出番ですよ
完全解でなく回答速度、回答精度で課題の得点を決めるやつなのでは。速く正確な方がいいってやつ。
NP困難を持ち出してどうすんだっていう。
506 :
デフォルトの名無しさん :2012/01/21(土) 19:02:20.22
[1] 授業単元:アルゴリズムとC言語 [2] 問題文(含コード&リンク): 複数の単語を二次元の文字型配列w[20][10](20単語×(9文字+1))に入力し、一つの英文に合成して出力するプログラムを作りなさい。 ただし以下の仕様を満たすものとする。 ・単語の入力を終了する場合は"END"を入力すること。 ・一つの英文に合成するときは、単語間に空白を入れること。 ・単語入力、英文合成は、それぞれtango、gouseiというサブプログラムを用いること ・ 文字列操作関数strcpy、strcat、strcmpを用いること。 [3] 環境 [3.1] OS:Linux [3.2] コンパイラ名とバージョン:gcc [3.3] 言語:C [4] 期限:2012年1月25日23:59まで よろしくお願い致します。
>>506 strcmpが必要な箇所がないように見えるが・・・使いたきゃ使えってだけか?
ENDを入力して単語入力を終了するとき必要じゃね?
>>510 main()のint i;消すの忘れてたわ
#include <stdio.h> int main() 笑
514 :
506 :2012/01/21(土) 23:48:36.58
[1] 授業単元:キーボード入力 [2] 問題文(含コード&リンク): 打ち込む文章を表示して,それをユーザがそっくりに打ち込ませ その正確さを判定するプログラムを作成せよ. [3] 環境 [3.1] OS:Linux [3.2] コンパイラ名とバージョン:gcc [3.3] 言語:C [4] 期限:2012年1月26日21:00まで よろしくお願い致します。
>>516 「正確さ」について何か条件があるはずだと思うんだが
例えば打ち込むべき文章が"HOGE"で、入力が"XHOGE"だった場合、
どうあるべきなのかよく分からない
「正確さ」も自分で定義しろと言うことなのかも。 宿題的には、文字単位で比較して異なっている文字数をカウントあたりでいいと思う。 文字の打ち忘れとか変な文字を入れたとかまで考えると、「最長共通部分列問題」 あたりの知識が必要。
523 :
521 :2012/01/22(日) 14:13:41.06
中途半端に凝ったせいでデバッグ不足、考慮漏れ多数だわw やっぱゲーム形式のプログラムは作るの難し面白いね
[1] 授業単元:C言語 [2] 問題文(含コード&リンク):入力した誕生日から今日まで経過した日数・時間を表示するプログラムを作成せよ. [3] 環境 [3.1] OS: Vista [3.2] コンパイラ名とバージョン: visual stadio 2010 [3.3] 言語:C言語 [4] 期限: 2012年01月25日19:00まで [5] その他の制限: よろしくおねがいします.
525 :
521 :2012/01/22(日) 15:05:12.58
526 :
デフォルトの名無しさん :2012/01/22(日) 15:48:39.60
527 :
526 :2012/01/22(日) 16:00:35.42
void quick_sort(double sort_data[], int start_index, int end_index) を void quick_sort(struct student_data sort_data[], int start_index, int end_index) の形になるよう変更して件の64行目は quick_sort(sort_data, 0, DATA_MAX-1); に変える あとは自分でやって
>>526 こんなもんでいいんじゃない?
int cmp_by_height(struct student_data *a, struct student_data *b)
{
if(a->height > b->beight)
return 1;
else if(a->height < b->height)
return -1;
else
return 0;
}
qsort(sort_data, DATA_MAX, sizeof(struct student_data), cmp_by_height);
qsort()を使用禁止だったら残念だけど
530 :
526 :2012/01/22(日) 16:41:31.26
531 :
526 :2012/01/22(日) 17:15:30.56
何度もすいません
http://codepad.org/JvZvIpHCをビルドしたら 、
9'student_data *' : サイズが不明です
14'<' : struct に対して正しくありません
24 '=' : 'double' から 'student_data' に変換できません
と出てきました。
このようなエラーメッセージが出てきたのは初めてで対処できませんでした。
大変困ってます。よろしくお願いします
533 :
526 :2012/01/22(日) 20:16:02.21
>>532 本当にありがとうございます。
疑問点も解決しました。
また機会があったらこのスレに来ます!
536 :
デフォルトの名無しさん :2012/01/22(日) 22:15:20.26
[1] 授業単元:C言語演習 [2] 問題文(含コード&リンク): for文を使用して次のプログラムを作れ。 無限ループfor(;;)や goto文,配列は使用しない。 関数f(x,y)=xy^2の値を求め,その値を表形式で表示するプログラムを作成しなさい。 0≦x≦2、0≦y≦2の範囲において,それぞれxとyを 0.2刻みで計算しなさい。 ただし,以下に示したように,桁を揃えて 小数第3位まで表示しなさい。 x y 0.000 0.200 … 2.000 0.0 0.000 0.000 … 0.000 0.2 0.000 0.008 … 0.800 : : : … : 2.0 0.000 0.080 … 8.000 [3] 環境 [3.1] OS:Linux [3.2] コンパイラ名とバージョン:gcc [3.3] 言語: C [4] 期限:2012年1月29日 [5] その他の制限:なし よろしくお願いします。
#include<stdio.h> int main() 笑
#include<stdio.h> int main() 藁
#include <iostream> int main() 麦
[1] 授業単元: 関数 [2] 問題文: 最大で5名の学生の名前、性別、身長と体重を登録し、BMIも計算して保存し、 それらの結果を表示するプログラムを作成せよ。[BMI=体重(kg)/(身長(m)*身長(m))] プログラムを起動するとメニュー画面が現れ、 ・[1] 名前,性別,数値登録 ・[2] 登録内容訂正 ・[3] 一覧表示 ・[0] 終了 が行えるようにすること。 ユーザには身長はcmで登録させること。 各機能ごとに関数を分割する。登録と訂正に関わる関数、 一覧表示に関わる関数、main関数の3つに分けて作成せよ。 訂正については、○人目のデータを指定し、内容(名前,性別,数値)を上書きする。 [3] 環境 [3.1] Linux [3.2] gcc [3.3] C言語 [4] 期限: 1/23 23:00 [5] その他の制限: 最低でも上記の3つの関数に分けて下さい。さらに細かく分けても良いです。 よろしくお願いします。
>>543 そんなことはわかっている。
無礼な返し方をするなガキ。
わかってて駄々こねんなよガキwww
>>546 >>539 のforward_viterbi 61行
>Cで書くとこれの倍以上になると思うけど・・・。
>>542 のforward_viterbi 65行
www
また変なのが来てるのかよ…
550 :
534 :2012/01/22(日) 23:59:27.54
>>542 ありがとうございます。
使わせていただきます。
俺らも竹島を日本領だと大々的に世界に発信するか?w
↑Windows7です
こんな夜更けにまあギリギリになってから出すもんだねえ ちょうど起きてるからいいんだけどさ これってどういうのを目的とした課題なの? > 3. プログラム実行例に示すように、データの入力中には随時描画内容が > 表示されるようにすること。 実行例見せてよ。取り掛かりにくいよ
なんだよこっちでも質問してたのか 相手するんじゃなかった
こっちでもってことはマルチしてんのか
C言語スレのと同じじゃない?
許さないよ?
531 名前:531 [sage]: 2012/01/23(月) 03:43:29.63
系列データの始点座標(x,y) 移動方向dir ステップ数stepsといった
入力されたデータをテキスト形式でファイルへ保存しないといけないのですが
ファイルには-1076994648 2516192 8 1536358
といったわけの分からない数字が保存されます
どうすればいいでしょうか?
http://codepad.org/T7yR4vHH むかっとするね
まさにマルチスレッドプログラミングだな 先に終了したほうの結果を採用ってわけだ 効率イイね^^;
>>561 >>562 不快な思いをさせてしまい申し訳ありません
二度とこのようなことはしませんので
どうかこの宿題だけでもお願いします
>>442 を見習ってもっと前に投稿しておくべきだったね
時間もギリギリだし、むかついたので助けません
http://www.j-cast.com/2012/01/22119537.html フジ反韓流デモに新展開 次のターゲットは「電通」「朝日」「日テレ」
2012/1/22 17:53
東京・汐留で2012年1月21日昼、180人あまりが集まるデモがあった。2011年8月以来続いている、「反フジテレビ・韓
流デモ」の参加者たちを中心としたものだ。
ヤリ玉に上がったのはフジテレビではなく、大手広告代理店「電通」。都内の最高気温は4度、参加者は冷たい雨に
濡れながらおよそ1時間にわたり、シュプレヒコールを上げ続けた。
「電通解体!」叫んで行進
http://www.j-cast.com/images/2011/news119537_pho01.jpg 電通が広告代理店として「すべてのメディアを従え」、過剰な「韓流ごり押し」と「日本のイメージダウン」を行っていると
主張するデモ隊は、
「電通は韓流ブームねつ造商法をやめろー!」
「電通解体! 電通解体!」
と口々に叫びながら、電通本社の周囲を練り歩いた。周辺にある日本テレビや朝日新聞社に対しても「韓流押し」「反日
的」だとして、
「日本テレビは第2のフジテレビになるなー!」
「朝日新聞は自主的に廃刊しろー!」
「お前たち反日企業の前に、私たちは何度でも来るぞー!」
と拳を振り上げた。
2011年夏、俳優・高岡蒼佑(当時・蒼甫)さんのツイッターをきっかけにネットで広がった「反フジ」「反韓流」の声は、
8月21日にはお台場・フジテレビ本社前でのおよそ6000人が参加するデモに発展し、一時はマスメディアでも大きく取
り上げられた。
それから5か月、なぜ「反フジ・韓流デモ」参加者たちのホコ先は変化したのか。デモに初期から参加してきた男性
は、こう語る。
「これまでフジに対しデモを行ってきたが、全くメディアは変わらない。『韓流偏向』の根本はやはり『電通』なんです」
フジテレビデモに行ってみた! -大手マスコミが一切報道できなかったネトデモの全記録 [単行本(ソフトカバー)]
古谷ツネヒラ (著)
http://www.amazon.co.jp/dp/4792604435 http://www.furuyatsunehira.com/img/fdi0000404011a_r1_c1.jpg
何でスレ違いな政経ネタコピペとか朝鮮人みたいな荒らし方するんだ
電通乙
570 :
デフォルトの名無しさん :2012/01/23(月) 11:32:37.48
[1] 授業単元:C言語
[2] 問題文(含コード&リンク):
http://codepad.org/XvVFzWpQ 人対人の3目並べです。19行目のchar batumaru[3][3]={"×","○"};の部分を直してほしいです。
あと32行目の%s、batumaru[player]の意味を教えてもらいたいです
[3] 環境
[3.1] OS:Vista
[3.2] コンパイラ名とバージョン:visual stadio 2010
[3.3] 言語: C
[4] 期限: 2012年1月25日まで
[5] その他の制限:なし
よろしくお願いします
>>570 1. char batumaru[2]={"×","○"};
2. batsumaru の中身を文字列として表示(%sは文字列の指定)
(player = 0 なら×、player = 1 なら ○)
凡ミス よくよく読んでみるとありえない記述だな const const char* batumaru[] = {"×","○"};
…今日は調子が悪いのかな const char* batumaru[] = {"×","○"};
>>570 このコードは君が書いたのかい?
引き分けの判定が上手く動作しないと思うんだけど
それと main() 中の player を 1, 2 で変化させるともっと綺麗になるんじゃないかな
576 :
デフォルトの名無しさん :2012/01/23(月) 12:10:22.12
みなさんありがとうございます
>>575 自分一人ではないです。どうやって直せばよいでしょうか?
>>576 引き分け判定の関数 check_board() は全てのマスが○×で埋まってる場合に 0 を返せば良いけど、
そうなってないでしょ
ループ内で NASI を検出したら 1 を返す様にしてループを抜けたら 0 を返す様にすれば良い
実際は全てのマスが埋まらなくても引き分けの判定をする事はできるけど、そこまでは求められてないと思う
player を 1 と 2 で示せば char* batumaru[] = { "-", "×", "○" }; とする事で色々簡略化できると思う
line 41 の if ブロックは board[x][y] = player; で済むし
line 62 の switch ブロックも printf( batumaru[ board[x][y] ); で済む
まぁこれはオマケみたいな話だからどうでも良いけど
>>553 本当にありがとうございます。
参考にさせていただきます。
580 :
デフォルトの名無しさん :2012/01/23(月) 19:13:56.76
[1] 授業単元:C言語 [2] 問題文(含コード&リンク): 文字列をメンバに含む構造体を利用したプログラムを作成する. AddressData 構造体 を用いた住所録プログラムを作成する. struct AddressData{ char *name; char *address; long phone;}; 構造体を宣言し,構造体配列を用いて複数のデータを扱えるようにしてください。 基本的な仕様(最小限)は以下の通りです. (1) 最低でも2人分の名前,住所,電話番号を入力/変更できる. (2) それぞれをメニューから選択して表示できる. (3) 構造体の配列と typedef を用いる. ・ 適切と思われる範囲で関数化を行うこと.main 関数のみのプログラムは不可とします. [3] 環境 [3.2] コンパイラ名とバージョン:gcc [3.3] 言語:C言語 [4] 期限: 1月24日20時 [5] その他の制限:宜しくお願いします。
そのくらいは自分でやったほうがいいと思うんだ。x2
584 :
デフォルトの名無しさん :2012/01/24(火) 00:00:44.41
フジテレビデモに行ってみた! -大手マスコミが一切報道できなかったネトデモの全記録
大手マスコミが一切報道しなかった大規模デモの真実。
そのデモの実情を最前線で体験していた一人の青年、古谷ツネヒラが語り尽くす。
8月21日に決行されたフジテレビデモ、その参加人数は一万二千人にものぼる。
日本武道館を埋める事ができる程の人が集まった最大規模のデモは、一般市民主導、
ネット発、数々の異例が重なり実現した。何故このようなデモが起きたのか、
そしてその最前線では何が行われていたのか。実際に代表者の横で怒号を飛ばし、
フジテレビ前に掲揚されていたボロボロの日ノ丸を引き摺り降ろした男、
イケメンアニメオタク・古谷ツネヒラが数々のデモ体験と共にその詳細を著す。
著者・古谷ツネヒラ(古谷経衡)
1982年北海道札幌市生まれ。立命館大学文学部卒業。インターネットラジオ・パーソナリティやアニメ批評ブログを手掛ける傍ら、2010年に出演したNHK討論番組が話題に。以降、CS放送やインターネット番組への出演、執筆、街頭演説などその活動領域は多岐に及ぶ。
↓アマゾンで買えます
http://www.amazon.co.jp/dp/4792604435 http://ecx.images-amazon.com/images/I/51VzIRkjxTL._SS500_.jpg
[1] プログラミング [2] 営業キロを入力したら料金を表示するプログラムを作りなさい。なお、営業キロは小数点以下はすべて切り上げで計算されます。 営業キロはキーボードからの入力とし、正しい結果が表示されれば繰り返し終了、エラーの場合再入力する。 [3] Linux C言語 [4] 期限:2012年1月25日 [5] 構造体の使用は無し、運賃と距離は配列を使用する。 一応途中まで作ってみましたが、dis[0]のときfare[0]の値は出ますがそれ以外が出ません。。。助けてください。 #include<stdio.h> int main(void){ int fare[100]; int dis[100]; int j; float n;
つづき fare[0]=140; fare[1]=180; fare[2]=190; fare[3]=230; fare[4]=320; fare[5]=400; fare[6]=480; fare[7]=570; fare[8]=650; fare[9]=710; fare[10]=820; fare[11]=950; fare[12]=1110; fare[13]=1280; fare[14]=1450; fare[15]=1620; fare[16]=1890; fare[17]=2210; fare[18]=2520; fare[19]=2940; fare[20]=3260; fare[21]=3570; fare[22]=3890; fare[23]=4310; fare[24]=4620; fare[25]=4940; fare[26]=5250; fare[27]=5460; fare[28]=5780; fare[29]=6090; fare[30]=6300; fare[31]=6620; fare[32]=6830; fare[33]=7140; fare[34]=7350; fare[35]=7670; fare[36]=7980; fare[37]=8190; fare[38]=8510; fare[39]=8720; fare[40]=9030; fare[41]=9350; fare[42]=9560; fare[43]=9870; fare[44]=10190; fare[45]=10500; fare[46]=10820; fare[47]=11030; fare[48]=11340; fare[49]=11600; fare[50]=11970; fare[51]=12290; fare[52]=12600; fare[53]=12810; fare[54]=13130; fare[55]=13440; fare[56]=13760; fare[57]=14070; fare[58]=14390; fare[59]=14600; fare[60]=14910;
つづき dis[0]=3; dis[1]=6; dis[2]=10; dis[3]=15; dis[4]=20; dis[5]=25; dis[6]=30; dis[7]=35; dis[8]=40; dis[9]=45; dis[10]=50; dis[11]=60; dis[12]=70; dis[13]=80; dis[14]=90; dis[15]=100; dis[16]=120; dis[17]=140; dis[18]=160; dis[19]=180; dis[20]=200; dis[21]=220; dis[22]=240; dis[24]=260; dis[24]=280; dis[25]=300; dis[26]=320; dis[27]=340; dis[28]=360; dis[29]=380; dis[30]=400; dis[31]=420; dis[32]=440; dis[33]=460; dis[34]=480; dis[35]=500; dis[36]=520; dis[37]=540; dis[38]=560; dis[39]=580; dis[40]=600; dis[41]=640; dis[42]=680; dis[43]=720; dis[44]=760; dis[45]=800; dis[46]=840; dis[47]=880; dis[48]=920; dis[49]=960; dis[50]=1000; dis[51]=1040; dis[52]=1080; dis[53]=1120; dis[54]=1160; dis[55]=1200; dis[56]=1240; dis[57]=1280; dis[58]=1320; dis[59]=1360; dis[60]=1400;
つづき(最後) while(1){ printf("移動距離を入力してください:"); scanf("%f",&n); if(n == dis[j]){ printf("運賃は%d円です\n",fare[j]); } if(n > dis[60]){ printf("error\n"); } } return 0;
dis[j]のjが固定だから。ほんとは全部のdisと比較したいのでは? あと、小数点以下を切り上げる処理がない。
j = n + 1;
あ、あと、どのdisにも一致しなかった場合、たとえば入力が2だったり5だったりしたときの判定も必要ね。
どうでもいいがこのタクシー?は1400km走ってもたったの15000円程度で済むのか
>>596 まず「移動距離」という表現。
つぎに「fare」という英単語、これは人間の運賃とか料金になるし、
貨物や荷物ならcharge。
ついでに昨日タクシーに乗ったから
常識のない人って・・・
[1] 授業単元:アルゴリズム
[2] 問題文(含コード&リンク):
http://codepad.org/XhsJQMyv [3] 環境
[3.1] OS: Linux
[3.2] コンパイラ名とバージョン: gcc
[3.3] 言語: C言語
[4] 期限:1月26日まで
[5] その他の制限: 演算子、制御構造、関数、配列、文字列まで学習しています。
602 :
601 :2012/01/24(火) 16:34:40.70
みなさん解答ありがとうございます。 問題点がわかりました。
605 :
601 :2012/01/24(火) 22:00:23.80
[1] 授業単元:C言語演習 [2] 問題文(含コード&リンク):テキストファイルを読み込み、内容を配列に格納してから配列を出力せよ [3] 環境 [3.1] OS: windows 7 [3.2] コンパイラ名とバージョン: visual studio 2010 [3.3] 言語: C言語 [4] 期限:1月28日まで [5] その他の制限:とくにないです。
>>606 #include <stdio.h>
int main(){
char buf[1000][100];
FILE *fp;
int i=0;
printf("input file name = ");
scanf("%s", buf[0]);
fp = fopen(buf[0], "r");
if (fp == NULL) {
printf("file %s open error!¥n", buf[0]);
return -1;
}
while (fgets(buf[i++], 100, fp) != NULL);
for (i = 0; buf[i][0]; i++)
printf("%s", buf[i]);
return 0;
}
608 :
デフォルトの名無しさん :2012/01/25(水) 17:50:07.09
>>579 遅くなりました。ありがとうございます。
ニコニコニュース+α 「韓国『金正日萌え』ツイート逮捕事件」
http://live.nicovideo.jp/watch/lv78963873 【会場のご案内】
2012/01/26(木) 開場:20:50 開演:21:00
反国家的ツイートにご用心?!
この事件から見える韓国社会の姿とは?
23日に配信されたニコニコニュースの記事が、
ネット上で大きな反響を呼んでいます。
その記事とは、
韓国で「金正日萌え」とツイートした24歳のパク・ジョングンさんが、
同国の国家保安法違反で逮捕されたことを報じたもの。
コメントは2000件以上、まとめサイトにも多数転載されました。
記事:『韓国で「金正日萌え」とツイートした青年が逮捕される』(2012年1月23日)
今回、ニコニコ生放送では、逮捕されたパクさんの友人で、
立教大学の留学生でもあるキム・ソンハさんに詳しくお話を伺います。キムさんは、
国家保安法など韓国の社会システムに関心があり、研究・執筆活動をしています。
また、パクさんを自身のウェブマガジンの連載で逮捕前から取り上げるなど、
今もっともパクさんを知る人物でもあります。
国家保安法とはどういう法律なのか?
韓国ではどう受け止められているのか?
イ・ミョンバク政権が韓国の若者に不人気な理由とは?
韓国で沸き起こるデモの話や韓国社会の問題点について、
キムさんというひとりの若者の視点から語ってもらいます。
聞き手は、数々の公安事件や経済事件の取材に携わり、
元共同通信社記者でソウル特派員も務めたジャーナリストの青木理氏。
610 :
606 :2012/01/25(水) 20:01:52.77
>>607 遅くなりましたがありがとうございます!
611 :
606 :2012/01/25(水) 20:30:25.29
すみませんファイル名とその内容を格納する配列を別々にすることってできますか?
できます。自分でしてください
613 :
606 :2012/01/25(水) 20:40:52.61
すいません普通にできました
ハフマン符号化ワロタwwwこれはやりがいがあるwww
がんばってください。
でもどうせ解いてやらないんだろ?
これは可逆圧縮で、改行は考えなくていいんだよね?
やるって言ってるんだから外野は黙ってろwww
内野は誰?
621 :
614 :2012/01/25(水) 21:46:03.38
622 :
デフォルトの名無しさん :2012/01/25(水) 21:48:06.03
[1] 授業単元: サブルーチン
[2] 問題文(含コード&リンク):
問1 次の関数の冗長性を最小化せよ。
http://ideone.com/34hnC 問2 問1の関数の冗長性を、サブルーチンを使用しないで汎用的関数化
により最小化せよ。
[3] 環境
[3.1] OS: Linux
[3.2] コンパイラ名とバージョン: gcc
[3.3] 言語: c
[4] 期限: 無期限
[5] その他の制限: 問1は、機能を保ち、いかなる場合も関数以外の機能に影響を与えない。
また、ループのみによる解決は不可。
問2は、必ず関数以外の機能に何らかの影響がある。
625 :
デフォルトの名無しさん :2012/01/25(水) 22:15:13.04
>>624 同一手順を関数化するのが効果的だが、関数化は汎用化とほぼ同意にとらえられることがあり、敷居が高い。
そこで、あえて汎用化せず、当該プログラム内でのみ有効な(安全性を考慮すると当該プログラム外では使えない)関数を作ることを考える。
このような関数をサブルーチン(部分的手続き)と呼ぶことにする。
らしいです
>>625 言い方を変えるか、
お前がソース見てその"サブルーチン"と普通の関数の区別は付くの?
C言語の関数内関数なんてあったっけ? 敷居が高いとかも意味分からんな
>>626 こんなんじゃね?
#include<stdio.h>
int main(void)
{
void a(int x)
{
printf("function a : x=%d\n", x);
}
a(5);
a(13);
return 0;
}
630 :
デフォルトの名無しさん :2012/01/25(水) 23:07:11.73
[2] 問題文(含コード&リンク): mallocでメモリを確保したいんですがどうすればいいですか?下のプログラムに追加をお願いします [3] 環境 [3.2] コンパイラ名とバージョン: gcc [3.3] 言語: c [4] 期限: 1/27 #include <stdio.h> #include <stdlib.h> typedef struct { int hour; int min; int sec; } MY_TIME; void sec_conv(int ts, MY_TIME *tp); int main(){ int ts; MY_TIME tp; printf("秒数を入力してください "); scanf("%d", &ts); sec_conv(ts, &tp); printf("%02d時%02d分%02d秒\n", tp.hour, tp.min, tp.sec); return 0; } void sec_conv(int ts, MY_TIME tp[]) { tp[1].hour = ts / 3600; ts %= 3600; tp[2].min = ts / 60; tp[3].sec = ts % 60; }
そのままそいつを無名関数にしちまおうぜ
gotoとかsetjmp/longjmpとか使う問題じゃなかったのか
>>614 参考リンクの中にハフマン符号化するプログラムあるからmainとかマクロを変えるだけだな
復号化がメインの宿題なのかな
637 :
614 :2012/01/26(木) 00:21:50.21
>>636 わかんないです。
とりあえず、両方お願いします。
【中国BBS】日本と香港、どちらがアジアの中心かを中国人が議論
中国大手検索サイト百度の掲示板に「日本と香港ではどちらがアジアの中心か」という
アンケート付きのスレッドが立てられた。現在のところ、日本と答えた人が70%、
香港と答えた人が14.7%、両方とも違うが15%となっている。
● 〃偏執的温柔
総合的にというなら日本だね。
● 誤導的人
二者択一だったら日本を選ぶかな。
● 伴天涯2
中国と日本を比べるならまだしも、香港と日本なんて比べ物になるか?
● 靜流
東京も上海も香港も、どこもまぁまぁ。
● 浜iwi飯
両方とも良いところだけど、香港は小さすぎるよね。創り上げた富もほかへ行ってしまう。
でも香港に黄金時代がもう一度やってくると信じている!
● 二門的主教
東アジアの中心は平壌です。
http://news.searchina.ne.jp/disp.cgi?y=2012&d=0125&f=national_0125_046.shtml
640 :
デフォルトの名無しさん :2012/01/26(木) 14:41:19.99
[1] 授業単元:グラデーションの画像処理(白→黒) [2] 問題文(含コード&リンク):グラデーション画像(濃淡画像、320×240)の画素値を計算で求めるプログラムを作成せよ。左側から右側へ黒→白。 [3] 環境 [3.1] OS: Linux [3.2] コンパイラ名とバージョン:gcc [3.3] 言語: C [4] 期限: 早急に頼む
> [4] 期限: 早急に頼む (#^ω^)・・・・
>>640 unsigned char grad[320] = {255/320*0, 255/320*1, 255/320*2, 255/320*3, 255/320*4, … , 255/320*320};
上下は指定されてないからこれを240ラインに適用
644 :
デフォルトの名無しさん :2012/01/26(木) 15:08:11.63
>>642 すまないがソースコードを頼む
グラデーションの画像処理は無知なんだ…
>>641 分からない奴は黙ってろ
分かる人の邪魔すんなよ
前から思ってたんだが、ここはC言語しか能のない暇人に餌やるスレなんだな 頼みかたが横柄でも課題もらえりゃ大喜び、馬鹿じゃね?
ズキッ心が痛む
[1] 授業単元:C言語 [2] 問題文(含コード&リンク): 出席番号、算数、国語、社会の点数(適当で)からできている成績データを読み込み、各生徒の3科目の平均点と最高点を算出して、それを各生徒のデータとして加え、3科目の平均点の順番にソートするプログラムを選択ソートでかきなさい。 [3] 環境 [3.1] Windows [3.2] visual C++ [3.3] C [4] 期限: 1/28日18時まで
ソートしたデータは元の成績データに上書きしちゃっていいの?
>>644 ソースコードだよ。
画素値を求める課題だよね…?
お前らって協力したりするんだな 気持ち悪いよ
>>655 何言ってるのかよくわからんお前
もしかして餓鬼なのかそもそも日本人じゃないのか
嫌なら作らなきゃいい事だし、コードが無くて困るのは質問者だし。 ほっとけば良いんじゃね?
逆恨みか
fscanfで1の数字が記されただけのtxtを読み取っても1236508がprintfされるのは 何が原因ですか
>>660 スレチだが教えてやる
お前がそういう風に書いてるから
>>660 エスパすると、printfの中に&がある。
>>663 気づきませんでした
ありがとうございました!
666 :
◆QYp3PAZy.Y :2012/01/27(金) 01:01:10.80
[1] 授業単元:プログラミング演習 [2] 問題文(含コード&リンク): ①addres50.txtというテキストファイルの中に yasue_aikawa 0-1152-727 nao_motoya 0-715-038 norihisa_kaneda 0-4499-745 ・ ・ ・ というように名前と電話番号が並んで50件保存されている。このファイルに対する二分探索木を作成し、登録された全てのデータを辞書順に表示するというプログラムを作成したい。 このとき、データを辞書順での表示方法は根から左側の子へと探索していき、接点がなくなればその接点に格納されたデータを表示。次は右の子に進み、右の子に対してまた捜査が終われば親の接点に戻り、 その節点の右側について処理を行う。この操作を根に戻るまで繰り返す・・・といった風にしたい。 接点についての構造体は struct NODE{ char name[20]; char tell[12]; struct NODE *left; struct NODE *right; }; とする。 ②次に,あらかじめ作成した二分探索木に対して,新しいデータを挿入する関数,削除する関数,および,データを検索する関数を作成する。 まず,作成した二分探索木に対する処理(入力,検索,削除) の選択を標準入力で行い,次に処理を行うデータを入力する。具体的に挿入されたことを検索により確かめて正しく動作していることを確認する。 また,データの削除についても検索を行ってデータが二分探索木から削除されたことを確認する。 [3] 環境 [3.1] OS:Windows [3.2] コンパイラ名とバージョン: gcc [3.3] 言語: C [4] 期限: 1月30日まで [5] その他の制限: 再帰使用不可、二重ポインタ使用不可。malloc関数、strcmp関数、strcpy関数を使うこと。 よろしくお願いします
すみませんが、どなたか
>>614 の問題お願いできないでしょうか?
[1] 授業単元:ソート
[2] 問題文(含コード&リンク):
2. savadata.txt内にあるデータを読み取り、名前順にソートして
全員分のLEVEL、PLAYER NAME、POINTを表示するプログラムを
作成せよ.
2. savadata.txt内にあるデータを読み取り、レベル別にPOINTが上位3人までのPlayerNameとそのPOINTおよび
レベル別の全体の平均点(Average)を表示させるプログラムを作成せよ.
出力例)
■EASY
Rank1 : Tanaka 1000 POINT
Rank2 : Onishi 875 POINT
Rank3 : KItano 685 POINT
Average : 256 POINT
■Normal
Rank1 : Kuriyama 900 POINT
Rank2 : Onishi 775 POINT
Rank3 : KItano 605 POINT
Average : 232 POINT
savedata.txt
http://www.kent-web.com/pubc/book/test/uploader/uploader.cgi?mode=downld&no=5099 [3] 環境
[3.1] OS:Windows7
[3.2] コンパイラ名とバージョン: bcc
[3.3] 言語: C
[4] 期限: 1月29日まで
[5] その他の制限: できるだけ簡単にお願いします
>>667 ちなみになんだけど、課題を出されたのっていつ?
670 :
614 :2012/01/27(金) 02:38:59.59
1週間もないんだなぁ。
>>614 の前の課題を教えてくれるとどういう状況かが伝わるとおもうけど、かといって誰か上げるかは難しいところ
672 :
614 :2012/01/27(金) 03:20:33.27
>>671 やっぱり難しい問題なんですね。
でも、期限まで希望を捨てずに待つことにします。
私は
>>669 じゃないけど、どれくらい自分でやろうとした?
まだできてないんだったら、残骸をちょっと貼り付けて見ろよ。
課題全部を解いて渡すのって甘やかしだと思うんだ。
自分で足掻きもせずに他人に助けてもらおうって奴だったら、助けん。
足掻いてみたけど、駄目でした。だったら今から解く。
>>614 がすやすや眠る頃~♪
ニートはベッドを抜け出して~♪
叩くキーボードのダッダッダ!
キーボードのダッダッダ!
キーボードのダッダッダ!
キーボードのダッダッダ!
叩くキーボードのダッダッダ!
C言語の講座受講者の皆様え C言語は初心者向きではありませんが必修の基礎的な言語です。 ただ、「書く」つまり書いちゃ動かしを繰り返す試行錯誤を伴う作業に はもはや最適とは言えません。 コマンドシェル上のアプリケーションが中心だった時代に発達した 言語なので、どうしても作業が煩雑になってフラストレーションが 溜まります。UNIXのシェルの勉強を兼ねてというのはたぶん古い と思います。シェルの勉強はシェルの勉強で独立にやってください。 一緒にやらないほうがいいと思います。 CのIDEで良いものはありません。ですので課題が出されても、 Cで愚直にいきなり書くなんてことはせず、他のインタプリタ言語と かを使って書いてからCで書き直すほうが効率が良いと思います。
VC入れりゃええねん
>>678 VCは素人向けじゃあらへん
Windowsを熟知した完全に
玄人(≒廃人)向けや
学生が使うようなものじゃおまへん
>>680 コンパイルして実行しても何も起きないのですが
どのように使えばいいのでしょうか?
>>683 > a.exe < savedata.txt
>>680 iが未初期化だけど
bccではそれで問題なかったりする?
\ ::::::\:::::::::::::::::::::::::::::::::::::::::::::::::::::::::父ちゃん、18:00に間に合いそうにないクマー… ::::::::::::\::::::::::::::: ∩" ̄ ゙゙̄`∩:::::::あと1時間あればクマー、悔いが残るクマー :::::::::::::::::\::::::::::/ ,ノ , ヽヽ:::::::::::::::::::::::::_,,,,___ :::::::::::::::::::\::::i 。● ●。i:::::::::::::::::::: '゙ ゙`''、:::::::::::::::: :::::::::::::::::::::\彡 (_●_) ミ:::::::::: ⊂/ノ ヽ ヾつ:::::::::: ::::::::::::::::::::::::/ヽ ヽノ__ノ__:::::::::::::: i。● ●。゚ i:゚。:゚:゚:。 お父ちゃんいかないで~ ::::::::::::::::::::::::::/  ̄ ̄_)___):::::::::::ヽ(_●_) _ミノ::::::::::::::::::::::: :::::::::::::::::::○/  ̄ ̄ ノ::::::::::::::::: ( ̄ (___ ):::::::::::::::: ::::::::::::::::::::::::::::| __ /:::::::::::::::::::::::: ̄{ (:::::::::::::::::::::::: ::::::::::::::::::::::::| /::::::::::: ) )::::::::::::::::::::::::::: { )◯::::::::::::::::::::::::: ::::::::::::::::::::∪:::::::::::::(_ )::::::::::::::::::::::::::/ /\_つ))))):::::::::::::::::::::::::: ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::⊂ ノノノノ::::::::::::::::::::::::::::::::::::::::::::::::::::::: :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
|::::::::::::::::::::::::::::::: |" ̄ ゙゙̄`∩:::::::::::::::: 宿題落しちゃったクマー |,ノ ヽ, ヽ::::::::::::::::::::::::: |● ● i'゙ ゙゙゙̄`''、:::::::::::::::: | (_●_) ミノ ヽ ヾつ:::::::::: | ヽノ ノ● ● i:::::::::: |ヽ,__ )´(_●_) `,ミ::::::: | ヽ / ヽノ ,ノ::::::
以下のようなコードについて質問です。
xDeblockCUの関数内にxDeblockCUがあるのですが
これをどうにかしてxDeblockCUを使わない形にしたいのですが可能でしょうか?
Void TComLoopFilter::xDeblockCU( TComDataCU* pcCU, UInt uiAbsZorderIdx, UInt uiDepth, Int Edge )
#else
Void TComLoopFilter::xDeblockCU( TComDataCU* pcCU, UInt uiAbsZorderIdx, UInt uiDepth )
#endif
{
TComPic* pcPic = pcCU->getPic();
UInt uiCurNumParts = pcPic->getNumPartInCU() >> (uiDepth<<1);
UInt uiQNumParts = uiCurNumParts
>>2 ;
if( pcCU->getDepth(uiAbsZorderIdx) > uiDepth )
{
for ( UInt uiPartIdx = 0; uiPartIdx < 4; uiPartIdx++, uiAbsZorderIdx+=uiQNumParts )
{
UInt uiLPelX = pcCU->getCUPelX() + g_auiRasterToPelX[ g_auiZscanToRaster[uiAbsZorderIdx] ];
UInt uiTPelY = pcCU->getCUPelY() + g_auiRasterToPelY[ g_auiZscanToRaster[uiAbsZorderIdx] ];
if( ( uiLPelX < pcCU->getSlice()->getSPS()->getWidth() ) && ( uiTPelY < pcCU->getSlice()->getSPS()->getHeight() ) )
#if PARALLEL_MERGED_DEBLK
xDeblockCU( pcCU, uiAbsZorderIdx, uiDepth+1, Edge );
#else
xDeblockCU( pcCU, uiAbsZorderIdx, uiDepth+1 );
#endif
}
return;
}
ここから下も続きます。
お願いします
>>688 先生にそのAAを見せて勘弁してもらえw
>>685 すいません、よくわかりません。
Borland C 5.11ですがどのように入力していけば良いのでしょうか?
>>692 C言語の話じゃあないんだ
コマンドラインの話だ、shellの話だ
695 :
◆QYp3PAZy.Y :2012/01/27(金) 22:11:20.73
>>682 わざわざありがとうございました
ただ実行するとSegmentation Fault (core dumped)が出るのですが、これは二重ポインタも再帰も使わず無限ループをつかうと
二分探索木は実現不可ということなのでしょうか?
>>694 コマンドラインといいますと、「test.c」をコンパイルしたあとに
↓のようにやったのですが無理でした。これではダメなのでしょうか?
D:\Cprog>test savedata.txt
>>696 、帰宅したばっかで
>>680 のソース見ずに解説するけど
test savedata.txt
これはmain()関数の引数に渡してるから、"savedata.txt"はargv[1]に入ってる
だからここからだとファイルを開いて読みとらないといけない
a.exe < savedata.txt
これはリダイレクトを使って標準入力としてファイルの中身を渡してる、
なのでfscanf(stdin, ...)で読み取っていけば良い
>>695 ごめんというのはソースがかなり適当だったからですよ
心当たりもままあったのでLinux、Cygwin(gcc3/4)、Mingw、VC10で作って、
テストデータ(URLにコピペで実行)
http://ideone.com/r8zj6 を
それぞれ食わせてみました
が全部動いちゃいましたね…テストデータに何かあるのかもしれません…
>>697 D:\Cprog>test.exe < savedata.txt
ありがとうございます。
しかし↑で試すと「動作が停止しました」というエラーが出てきます
>>699 686 名前:デフォルトの名無しさん[sage] 投稿日:2012/01/27(金) 17:18:54.49
>>680 iが未初期化だけど
bccではそれで問題なかったりする?
>>699 これでは?
修正前:
int main(){
int i, j, cnt = 0,rankNo,sum;
修正後:
int main(){
int i=0, j, cnt = 0,rankNo,sum;
>>702 表示されました!
しかしVERY HARDだけソートできてませんでした
■VERY HARD
Rank1 Kimura 170 POINT
Rank2 Satoh 120 POINT
Rank3 Tamura 570 POINT
Average : 286 POINT
こういうfuckなテキスト切り分けはperlとかに任せりゃいいのに 難儀なモンだ…… 言語にも適材適所とかがあるだろうに もしも課題でもなんでもなくて個人利用のゲーマー用だったら Cでの文字列処理は圧倒的に面倒臭いから ベツモノでもいいじゃんかと思ってしまう 文字列処理の課題だったら そういうもんだと思ってやるしか
>>703 /* sort by POINT */
/*
for (i = 0; i < cnt; i++) {
for (j = i + 1; j < cnt; j++) {
if (data[i].POINT < data[j].POINT) {
t = data[i];
data[i] = data[j];
data[j] = t;
}
}
}
*/
/* sort by LEVEL. for nameErrCheck */
for (i = 0; i < cnt; i++) {
for (j = i + 1; j < cnt; j++) {
if (strcmp(data[i].LEVEL, data[j].LEVEL) > 0) {
t = data[i];
data[i] = data[j];
data[j] = t;
}else if (strcmp(data[i].LEVEL, data[j].LEVEL) == 0) {
if (data[i].POINT < data[j].POINT) {
t = data[i];
data[i] = data[j];
data[j] = t;
}
}
}
}
>>706 うまくいきました、ありがとうございます!
708 :
デフォルトの名無しさん :2012/01/28(土) 14:18:26.11
[2] 問題文(含コード&リンク): ベースを基に入力された秒数を時分秒に変換するプログラムを作成せよ. [3.2] コンパイラ名とバージョン: gcc[3.3] 言語: c [4] 期限: 1/29 お願いします ベース #include <stdio.h> #include <stdlib.h> typedef struct { int hour; int min; int sec; } MY_TIME; void sec_conv(int ts, MY_TIME *tp); int main(){ int ts; MY_TIME tp; printf("秒数を入力してください "); scanf("%d", &ts); sec_conv(ts, &tp); printf("%02d時%02d分%02d秒\n", tp.hour, tp.min, tp.sec); return 0; } void sec_conv(int ts, MY_TIME tp[]) { tp[1].hour = ts / 3600; ts %= 3600; tp[2].min = ts / 60; tp[3].sec = ts % 60; }
何かと思ったら間違い探しか :10s/ / /g :20s/ tp\[\]/* tp/g :22,25s/\[.*\./->/g
711 :
デフォルトの名無しさん :2012/01/28(土) 14:40:12.61
>>709 315と違ってtypedfで作りたいんです
あとはmallocで確保するだけだと思うんですがうまくいかないんです
解答お願いします
712 :
710 :2012/01/28(土) 14:55:03.05
malloc? 間違い探しかと思ったら違ってたでござる こういうこと?、コードとしては激しく間違ってる気がするが #include <stdio.h> #include <stdlib.h> typedef struct { int hour; int min; int sec; } MY_TIME; void sec_conv(int ts, MY_TIME *tp); int main(){ int ts; MY_TIME* tp = (MY_TIME *)malloc(sizeof(MY_TIME) * 4); printf("秒数を入力してください "); scanf("%d", &ts); sec_conv(ts, tp); printf("%02d時%02d分%02d秒\n", tp[1].hour, tp[2].min, tp[3].sec); free(tp); return 0; } void sec_conv(int ts, MY_TIME tp[]) { tp[1].hour = ts / 3600; ts %= 3600; tp[2].min = ts / 60; tp[3].sec = ts % 60; }
713 :
デフォルトの名無しさん :2012/01/28(土) 15:36:18.25
714 :
デフォルトの名無しさん :2012/01/28(土) 16:03:11.20
[2] 問題文(含コード&リンク): 以下の様な1行に2つの数値が並ぶデータファイルをテキストエディタにて生成し, それを読み込み,掛け算を行って結果と共に表示するプログラムを作成せよ. [3.2] コンパイラ名とバージョン: gcc[3.3] 言語: c [4] 期限: 1/29 データファイル 11 19 12 18 13 17 実行結果 & ./a.out 11 × 19 = 209 12 × 18 = 216 13 × 17 = 221
×は面倒だから*とかにしようぜ!!
>>714 データファイルのファイル名は固定なのか、実行時に渡すのか?
実行結果のサンプルみると
& ./a.out
となっていて、渡してないようだが、
そうなると、ファイル名はプログラムに埋め込むのか?
717 :
710 :2012/01/28(土) 16:12:28.64
繰り返すが、仕様を満たす動作はするけど、コードとしては激しく間違ってるよ
>>712 のコードは配列にしてるのに使ってるのは構造体一つ分、
構造体配列tpの
0: hour min sec
1: hour min sec
↑
2: hour min sec
↑
3: hour min sec
↑
の矢印部分使ってるだけっていう、ものすごく無駄な事をしてる、
>>712 はsec_conv()関数の仕様に合わせた書き方だからこうなっちゃったけど、
sec_convを単に一つの構造体変数のポインタ操作に修正して、
>>712 も全体的に書き直した方が良いよ。
718 :
710 :2012/01/28(土) 16:19:39.56
まわりくどいな、スマソ
>>712 を書き直した
#include <stdio.h>
#include <stdlib.h>
typedef struct {
int hour;
int min;
int sec;
} MY_TIME;
void sec_conv(int ts, MY_TIME *tp);
int main(){
int ts;
MY_TIME* tp = (MY_TIME *)malloc(sizeof(MY_TIME));
printf("秒数を入力してください ");
scanf("%d", &ts);
sec_conv(ts, tp);
printf("%02d時%02d分%02d秒\n", tp->hour, tp->min, tp->sec);
return 0;
}
void
sec_conv(int ts, MY_TIME* tp)
{
tp->hour = ts / 3600;
ts %= 3600;
tp->min = ts / 60;
tp->sec = ts % 60;
}
719 :
デフォルトの名無しさん :2012/01/28(土) 17:05:16.23
>>716 実行時にfopenなどを使いテキストファイルを渡します
テキスト名は勝手につけてもらって構いません
オメーのクソ環境は何なんだよ!!! さっさと答えろあふぉおおおおおおおおおおお!!!!! > ×は面倒だから*とかにしようぜ!!
>>714 #include <stdio.h>
int main()
{
FILE *fp;
int x, y;
fp = fopen("datafile", "r");
if (fp == NULL) {
printf("データファイルが開けません\n");
return 1;
}
while (fscanf(fp, "%d %d", &x, &y) == 2){
printf("%d × %d = %d\n", x, y, x * y);
}
fclose(fp);
return 0;
}
722 :
デフォルトの名無しさん :2012/01/28(土) 17:55:26.04
723 :
◆QYp3PAZy.Y :2012/01/28(土) 18:00:05.21
>>698 なるほどーありがとうございました。
自分でも考えてみます!
724 :
デフォルトの名無しさん :2012/01/28(土) 18:10:07.86
ハノイの塔のプログラム #include <stdio.h> #include <stdlib.h> int main(void){ int n; void utusu(int, int, int); printf("n="); scanf("%d",&n); utusu(1,3,n); return 0; } void utusu(int kara,int made, int maisuu){ int nokori; int i; if(maisuu==1){ printf("%d から %d に1枚移す\n",kara,made); printf("*\n"); } else{ nokori=6-kara-made; utusu(kara,nokori,maisuu-1); //帽子 utusu(kara,made,1); //台 utusu(nokori,made,maisuu-1); //帽子 } }
725 :
デフォルトの名無しさん :2012/01/28(土) 18:13:32.86
[1] 授業単元:プログラミング [2] 上の724に次の条件で変えてください 次に,同様な処理を行なう関数を別途,以下の仕様・手順にしたがって作成する. (a) 移動させる関数を utusu1 とし,以下のプロトタイプにしたがって作成する. void utusu1 ( int n, int a, int b, int c ) a にある n 枚の円盤を,b を補助に使って, c に移動する 手続き n :移動する枚数 a :開始杭,b:補助杭,c:目的杭 (b) main 関数は,以下の通りとする. int main( ) { void utusu1( int, int, int, int ); utusu1( 5, 'A', 'B', 'C' ); returnn 0 } (c) 実行時の画面出力としては,まずは,以下の実行結果通りのメッセージ表示を行う. 杭 A から,杭 B へ円盤を移す 杭 A から,杭 C へ円盤を移す 杭 B から,杭 C へ円盤を移す (・・以下省略・・ [3] 環境 [3.3] 言語: C [4] 1/29 よろしくお願いします
>>725 void utusu1 ( int n, int a, int b, int c )
{
if(n<=0) return;
utusu1(n-1, a, c, b);
printf("杭 %c から,杭 %c へ円盤を移す\n", a, c);
utusu1(n-1, b, a, c);
}
1] 授業単元:タイマー [2] 問題文(含コード&リンク): 3分ラーメンタイマーを作成せよ. [3] 環境 [3.1] OS:Windows7 [3.2] コンパイラ名とバージョン: bcc [3.3] 言語: C [4] 期限: 2月1日まで [5] その他の制限: よろしくお願いします
728 :
デフォルトの名無しさん :2012/01/28(土) 23:52:46.65
[2] 上の 725 726を視覚的にわかるようにしてください 例 * *** ***** 杭Aから杭Bに移す *** ***** ... * 杭Aから杭Bに移す ***** ... * ... *** [3] 環境 [3.3] 言語: C [4] 1/29 よろしくお願いします
>>727 #include<stdio.h>
#include<windows.h>
#include <time.h>
int main(){
time_t timer;
time_t xtimer;
time(&timer);
printf("あと3分です\n");
int FLG = 0;
while(FLG<=5){
Sleep(500);
time(&xtimer);
if((xtimer >= timer + 30) && (FLG == 0)){
printf("30秒経過!\n");
FLG++;}
if((xtimer >= timer + 60) && (FLG == 1)){
printf("1分経過!\n");
FLG++;}
if((xtimer >= timer + 90) && (FLG == 2)){
printf("1分30秒経過!\n");
FLG++;}
if((xtimer >= timer + 120) && (FLG == 3)){
printf("2分経過!\n");
FLG++;}
if((xtimer > timer + 150) && (FLG == 4)){
printf("箸を用意してください。2分30秒経過!\n");
FLG++;}
if((xtimer > timer + 180) && (FLG == 5)){
printf("出来ました。3分経過!\n");
FLG++;}}}
>>734 (36)は実行できたけど(33)がうまくいかない 修正してくれ神 再履修だけは嫌なんだ
未来のためにこういうアホは落第させようぜ!!!!!!!
>>735 このスレに問題を投げる時点で再履修くらいあきらめとけよ
もしくは学校辞めれ
>>735 こういうバカを教育するなんてカネと時間の無駄じゃん、
さっさと落第させて肉体労働専用の奴隷にしようぜ
>>736 サンクス おかげであと3問ぐらいで課題終わるわ
課題の前にオメーの学校生活が終わっちゃえばよくね?
プログラムというか勉強全般がそうだが、
基礎が出来てそこから応用や新たな言語やフレームワークの習得速度の向上に繋がる
>>740 に限った事じゃないが、ここでの回答コードを理解して自分でも書けるようにならないと
近い未来間違いなく積む
近い未来ってのは学生だから単位かーとか卒業までの未来かーとか考えてると思う、
それもあるけど社会人になるとコーダーとしても使えないから
>>739 の言うように肉体労働系の職に転職する事になっちゃうよ
コーダ-も肉体労働系じゃないかな?
俺は仕様をコードに落とし込めて、仕様のバグも発見出来る人の事をコーダーって認識してる、少なくとも知的生産の部類だと思ってるよ
>>745 >仕様のバグも発見出来る人の事
発見するだけなら猿でも出来る。
いわゆる「評論家」の類だね。単に口先だけの奴。
そのバグの修正方法を提案できてこそ、だよ。
>>745 かのヒルベルトでさえ、熟慮に熟慮を重ねて作り上げた
「ヒルベルト・プログラム」を
簡単に他人に潰されてしまったんだ。
ましてや仕事では、仕様の矛盾なんてあって当たり前。
実際、掃いて捨てるほどある。
そんな指摘しても、指摘された方からは
「だから何?」って思われるのが関の山。
ソースが見えないテスターならそれでも良いが、
ソースが読める立場なら、それでは駄目なんだよ。
宿題を頼む奴、喜んでやる奴―どっちもどっち。
751 :
745 :2012/01/29(日) 13:50:58.40
OK分かった、説明不足だった、発見出来て修正案も出せる人って読み直してくれ
頼む阿呆にする阿呆同じアホならやらなきゃ損損
頼む阿呆にする阿呆同じアホなら頼まにゃ損損 じゃないのか?
仕様バグを指摘して「だから何?」って思われるような現場の製品は使いたくないな・・・
仕様のバグがあって当たり前らしいし、 バグの指摘を「評論家」とか言ってるので、 普通の現場じゃないんだろ。 スルーでいいかと。
世界のソニーを見習え。 ユーザ「不具合が・・・」 ソニー「仕様です。」
757 :
デフォルトの名無しさん :2012/01/29(日) 15:19:09.88
>>731 mktime() localtime() は2038/1/18 まで。
>>760 いやそうなんだけど…
宿題じゃなくてテストの過去問。
授業内容と違い過ぎて、皆分からないから質問してるんです。こんな問題がテスト出たらみんな大爆死確実なんで
授業内容と違うのなら出ないだろ 出たら文句言いに行けばいい
>>762 あー言い方悪かったです。授業の中でやってる演出問題と形式が違うって意味
てかここって質問とかする場所じゃないんですか?
違います
あー見てなかったわ わりいわりい
mallocを使う麻ー呂ックなロッカーは最高でおじゃる!
769 :
614 :2012/01/29(日) 16:36:34.23
>>729 ありがとうございます!
申し訳ないのですが、ファイルを読み込むという手順が抜けています。
よろしければ直していただけませんか?
ワロタその程度も自分では直せないのか
>>769 なあ、それくらいやれよ。
入出力ってもっと前の授業で習ってるだろ?
簡単だと思うので、それくらいはご自身で改造して下さい。
>>769 int main(void)
{
int n_commas, n_nodes, n_leaves, nodes_size;
int encoded_len, decoded_len;
node_t *nodes, *leaves;
char ss[] = NUMBERS;
char *encoded = NULL, *decoded = NULL;
/* ファイル読み込みのために追加ここから */
FILE *fp;
char s[100];
printf("input file name = ");
scanf("%s",s);
if((fp=fopen(s,"r")==NULL)) {
printf("file %s open error!",s);
return -1;
}
/* ファイル読み込みのために追加ここまで */
>>769 は間違い
int main(void)
{
int n_commas, n_nodes, n_leaves, nodes_size;
int encoded_len, decoded_len;
node_t *nodes, *leaves;
char ss[1000];/* = NUMBERS; */
char *encoded = NULL, *decoded = NULL;
/* ファイル読み込みのために追加ここから */
FILE *fp;
char s[100];
printf("input file name = ");
scanf("%s",s);
if((fp=fopen(s,"r"))==NULL) {
printf("file %s open error!",s);
return -1;
}
fgets(ss,1000,fp);
/* ファイル読み込みのために追加ここまで */
775 :
614 :2012/01/29(日) 18:07:38.94
>>774 ありがとうございます。
すみませんが、指摘された場所に追加したのですが実行すると、セグメンテーション違反です。と表示されてしまいます。
「セグメンテーション違反です。と表示されてしまいます。・・・・」 ,-――-、 ___ { , -_-_- / _ _ ヽ .(6( /),(ヽ| / ,-(〃)bヾ)、l /人 ー- ソヽ _ | /三 U |~ 三|_ / / |  ̄_∧/ ヽ |(__.)―-、_|_つ_) | | \/_/-、 / / /`ー--―-´ / |-\ _|_ )_| / | // ̄( t ) ̄/ ヽ-| ̄| |_|_ / ,- | | ヽ二二/⌒l / l―┴、|__) | (__> -―(_ノ / `-―┘ / `- ´ / 「もう君は単位落したらいいよ・・・」
今の工業高校って単位あるの?
体は大人!頭脳は子供!
780 :
デフォルトの名無しさん :2012/01/29(日) 22:57:35.30
[2]構造体についての問題です ある人の生まれた年,生まれた月をそれぞれ構造体で内部的に表現する. 2人分のデータを入力した後,2人の年令の差(年,月まで)を 計算して以下のような結果を示すプログラムを作成する. 実行例 ----------------------------------------------------- [1] Aさんのデータを入力 [2] Bさんのデータを入力 [3] 結果表示 [9] 終了 ----------------------------------------------------- #コマンドを入力して下さい:1 Aさんの生れた年は?:1967 Aさんの生れた月は?:8 #コマンドを入力して下さい:3 まだBさんのデータが入力されていません! #コマンドを入力して下さい:2 Bさんの生れた年は?:1987 Bさんの生れた月は?:10 #コマンドを入力して下さい:3 Aさんは 20年と2ヶ月 Bさんより年上です. #コマンドを入力して下さい:9 [3]環境 [3.1] OS:Linux [3.2] コンパイラ名とバージョン:gcc [3.3] 言語:C [4]1/31 よろしくお願いします
782 :
デフォルトの名無しさん :2012/01/29(日) 23:20:52.73
[1] 授業単元:プログラミング [2] 問題文: 5つの優先度付きデータを作成する。優先度が最も高いものを1つ削除して新しい優先度付きデータを1つ挿入し優先度順に並べ替えて表示することを指定回数繰り返すプログラムを作成しなさい。 なお優先度はランダムに発生させた数字の高いものから優先度が高いものとする。 例: {データ番号,優先度(ランダム)}={1,1.4},{2,4.3},{3,2.1},{4,1.1},{5,9.7}だとすると 優先度の高い5を削除して、新たに{6,7.8(ランダム)}を挿入したとすると6→2→3→1→4と表示されるようにする。 [3] 環境 [3.1] OS: Windows Vista [3.2] コンパイラ名:gcc [3.3] 言語: C++ [4] 期限:2012年1月31日まで [5] その他の制限: リストの挿入と削除を利用するみたいです よろしくお願いします
その優先度がカブったらどーすんの?
784 :
デフォルトの名無しさん :2012/01/29(日) 23:50:08.18
1] 授業単元:cプログラミング
[2] 問題文(含コード&リンク):
http://ideone.com/BYPJP [3] 環境
[3.1] OS:Solaris
[3.2] コンパイラ名とバージョン: gcc
[3.3] 言語: C
[4] 期限: [無期限]
[5]その他の制限:極力再帰は使わない方が望まれます。
785 :
デフォルトの名無しさん :2012/01/29(日) 23:53:29.46
>>781 515だとエラーが出るんですけど・・・
他の書き方でないでしょうか?
786 :
782 :2012/01/29(日) 23:54:14.49
>>783 すいません、優先度がかぶったらデータ番号の若いものを優先します
優先度の範囲は0.1から9.9まで? それとも0.0から1.0あたり? それとも実は桁数とか小数点以下とかは適当?
788 :
782 :2012/01/30(月) 00:17:39.17
>>787 度々すいません
特に指定されていないので適当で大丈夫です
791 :
デフォルトの名無しさん :2012/01/30(月) 00:39:10.07
◆QZaw55cn4cって簡単な問題しか解こうとしないな 工業生かテスト専属プログラマだろうな 駄目な奴だな、ちっとは難しい宿題とけよw無理だろーけどw
797 :
795 :2012/01/30(月) 01:32:40.01
違うデータでやってしもた
798 :
795 :2012/01/30(月) 01:41:39.54
799 :
デフォルトの名無しさん :2012/01/30(月) 01:47:44.29
>>792 有難うございます。
ただ、こちらの環境ですと、実行結果がtree_root=0だけになってしまいます…
やっと覚えた二分木を使ってみたくてしょうがないQZ 再帰が使えない環境では役に立たないことには気づかないQZ
組み込みじゃね?
再帰が許可される文法を取るCが将来に渡って標準的かどうかはCPUアーキテクチャの動向次第 Intel時代もそろそろ陰りが見え出してるし...
えっ、Qって童貞なのか?(ノ∀`)'`,、'`,、'`,、'`,、'`,、
>>785 >>1 >・エラーは、その詳細と発生した行を書きましょう。エラーメッセージはコピペしてください。
[1] 授業単元: 何かの授業ではないんですが [2] 問題文(含コード&リンク): n個の要素を持つintの配列にランダムな順序で整数が入っている。 このときk(0 <= k <= n-1)番目に小さい要素を見つけるプログラムを書け。 [3] 環境 [3.1] OS: Linux [3.2] コンパイラ名とバージョン: gcc [3.3] 言語: C/C++どちらでも可 で、安直には上記のintの配列全体を適当なソートルーチンでソートすればk番目の 要素が見つけるべき要素になるわけですが、これよりもっと速いアルゴリズムって ありますかね? 直感的には、k番目の要素だけわかればいいので全体を完全にソートせずに済む のかなあという気もするんですが...
>>812 その直感は正しい
一つの方法として、クイックソートに似たアルゴリズムがある
クイックソートと同じようにピボットで配列を分割した時、
k番目が分割のどちら側にあるのかは簡単に分かる
したがってk番目が無い側はソートする必要がない
k番目がある側だけを再帰的に分割を繰り返せばいいので平均計算量はO(n)まで減らせる
Wikipediaの「選択アルゴリズム」に関連した議論が載ってる
kが極めて小さいなら普通ではないソートが速くなる
頭k個限定マージソートも、 過去に知り得たk番目の最小値を持ち回していけば相当速い
816 :
782 :2012/01/30(月) 11:01:15.17
817 :
デフォルトの名無しさん :2012/01/30(月) 11:05:52.18
[2] 問題文(含コード&リンク):
ttp://ideone.com/McyMM を次の条件で変更してください
作成した自分のプログラムを改良して,入力したデータをテキストファイルに保存するプログラムを作成します.
追加する仕様は以下の2点.
(1) プログラム起動時に,データファイルが「存在すれば」読み込みを行う.
(2) メニューから終了を選んだ時点で,データファイルを書き出す.
[3] 環境
[3.2] コンパイラ名とバージョン: gcc
[3.3] 言語: c
[4] 期限: 1/31
よろしくお願いします
818 :
デフォルトの名無しさん :2012/01/30(月) 11:07:18.15
>>812 C++ならpartial_sort使っとけ
nth_elementだろ
要するにExcelでいうところのrank関数をどのように簡単に作れるか というわけだな? 現れる整数の種類がメモリに収まる範囲であるという前提 で、度数分布を作ればいいんでね~の? 64ビット環境じゃ無理だろうけど
822 :
デフォルトの名無しさん :2012/01/30(月) 17:56:14.04
[2] 問題文(含コード&リンク):
ファイルによりデータの入出力を行うプログラムを作成する.
http://ideone.com/McyMM を次の条件で変更してください
作成した自分のプログラムを改良して,入力したデータをテキストファイルに保存するプログラムを作成します.
追加する仕様は以下の2点.
(1) プログラム起動時に,データファイルが「存在すれば」読み込みを行う.
(2) メニューから終了を選んだ時点で,データファイルを書き出す.
[3] 環境
[3.2] コンパイラ名とバージョン: gcc
[3.3] 言語: c
[4] 期限: 1/31
よろしくお願いします
[1] 授業単元:C言語プログラミング [2] 問題文(含コード&リンク):# 学生データ用の構造体を作りなさい. 必要なメンバは * 出席番号 * 名前(ローマ字) この構造体に自分と他2人の合計3人分の変数を作成してデータを格納しなさい この構造体を自己参照構造体にして 再帰関数で全員分のデータを出力しなさい [3] 環境 [3.1] OS: Linux [3.2] コンパイラ名とバージョン: gccバージョン不明 [3.3] 言語: (C/C++/どちらでも可 のいずれか)C [4] 期限: 2012年2月4日23時59分 [5] その他の制限:特にないです。よろしくお願いします
824 :
デフォルトの名無しさん :2012/01/30(月) 18:24:10.06
[1] 授業単元: C言語 [2] 問題文2次元配列として宣言された文字列 st[][6]の英字を全て大文字に変換する関数 strary_toupper( char st[][6], int n)を作成せよ、 ここで n は2次元配列stの行数を指定するものとする。 そして、strary_toupperを用いて、次のように宣言された文字列 char cs[][6] = {“Turbo”, “Na”, “dohc”}; の英字を全て大文字に変換し、 変換後の文字列を表示するプログラムを作成せよ。 [3] 環境 [3.1] OS:Windows [3.2] コンパイラ名とバージョン: gcc [3.3] 言語: C [4] 期限:2012/1/30 [5] その他の制限:特になしです。よろしくお願いします。
825 :
823 :2012/01/30(月) 18:31:59.54
すみません
>>823 ですが
問題分が追加されてましたもしすでに取り掛かってくれている方がいたら申し訳ないです
[1] 授業単元:C言語プログラミング
[2] 問題文(含コード&リンク):
学生データ用の構造体を作りなさい. 必要なメンバは
・id (出席番号)
・name (名前(ローマ字))
とする.
この構造体に自分と他2人の合計3人分の変数を作成してデータを格納しなさい
この構造体を自己参照構造体にして 再帰関数で全員分のデータを出力しなさい
ただし, 登録の順番とは逆に表示しなさい
逆方向に進めるようにprevを作るか, 再帰関数で調整するか, どちらでもいい
ソースファイルはひとつにまとめておくこと
[3] 環境
[3.1] OS: Linux
[3.2] コンパイラ名とバージョン: gccバージョン不明
[3.3] 言語: (C/C++/どちらでも可 のいずれか)C
[4] 期限: 2012年2月4日23時59分
[5] その他の制限:特にないです。よろしくお願いします
>>824 #include <stdio.h>
void strary_toupper( char st[][6], int n){
int i,j;
for (i=0;i<n;i++)
for (j=0;j<6;j++)
if ('a' <= st[i][j] && st[i][j] <= 'z') {
st[i][j] += 'A' - 'a';
}
}
int main() {
int i;
char cs[][6] = {"Turbo", "Na", "dohc"};
for (i=0;i<3;i++) printf("%s ", cs[i]);
printf("\n");
strary_toupper(cs, 3);
for (i=0;i<3;i++) printf("%s ", cs[i]);
printf("\n");
return 0;
}
829 :
デフォルトの名無しさん :2012/01/30(月) 21:52:23.37
プログラムに以下の機能を追加したプログラムを作成する. (1) 各行ごとに1バイト空白 ' ',または,タブ '\t' で区切られた部分文字列が何個あるかカウントする関数を作成し, 出力の際に,行番号の右側に表示する.(画面表示の例) (2) 結果を画面表示すると共に,同等の内容をファイルに書き出す. ファイル形式は HTML ファイル(.html)とすること. ・ただし,HTMLファイルに用いるタグは FireFox や Safari などで,それなりの表示が得られる程度で良い #include <stdio.h> #include <stdlib.h> int main (void){ char fileName[] = "14-1.c"; FILE *f; f=fopen(fileName, "r"); if(f==NULL){ printf("ファイルが開けませんでした\n"); exit(EXIT_FAILURE);} int lineNum=1; char str[256]; while(fgets(str,255,f) !=NULL){ printf("%03d :%s",lineNum,str); lineNum++;} printf("\n"); char* line = "--------------------------------\n"; printf("%s",line); printf("lines: %d\n",lineNum-1); printf("%s",line); fclose(f); return 0;} [3]c言語 [4]1/31 よろしくお願いします
>>829 (画面表示の例)って何処にある?
>結果を画面表示すると共に,同等の内容をファイルに書き出す.
とあるから、必要にならない?
832 :
823 :2012/01/30(月) 22:50:00.40
836 :
デフォルトの名無しさん :2012/01/30(月) 23:22:49.65
[1] 授業単元:C言語
[2] 問題文(含コード&リンク):ライフゲームの問題の作成
グラフの例とプログラムと問題文は以下のURLです。
http://ux.getuploader.com/qwertykey/ パスはacidrainです。
[3] 環境
[3.1] OS:Linux
[3.2] コンパイラ名とバージョン: gcc
[3.3] 言語:C
[4] 期限:[2012年2月2日まで]
[5] その他の制限: プログラムと説明にライフゲームのルールは記述しています。
何卒よろしくお願いします。
838 :
デフォルトの名無しさん :2012/01/30(月) 23:32:52.76
>>837 残念です。
LifegameA.cは自分なりに出来た部分を記述したものです
書き忘れました。
datファイルは2種類用意してます。
>>836 なんでパス付けてんだよアホ
見てもらいたいならパス外せよタコ野郎、
そんなんだからお前はクズだとか言われるんだ!!!!!!!!!!!!!!!
っていう話だよ
コードだけ見たいんだからお前のオナニー行為は止めろバカ
何様w
842 :
デフォルトの名無しさん :2012/01/31(火) 01:14:48.22
>>842 めんどいのが変わってなくてワロタw
がんばれ
844 :
デフォルトの名無しさん :2012/01/31(火) 03:36:35.73
[1] 授業単元:C言語
[2] 問題文(含コード&リンク):
http://ideone.com/tsgjF 人対人の3目並べです。int check_board(void)で現在の局面を調べOが勝ちならば1を返し、Xが勝ちならば2、引き分けならば3を返すプログラムを作成したいです。
[3] 環境
[3.1] OS:Vista
[3.2] コンパイラ名とバージョン:visual stadio 2010
[3.3] 言語: C
[4] 期限: 2012年2月1日まで
[5] その他の制限:簡単なところしかやっていません。
よろしくお願いします
#include "stdafx.h" これ2つもいらないよね int board[3][3]={ {NASHI,NASHI,NASHI}, {NASHI,NASHI,NASHI}, {NASHI,NASHI,NASHI} }; void print_board(void) { int i,j; for( i=0; i<3; ++i){ for( j=0; j<3; ++j){ printf("%c", board[i][j]); } printf("\n"); } }
2chの行数制限にもめげずに頑張って投稿しました。 int judge(int x, int y) { int i, j, count_slash = 0, count_backslash = 0; int chip=board[x][y]; for(i=0;i<3;i++) if(chip != board[i][i]) break; for(j=0;j<3;j++) if(chip != board[j][2-j]) break; if(i == 3 || j == 3){ printf("斜めに揃いました。");return 1; } for(i=0;i<3;i++){ for(j=0;j<3;j++) if(chip != board[i][j] break; if(j == 3){ printf("横に揃いました。");return 1; } } for(i=0;i<3;i++){ for(j=0;j<3;j++) if(chip != board[j][i] break; if(j == 3){ printf("縦に揃いました。");return 1; } } return 0; }
[1] 授業単元:プログラミング演習 2 [2] 問題文(含コード&リンク) 前の課題では標準入力からリダイレクト機能を使って名前、身長、、体重を読み込み、コマンドラインスイッチ-sort[height|weight|bmi]に従って降順に並べ替えました。例えば以下の通りです $gcc -o bmi bmi.c $./bmi -sort height < bmi.txt Name height weight BMI ------------------------------- Jong,K.A. 186.2 73.4 21.2 Holland,J.H. 186.1 70.4 20.3 Wilson,S.W. 185.8 84.4 24.4 Baker,J.E. 185.3 68.3 19.9 Ackley,D.H 181.5 65.1 19.8 Fletcher,R. 180.3 73.8 22.7 Martin,F.G. 179.2 65.3 20.3 Smith,R.E. 178.7 69.6 21.8 Reed,J. 176.3 58.8 18.9 Forrest,S. 175.5 60.6 19.7 Keller,K.S. 175.2 63.4 20.7 Brent, R.P. 174.4 52.8 17.4 Goldberg,D.E 174.0 60.0 19.8 Jones,W.T. 171.4 63.7 21.7 Powell,M.J.D 170.1 55.9 19.3 Richardson,J.167.7 51.5 18.3 Lawler,E.L. 166.5 59.6 21.5
bmiでリダイレクト機能を使えば出力結果をファイルに書き出すこともできます $ ./bmi -sort height <bmi.txt >output_height.txt $ cat output_height.txt 前置きが長くなりましたがここからが課題です。同じ結果をリダイレクト機能を使わずにコマンドライン処理とファイル処理で実現してください。これがレポート課題です。起動オプションの並びは自由とします。 $gcc -o bmi_command bmi_command.c $ $./bmi_command -sort height -in bmi.txt -out output_height.txt $./bmi_command -out output_weight.txt -in bmi.txt -sort weight $./bmi_command -in bmi.txt -sort bmi -out output_bmi.txt コマンドラインオプション -sort -in -outの並びが一定でないことに注意してください。 [3.1] OS: unix [3.2] コンパイラ名とバージョン: gcc [3.3] 言語: C [4] 期限:2月1日(出来れば早めにお願いします)
849 :
デフォルトの名無しさん :2012/01/31(火) 14:42:07.10
[2] ハノイの塔を次の条件で作成してください 次に,同様な処理を行なう関数を別途,以下の仕様・手順にしたがって作成する. (a) 移動させる関数を utusu1 とし,以下のプロトタイプにしたがって作成する. void utusu1 ( int n, int a, int b, int c ) n :移動する枚数 a :開始杭,b:補助杭,c:目的杭 (b) main 関数は,以下の通りとする. int main( ) { void utusu1( int, int, int, int ); utusu1( 5, 'A', 'B', 'C' ); return 0 } void utusu1 ( int n, int a, int b, int c ) { if(n<=0) return; utusu1(n-1, a, c, b); printf("杭 %c から,杭 %c へ円盤を移す\n", a, c); utusu1(n-1, b, a, c); } (・・以下省略・・ 実行結果 例 * *** ***** *** ***** ... * 杭Aから杭Bに移す ***** ... * ... *** 杭 A から,杭 C へ円盤を移す [3] 環境 [3.3] 言語: C [4] 2/1 よろしくお願いします
850 :
デフォルトの名無しさん :2012/01/31(火) 15:13:58.33
[1] 授業単元:オペレーター、オーバーロード [2] 問題文(含コード&リンク): 次の仕様を満たすクラスを作成し正しく動作するか確認せよ。 クラス仕様 クラス名 CPoint: プロパティ float型で x座標とy座標 メソッド 1、引数なしのコンストラクタ x,yともに0で初期化 2、引数が1つ(float,int)のコンストラクタ x,yともに引数で初期化 3、引数が2つ(float,int)のコンストラクタ 1番目の引数xで初期化 2番目の引数yで初期化 4、それぞれの座標値を表示するメソッド なお、オペレーターをオーバーロードし次の計算ができるようにせよ。 インスタンス op インスタンス インスタンス op int インスタンス op float [3] 環境 [3.1] OS:Windows7 [3.2] コンパイラ名とバージョン:Microsoft Visual Studio 2008 [3.3] 言語:C++ [4] 期限: ([2012年2月3日12:00まで] [5] その他の制限:コメントつけてください。よろしくお願いします。
>>847 ,848
bmi.cのソースはアップ不可?
853 :
デフォルトの名無しさん :2012/01/31(火) 17:08:42.16
[1] 授業単元:プログラミング
[2] 問題文:
作成した構造体のidとpriorityをpriorityの数値が降順になるようにソートしなさい
途中まで作成したのですが、プログラミングを始めたばかりでネットを参考にしながら作ったのでおかしいと思います。
http://ideone.com/22tUb [3] 環境
[3.1] OS: Windows Vista
[3.2] コンパイラ名:gcc
[3.3] 言語: C++
[4] 期限:2012年2月2日まで
[5] その他の制限:
よろしくお願いします。
>>853 < for(int j=1; j<6; j++) {
---
> for(int j=i+1; j<5; j++) {
< cout << base[i].id << base[i].priority << endl ;
---
> cout << base[i].id << ' ' << base[i].priority << endl ;
855 :
853 :2012/01/31(火) 19:23:01.36
856 :
デフォルトの名無しさん :2012/01/31(火) 20:50:56.73
857 :
デフォルトの名無しさん :2012/01/31(火) 20:55:05.58
>>844 int check_board(void)で現在の局面を調べOが勝ちならば1を返し、Xが勝ちならば2、
引き分けならば3を返すプログラムを作成したいのですができません。どなたか下の
コードをうまく動作するよう変えていただけないでしょうか?
http://ideone.com/tsgjF
>>857 judgeとcheck_boardの違いがよくわからん
どっちも勝敗判定しようとしてない?
>>856 私の修正を適用して再度書き込んでよー。
あと、私が変更した箇所を自分なりに考えて見て、
理解してみてよ。
なるべく変数を使って判定するようにしてるんだ。
866 :
614 :2012/01/31(火) 22:51:57.29
[1] 授業単元:プログラミング基礎 [2] 問題文(含コード&リンク):6,-13,10,120...と続くファイルを読み込み、情報量をビットで表した結果を表示するプログラムを作りなさい。 [3] 環境 [3.1] OS: Linux [3.2] コンパイラ名とバージョン: gcc [3.3] 言語: c言語 [4] 期限: 2月3日 [5] その他の制限: 特にありません。
>情報量をビットで表した結果 よくわからないぞ、本当にそういう問題を出されたのか?
エントロピー?
どれだけ凄いアーカイバーを作れるかで競う
とにかく圧縮して何ビットまで押さえ込めるか そのときのベストスコアが情報量だな
871 :
866 :2012/02/01(水) 00:00:56.03
>>867 読み込んだ数列を表現するのに何ビット必要なのか、を表現しろってことだと思います。
言い方が悪くてすみませんでした。
>>871 そういわれると余計に分からない。
まだエントロピーを出せの方が明確だ。
EOFになるまでfreadを繰り返して、読んだデータ長の合計を出せばok。 ファイルの内容は見ずに捨てる。
入力データをできる限り圧縮しろって事だろ。
日本語、中国語、英語などで、同一内容を表したとき どの言語が一番、情報量が少ないのか興味ある。 無駄が少なく理想的な言語では少なくなる。
何がなんだかわからなかったが
>>614 を見て何をするのかようやく理解できた気がする
A = apple、2 = 2chBBSのように少ないビットで置き換えることも可能だが。
879 :
729 :2012/02/01(水) 02:28:59.28
encodedがまんまbitの表記だろ? '0', '1'だけで表示してるだろ? encoded_len = 1147 をbit数として書いておけばいいぞ。 本当に何も理解してないんだな。
なんとかの再発明的糞高度 こういうの貼って快感感じる奴ってのはビョーキ
>>881 再発明はその発明をappreciateする最も有効な手段であることを知らないとでも?
再発明はもちろん、appreciateもできてないと考えるべきだな
885 :
デフォルトの名無しさん :2012/02/01(水) 18:30:38.93
>>859 ,861,864
ありがとうございます。
886 :
847 :2012/02/01(水) 19:06:05.06
> bmi.cのソース
888 :
847 :2012/02/01(水) 20:15:39.03
bmi.cのソースは存在しません 今回はbmi.txtの中身を並べ替える問題なので
>>860 の方 ありがとうございます
しかし./bmi -sort height < bmi.txtで実行した結果エラーで
parameter error!!
usage sample:
./bmi_command -sort height -in bmi.txt -out output_height.txt
./bmi_command -out output_weight.txt -in bmi.txt -sort weight
./bmi_command -in bmi.txt -sort bmi -out output_bmi.txt
とでてしまいます
889 :
847 :2012/02/01(水) 20:16:23.70
sage忘れすみません
金を稼げるプログラムを教えてくれお jjj^ω^ιιι
>>891 この関数って同じ数を認識しないってことですか?
>>894 ああ、読み間違えてたわ。
その関数は文字数を比較するもんじゃないので。
>>895 文字数を比較する関数じゃないんですか?参考書には比較用としか
書いてなかったもんで
>>897 わかりやすい例えをありがとうございます
もう一度挑戦してみます
899 :
◆QYp3PAZy.Y :2012/02/01(水) 21:19:33.70
>>666 です
二度も申し訳ないのですが、二分探索木の問題で今度は再帰を用いてのプログラムを組むことになったのですが、
void *delete(node *root,char n[])
{
node *p,*q; p=root->left;q=root;
if(search(root,n)!=NULL){
while(p!=NULL){
if(strcmp(n,p->name)==0)break;
q=p;
if(strcmp(n,p->name)>0)p=p->right;
else p=p->left; }
if(p==NULL)return;
if(p->left==NULL){ //削除節点の左部分木が空の場合
if(p==q->left)q->left=p->right; //削除データが左部分木にある
else q->right=p->right; //削除データが右部分木にある
return; }
if((p->left==NULL)&&(p->right==NULL)){ //削除節点が葉の場合
if(p==q->left)q->left=NULL; //削除データが右部分木にある
else q->right=NULL; //削除データが左部分木にある
return; }
}
else puts("データは存在しません。");
return; }
ここまではできたのですが、場合分けの「削除するデータの左部分木、右部分木がからでない場合」
の実現の仕方がわかりません。再帰を使うにもどのように組み込めばいいのかわかりません。 このプログラムに組み込む形で、分かる人いましたら解答お願いします。
非再帰で出来上がるデータ構造と同じものになればいい、と考えればできるんじゃないか?
>>888 パラメータエラーってかいてるよ。
その下に使い方がかかれているよ。
903 :
◆QYp3PAZy.Y :2012/02/01(水) 22:15:43.91
>>900 非再帰でのやり方が分からないまま次の課題になってしまったので...
904 :
デフォルトの名無しさん :2012/02/01(水) 22:18:15.17
[1] 授業単元: プログラミング基礎 [2] 問題文(含コード&リンク): ある自然数nを入力させ、それ以下の素数をすべて表示するプログラムを作れ [3] 環境 [3.1] OS: Windows [3.2] コンパイラ名とバージョン:gcc [3.3] 言語: C [4] 期限:2012/2/2 12:00 [5] その他の制限: 特になし #include <stdio.h> int main(void) { int n,j,k; int l=0; scanf("%d",&n); for(j=2;j<=n;j++){ for(k=2;k<j;k++){ if(j%k==0){ l=1; } } if(l==0){ printf("%d\n", j); } } return 0; } こんな感じで作ったけどちゃんとできてなかった。改良お願いします
>>899 再帰関係ないな
insert(node *root,node *newNode); /* root に newNode挿入 *
get_parent(node *root,node *target); /* 親を取得、rootはNULL */
void delete(node *root,char n[]){
node* target, *p;
target = search(root,n);
if(target != NULL){
p = get_parent(root,target);
if( p != NULL ){ /* 親がいない場合 */ }
else if( p->left == target ){ p->left = NULL; }
else if( p->right == target ){ p->right = NULL; }
insert(root,target->left);
insert(root,target->right);
delete_memory(target);
}
else puts("データは存在しません。");
}
間違えた void delete(node *root,char n[]){ node* target, *p; target = search(root,n); if(target != NULL){ p = get_parent(root,target); if( p == NULL ){ /* 親がいない場合 */ } else if( p->left == target ){ p->left = NULL; } else if( p->right == target ){ p->right = NULL; } insert(root,target->left); insert(root,target->right); delete_memory(target); } else puts("データは存在しません。"); }
もしかして平衡木に近づける処理とか考えてわからないって言ってるのか? 宿題にそこまで求めてないと思うぞ
>>904 #include <stdio.h>
int
main(void)
{
int n, j, k;
printf("n = ");
scanf("%d", &n);
for (j = 2; j <= n; j++) {
for (k = 2; j % k; k++);
if (j == k)
printf("%d¥n", j);
}
return 0;
}
910 :
◆QYp3PAZy.Y :2012/02/01(水) 22:48:49.55
>>907 返答ありがとうございます。
insertというのは節点追加の関数ですよね?
あと、get_parent?の関数は作っていないのですがdelete内だけでなんとかならないでしょうか...
僕が作った関数は追加の関数と検索の関数のみです...
>>910 削除するのは葉ではなく見つかった節でいいんだよね?
それだと親ノードが必須なので、
その要件で再帰でdeleteするなら毎回searchって事になるよ
void *delete(node *root,char n[])
{
node *target;
target = search(root->right,n);
target = next != NULL ? next: search(root->left,n);
if( target == NULL ){
puts("データは存在しません。");
} else if( root->right == target ){
root->right = NULL;
} else if( root->left == target ){
root->left = NULL;
} else {
delete(target,n);
return;
}
insert(root,target->left);
insert(root,target->right);
delete_memory(target);
}
間違い… { node *target; target = search(root->right,n); target = target != NULL ? target: search(root->left,n);
何度もスレ汚しごめん void delete(node *root,char n[]) { node *target; target = search(root->right,n); target = target != NULL ? target: search(root->left,n); if( target == NULL ){ puts("データは存在しません。"); return; } else if( root->right == target ){ root->right = NULL; } else if( root->left == target ){ root->left = NULL; } else { delete(target,n); return; } insert(root,target->left); insert(root,target->right); delete_memory(target); }
914 :
◆QYp3PAZy.Y :2012/02/01(水) 23:18:26.55
>>911 ありがとうございます
示していただいたコードを貼ってもうまくいきません...
僕の作ったinsertの関数はこんな感じなのですが
なにか問題があるのでしょうか...
nは名前でtは電話番号です
node *insert(node *p,char n[],char t[])
{
if(p==NULL){ //NULLなら新ノードを挿入
p=(node *)malloc(sizeof(node)); //メモリ確保
strcpy(p->name,n);
strcpy(p->tel,t);
p->left=p->right=NULL; //新ノードの作成
}
else if(strcmp(n,p->name)<0) p->left=insert(p->left,n,t); //左に移動
else if(strcmp(n,p->name)>0) p->right=insert(p->right,n,t); //右に移動
else ;
return p;
}
ほんとごめん 意味不明なコードだこれ
916 :
◆QYp3PAZy.Y :2012/02/01(水) 23:38:53.86
>>915 いえ、ここまで考えてくださってありがとうございました
制約がよくわからないからとにかく書いたよ node* get_parent(node* root, node* target){ int c; if( !root || !target ){ return NULL; } if( root->left == target || root->right == target ){ return root; } c = strcmp(root->name,target->name); if( c == 0 ){ return NULL; } return get_parent( ( c < 0 ) ? root->left : root->right ,target); } node* insert_node(node* tree,node*node){ int c; if( !tree || !node ){ return NULL; } c = strcmp(root->name,target->name); if( c == 0 ){ return NULL; } if( c < 0 ){ if( tree->right == NULL ){ tree->right = node; } else { insert_node(tree->right,node); } else { if( tree->left == NULL ){ tree->left = node; } else { insert_node(tree->left,node); } } return NULL; }
酒入ってるとだめだこれ node* insert_node(node* tree,node*node){ int c; if( tree == NULL || node == NULL ){ return NULL; } c = strcmp(root->name,target->name); if( c == 0 ){ /* 競合 */; } if( c < 0 ){ if( tree->right == NULL ){ tree->right = node; } else { return insert_node(tree->right,node); } } else { if( tree->left == NULL ){ tree->left = node; } else { return insert_node(tree->left,node); } } return tree; }
919 :
◆QYp3PAZy.Y :2012/02/02(木) 00:14:26.14
>>908 いえ、宿題なのは二分探索木においての追加削除検索の関数を作れということなので
平衡木は考えてないです
920 :
◆QYp3PAZy.Y :2012/02/02(木) 00:18:40.10
>>918 ありがとうございます
今まで教えていただいたものすべて組み込むとtree3.1.c: In function `delete':
tree3.1.c:45: warning: assignment makes pointer from integer without a cast
tree3.1.c: In function `insert_node':
tree3.1.c:58: error: `target' undeclared (first use in this function)
tree3.1.c:58: error: (Each undeclared identifier is reported only once
tree3.1.c:58: error: for each function it appears in.)
tree3.1.c: At top level:
tree3.1.c:72: error: conflicting types for 'get_parent'
tree3.1.c:45: error: previous implicit declaration of 'get_parent' was here
とエラーが出るのですが...
923 :
◆QYp3PAZy.Y :2012/02/02(木) 01:47:35.78
>>921 ありがとうございました!
教えていただいたことも含めつつなんとか宿題が終わったのでよかったです、失礼しました
おれも二分探査釘の実装なんて宿題のあるとこ行ってみたいわ
>>905 よく見てないが、そのinsertは子を持つノードのinsertに対応してる前提?
と思ったけど、切り取ったノードはそのままの状態でどっかにぶら下がるはずだからいいのか。 スレ汚しスマソ
>>922 ん?
どこがわかっていないのか具体的に。
928 :
デフォルトの名無しさん :2012/02/02(木) 18:16:45.79
[1] 授業単元: C言語
[2] 問題文(含コード&リンク):文字列{"AbC","dEf","GhI","dEf"}のm行n列目からその行のo個の文字を抜き出す。
そして、その抜き出した文字列をASCIIコード順に並び変えなさい。m,n,oの値は自分で決めてよい。
[3] 環境
[3.1] OS: Windows
[3.2] コンパイラ名とバージョン: gcc
[3.3] 言語: C
[4] 期限:2月5日まで
[5] その他の制限: 標準ライブラリは使ってはいけない
自分で作ってみたのですが、実行できません。
http://codepad.org/E9kBRCZ7 よろしくお願いします。
>>928 Program received signal SIGSEGV, Segmentation fault.
0x080485de in ascii (a=0xbffff20e) at main.c:47
47 if(a[i][j]>a[i][j+1]){
jが初期化されてない
930 :
928 :2012/02/02(木) 18:51:31.10
>>929 jを初期化したら実行できました。あと45行目も間違ってましたね…
ありがとうございます。
>>927 書き方が初心者っぽいからじゃないの
面倒だから説明はしないけど
どう見ても
>>850 の仕様を満たしているようには見えない
あいかわらずだな
邪魔だから消えろよ
あんたがね
人に渡すならせめてEffectiveC++ぐらいの内容は理解してからにしようぜ…
ん、そうします。
どういう神経してんだろうなこいつは
>float型で x座標とy座標 初っ端のこんなことさえ守れないとかどうしようもないレベル 次スレのテンプレにはNG推奨って入れとけよ
float 使うのは馬鹿だから
942 :
デフォルトの名無しさん :2012/02/02(木) 23:34:41.19
ベクトル計算はfloatだろうよ そんなこともしらんのか
実行環境によるだろう? 普通にコード書いてfpu命令に展開されない(sseに展開される)例があるのか? fpu上でfloatとdoubleで速度差がないのにわざわざfloatを使う理由は? cuda/stream の話でもしたいのか?
仕様を無視してまでわざわざdoubleを使う理由は? それは実行環境によらないものなの?
しょうがないなら 生姜蒸し~
947 :
デフォルトの名無しさん :2012/02/03(金) 01:28:25.42
流体のキャビティはここで聞いたらいいの?
>>944 OpenGL使うだけでもfloat固定だっつの
わかりやすい自演だな
そもそも要件守るのは宿題以前のコミュニケーションの問題だろ
949 :
866 :2012/02/03(金) 01:52:11.23
>>879 たびたび、すみませn。
今回は、
>>encodedがまんまbitの表記だろ?
'0', '1'だけで表示してるだろ?
encoded_len = 1147
をbit数として書いておけばいいぞ。
ファイルを読み込んで、この部分だけ処理してくれるプログラムが必要なんです。
950 :
729 :2012/02/03(金) 02:14:03.67
それくらい作れよって話。
そこはさ、本当に簡単だからやろうと思えば自分で作れる。
作ろうとしろ。
hafmanの部分は難しいと思ったから作っちゃったんだよ。
>>442 の持ってきたのも難しかったし、
>>442 ,498みたいに理解しようとしてくれることを期待しつつね。
まあ、本当に理解してくれているのか実際の所は分からないけど。
しかし、
>>949 は他力本願すぎる。
俺は助けないから、他の奴に頼め。
修正
>>442 の持ってきたのも難しかったから、
理解しようとしてくれることを期待しつつ作ったんだ。
まあ、本当に理解してくれているのか実際の所は分からないけど。
>>949 の態度を見てこいつは助けるんじゃなかったと後悔。
あら、
>>951 を見ずに
>>952 を書いちゃった。
ごめんなさい。
本当に簡単な所なんだから、頑張って下さい。
954 :
671 :2012/02/03(金) 02:51:11.45
…だからこれまでの状況を知りたいと書いたんだよ。
955 :
671 :2012/02/03(金) 02:53:29.01
もう少しいうと、そろそろ年貢の納め時ってことね
卒業生がバカだと後輩が苦労する お前の将来よりも後輩の将来の方が大事だろ
>>948 >OpenGL使うだけでもfloat固定
→cuda/stream の話
ベクトル計算が理由ではなくて特定デバイス依存が理由なのでは?
毎回のように関係ない話題を引っ張るな
猿でも学習するのにお前等ときたら…。
このスレの住人にまともなコミュニケーションを期待する
>>948 が悪い