1 名前:デフォルトの名無しさん mailto:sage [2014/02/14(金) 23:26:43.67 ] あなたが解けないC言語/C++言語の宿題を片付けもらうスレッドです。 気に入らない質問やその他の発言はスルーの方向で。 「著作」「違法」「Qz」はNGワード推奨。 【質問者へ】 回答者の便宜のため、質問の際は以下を行うことを推奨します。 ・質問は【質問テンプレ】を利用してください。 >>2 以降にあります。 ・問題文は、出題されたまま全文を書いてください。 ・問題文やコードをリンクするときは、一言内容にについて説明をつけましょう。 ・計算問題は数式をあげ、どのような計算をするのか詳しく説明してください。 ・エラーは、その詳細と発生した行を書きましょう。エラーメッセージはコピペしてください。 ・後から問題に付け足しするのはコラー!!です。付け足しは作業を無駄にしがちです。 ・なりすましを防ぐため、トリップを使ってください。名前欄に、「#」に続けて任意の文字列を 入力して投稿すると、その文字列を知らない他人に騙られることを防ぐことができます。
2 名前:デフォルトの名無しさん mailto:sage [2014/02/14(金) 23:27:31.76 ] 【質問テンプレ】 [1] 授業単元: [2] 問題文(含コード&リンク): [3] 環境 [3.1] OS: (Windows/Linux/等々) [3.2] コンパイラ名とバージョン: (gcc 3.4 VC 6.0等) [3.3] 言語: (C/C++/どちらでも可 のいずれか) [4] 期限: ([yyyy年mm月dd日hh:mmまで] または [無期限] のいずれか) [5] その他の制限: (どこまで習っているか、標準ライブラリは使ってはいけない等々) 【アップローダー==ラウンジ】(質問が長い時はココ使うと便利 回答者もコードが長ければここに) s2.etowns.slyip.net/~c_cpp_homework/cgi-bin/joyful/joyful.cgi codepad.org/ ←遅い時間は重い事があります ideone.com/ pastebin.com/ ←たまにテンポるので上の2つが混んでいる時以外はなるべく使わないで下さい 【wiki】 www23.atwiki.jp/homework/ 前スレ C/C++の宿題片付けます 166代目 toro.2ch.net/test/read.cgi/tech/1381909900/
3 名前:デフォルトの名無しさん mailto:sage [2014/02/14(金) 23:28:24.24 ] テンプレここまで 【C 関数検索 man on WWW】【過去ログ検索】 の2つは使えなくなってたから外した 必要なら適当に補足して
4 名前:デフォルトの名無しさん [2014/02/15(土) 13:49:22.52 ] [1] 授業単元:プログラミング基礎 [2] 問題文(含コード&リンク): struct node {int elem;struct node *next;}; struct node *list; 問1、中央のセルのポインタを返す関数list midcell(list L)を定義してください。 条件は単方向リストで。また中央のセルとは末尾のセルを除いて考えセルの個数が 2N個の場合N番目のセルのことをいいます。 問2、連結リストLとその途中のセルのポインタMが与えられたとき 先頭LからMの直前のセルまでを切り離し順序を逆転させリストを返す関数 list revfR(list L,list M)を再帰関数で定義してください。 リストLは空でないと仮定します。また本問も単方向リストでお願いします。 問3、問2の機能を持つ関数list revf(list L,list M)を再帰関数を用いず定義してください よろしくお願いします。 [3] 環境 [3.1] OS: Linux [3.2] コンパイラ名とバージョン: gcc [3.3] 言語: C [4] 期限: 2/16(日) [5] その他の制限:
5 名前:デフォルトの名無しさん mailto:sage [2014/02/15(土) 15:48:02.91 ] >>4 ttp://ideone.com/3Q4Zdr
6 名前:デフォルトの名無しさん mailto:sage [2014/02/15(土) 17:39:58.46 ] >>5 問題文読み直せ
7 名前:デフォルトの名無しさん mailto:sage [2014/02/15(土) 20:32:23.24 ] 重複してしまいました。 こちらを使ってください。 toro.2ch.net/test/read.cgi/tech/1392388003/
8 名前:デフォルトの名無しさん mailto:sage [2014/02/16(日) 03:57:07.98 ] >>4 マルチポストは氏にましょう toro.2ch.net/test/read.cgi/tech/1390954735/417-426 あと、>>4 は list midcell(list L) の list は変数名だろ 根本的に解決は無理だぞ
9 名前:デフォルトの名無しさん mailto:sage [2014/02/16(日) 06:59:59.64 ] >4 ideone.com/mSe58A
10 名前:デフォルトの名無しさん mailto:sage [2014/02/17(月) 04:26:00.18 ] [1] 授業単元:統計分析 [2] 問題文(含コード&リンク): 確率分布が if(x < c) f(x) = ax + b else f(x) = ac + b (定数) という形であることが分かってる場合にサンプルデータから c を推定せよ [3] 環境 [3.1] OS: Linux [3.2] gcc 3.4? [3.3] 言語: どちらでも可 [4] 期限: 2/19(水) 24:00 [5] その他の制限: サンプルデータはこのタイプのデータはアップロードできませんっていわれたんですけど 200 18 255 230 18 402 250 18 269 210 14 189 150 54 723 : っていう感じで x 該当数 総数 が int型で改行で並んでるテキストファイルが与えられてます 単調増加の f(x) = ax + b の場合の推定方法は習ったんですが 途中で折れ曲がるグラフの場合にどうしたらいいのか分からなくて よろしくお願いします
11 名前:デフォルトの名無しさん mailto:sage [2014/02/17(月) 11:10:11.35 ] >>10 最小2乗法のように{ f(x[k]) - y(x[k]) }^2 を求めろってこと? それとも最良近似のように max | f(x[k]) - y(x[k]) | ってこと?
12 名前:デフォルトの名無しさん mailto:sage [2014/02/17(月) 18:20:13.61 ] >>11 リプありがとうございます 問題文に指定はなかったんですけど 直線グラフの場合に最小2乗法を習ったので最小二乗近似だと思います
13 名前:デフォルトの名無しさん [2014/02/17(月) 21:46:09.73 ] [2] wktcoder.blogspot.jp/2012/07/cstrcat.html の問題をaとbの文字列を受け取れるようにし、連結前と後を表示。 また、連結後の結果も表示する。 void my_strcat(char* str_a,char* str_b)を使用。 [3] 環境 [3.1] OS: Windows 7 [3.2] コンパイラ名とバージョン: Visual Stdio 2013 [3.3] 言語: C [4] 期限: 2/17 よろしくお願いします。
14 名前:デフォルトの名無しさん [2014/02/18(火) 10:03:24.34 ] どなたか>>13 お願いします
15 名前:デフォルトの名無しさん mailto:sage [2014/02/18(火) 10:40:30.73 ] 期限きれてますやん
16 名前:デフォルトの名無しさん mailto:sage [2014/02/18(火) 13:24:58.95 ] なんで2年前の問題をひっぱってくるのか 宿題じゃないのか
17 名前:デフォルトの名無しさん [2014/02/18(火) 17:35:52.94 ] >>15 期限は誤りです 今日までです >>16 たまたま同じ問題なので よろしくお願いします
18 名前:11 mailto:sage [2014/02/18(火) 19:59:00.97 ] >>10 typedef struct tagPoint{ int x; int y; }POINT; typedef struct tagPointList{ POINT* pDataAry; //メンバ変数 pDataAry の長さ int size; }POINTLIST; typedef struct tagLsmInfo{ //想定関数 f(x)=ax+b の係数 a 。 double dCoefA; //想定関数 f(x)=ax+b の係数 b 。 double dCoefB; /** 想定関数とデータの誤差の √ 平方和 => √ ( { y(x[k]) - f(x[k]) }^2 )。 即ち √ { σ(y) ( 1 - 相関係数^2 ) } と同じ値 */ double dSumError; }LSMINFO; /** 入力データから最小2乗法により想定関数 f(x)=ax+b の各係数と 想定関数と入力データの誤差の平方和の0.5乗の値を算出します。<br> つまり、引数 pRcv のすべてのメンバ変数に適切な値を設定します。<br> <b>未実装!大して難しくないから、自分で実装してね</b> @param pData : 入力データ @param pRcv : 計算結果の受け取りバッファ */ void calcLsmInfo(POINTLIST* pData, LSMINFO* pRcv);
19 名前:11 mailto:sage [2014/02/18(火) 20:02:12.76 ] /** 入力データをXの値が、指定値より大きいか、小さいかで2つに分けます。 @param pData : 入力データ @param borderX : 入力データを2分する境界値 @param pSmaller : 計算結果の受け取りバッファ @param pBigger : 計算結果の受け取りバッファ */ void splitData(POINTLIST* pData, int borderX, POINTLIST* pSmaller, POINTLIST* pBigger){ int i; pSmaller->size = pBigger->size = 0; for(i = 0; i < pData->size; i++){ if( pData->pDataAry[ i ] < borderX ){ pSmaller->pDataAry[ pSmaller->size++ ] = pData->pDataAry[ i ]; }else{ pBigger->pDataAry[ pBigger->size++ ] = pData->pDataAry[ i ]; } } }
20 名前:11 mailto:sage [2014/02/18(火) 20:03:10.71 ] /** f(x)=ac+b と入力データの誤差の平方和の0.5乗の値の総和を計算します。 @param pData : 入力データ @param iTheC : f(x)=ac+b の c の値 @param pFuncInof : 想定関数の情報 @return double : 計算結果。 */ double calcErrOnHL(POINTLIST* pData, int iTheC, LSMINFO* pFuncInfo){ double dBuffer, dTmp; int i; dBuffer = 0.0; for(i = 0; i < pData->size; i++){ //ac + b dTmp = iTheC * pFuncInfo.dCoefA + pFuncInfo.dCoefB; //y(x[k]) - f(x[k]) = y(x[k]) - { ac + b } dTmp -= pData->pDataAry[ i ]->y; dTmp *=dTmp; dBuffer += dTmp; } return sqrt( dBuffer ); }
21 名前:11 mailto:sage [2014/02/18(火) 20:08:29.27 ] 長過ぎてエラーが出るから2回に分けるよ。 /** 設問を解決する関数。 再急降下法で iCMax から iCMin に近づく方向で iTheC を推定する @param pInputData : 入力データ @param iCMax : データを分ける f(x)=ac+b の c の値の取り得る最大値 @param iCMin : データを分ける f(x)=ac+b の c の値の取り得る最小値 @param iSeepestDecentValue : 再急降下法で使用する最大傾斜の値。0 より大きくなければいけません。 @return int : 答えとなるデータを分ける f(x)=ac+b の c の値。 算出不可能なときは iCMin より小さい値を返します。 */ int solveHomework(POINTLIST* pInputData, int iCMax, int iCMin, int iSeepestDecentValue){ double dPrevErr, dCurErr; POINTLIST vSmallerList, vBiggerList; LSMINFO lsmInfo; int iTheC, iDiggingVal; iTheC = iCMax; iDiggingVal = iSeepestDecentValue; vSmallerList.pDataAry = (POINTLIST*)malloc( sizeof(POINTLIST)* pInputData->size ); vBiggerList.pDataAry = (POINTLIST*)malloc( sizeof(POINTLIST)* pInputData->size ); splitData( pInputData, iTheC, &vSmallerList, &vBiggerList ); calcLsmInfo( &vSmallerList, &lsmInfo ); //小さい方の想定関数 ax+b とデータの誤差の√平方和 dPrevErr = lsmInfo->dSumError; //大きいの想定関数 ac+b とデータの誤差の√平方和 dPrevErr += calcErrOnHL( &vBiggerList, iTheC, &lsmInfo );
22 名前:11 mailto:sage [2014/02/18(火) 20:10:45.93 ] //前とのツナギ目 //大きいの想定関数 ac+b とデータの誤差の√平方和 ////ツナギ目ツナギ目 //dPrevErr += calcErrOnHL( &vBiggerList, iTheC, &lsmInfo ); //想定関数とデータの誤差の√平方和 が最も小さくする iTheC を再急降下法で探す while( 0 < iDiggingVal ){ iTheC -= iDiggingVal; //入力データをXの値が iTheC より大きいか、小さいかで2つに分けます。 splitData( pInputData, iTheC, &vSmallerList, &vBiggerList ); //小さい方で最小2乗法 calcLsmInfo( &vSmallerList, &lsmInfo ); //小さい方の想定関数 ax+b とデータの誤差の√平方和 dCurErr = lsmInfo->dSumError; //大きいの想定関数 ac+b とデータの誤差の√平方和 dCurErr += calcErrOnHL( &vBiggerList, iTheC, &lsmInfo ); if( dPrevErr <= dCurErr ){ iTheC += iDiggingVal; iDiggingVal /= 2; }else{ dPrevErr = dCurErr; } if( iTheC < iCMin ){ break; } } free( vSmallerList.pDataAry ); free( vBiggerList.pDataAry ); return iTheC; }
23 名前:10 mailto:sage [2014/02/19(水) 00:51:01.38 ] >>18-22 ありがとうございます まだ読んでないんですけどとりあえずお礼だけ 明日じっくりよませていただいて再度書き込みしにきます!
24 名前:デフォルトの名無しさん [2014/02/20(木) 09:41:49.48 ] >>13
25 名前:11 mailto:sage [2014/02/20(木) 15:57:23.95 ] >>10 読み返したら結構単純なミスが多いな アルゴリズムはOKだと思うけど実際にレポートに使用できた?
26 名前:デフォルトの名無しさん mailto:sage [2014/02/21(金) 01:55:16.09 ] >>25 結局昨日時点ではよくわからなかったので提出起源あきらめました>< せっかくといていただいたのにすいません いずれにしても遅れてもださないと単位こないので今考えてるところなんですけど 入力データの y 座標を何にすべきなのか分からなくて 該当したかどうかなので y 座標は 0 と 1 とみるべきなんですよね… あと C++ は基本的なことはならったんですけどプリミティブな関数しか使えなくて ファイル読み込みの時の文字列のパーズが面倒だったので solver の関数だけかりて Java でかきなおしてしまいました とりあえず自分で calcLsmInfo を実装して メイン関数でデータの読み込みと solver の呼び出しをしてるだけなんですが なぜか実行結果が -3850 っていう負の値になってしまいました… solver を呼び出すときの初期値がまずいんでしょうか… codepad.org/fBWf1Hp5
27 名前:デフォルトの名無しさん mailto:sage [2014/02/21(金) 01:56:46.67 ] C/C++のスレなのにスレチになってしまって申し訳ありません 課題に言語指定がとくになくて Perl や Java でもかまわないみたいで…
28 名前:デフォルトの名無しさん mailto:sage [2014/02/21(金) 04:20:01.59 ] >45行目 if(data.data[i].x < border_x) //ここは間違えてて、ゴメンなさい。m(_ _)m >100, 115行目 × //大きい の想定関数 ac+b とデータの誤差の√平方和 >100, 115行目 ○ //大きい方の想定関数 ac+b とデータの誤差の√平方和 //ここも間違えてて、ゴメンなさい。m(_ _)m //159行目より修正 int max_x = Integer.MIN_VALUE; int min_x = Integer.MAX_VALUE; int iSeepestDecentValue; while((line = br.readLine()) != null) { StringTokenizer st = new StringTokenizer(line); int x = Integer.parseInt(st.nextToken()); int n = Integer.parseInt(st.nextToken()); int sum = Integer.parseInt(st.nextToken()); for(int i = 0; i < n; i++) data.add(new Point((double)x, 1.0)); for(int i = 0; i < sum - n; i++) data.add(new Point((double)x, 0.0)); if(x > max_x) max_x = x; //修正 if(x < min_x) min_x = x; } PointList input_data = new PointList(data); //修正 //再急降下法で使用する最大傾斜の値。0 より大きくなければいけません。 iSeepestDecentValue = ( max_x - min_x ) / 100; iSeepestDecentValue = ( 0 >= iSeepestDecentValue ) ? 1 : iSeepestDecentValue; System.out.println(solve(input_data, max_x, min_x, iSeepestDecentValue));
29 名前:11 mailto:sage [2014/02/21(金) 04:27:24.98 ] >>27 >>28 は俺ね。 取り敢えず見つけてバグを修正してみたけど。 ところで if(x<c)...略 の c って int型でいいのかい? 再急降下法はまだ習ってなかった?そうだったら使用してしまってゴメンなさい。
30 名前:11 mailto:sage [2014/02/21(金) 05:01:29.98 ] 追記 //前とのツナギ目 //大きいの想定関数 ac+b とデータの誤差の√平方和 ////ツナギ目ツナギ目 //dPrevErr += calcErrOnHL( &vBiggerList, ithe_c, &lsmInfo ); 103,104のコメントは不要。俺の書き方が悪かった。 2回に分けたから、繋ぎ目が分かるようにしたつもりだったんだが…。 >106 × //想定関数とデータの誤差の√平方和 が最も小さくする ithe_c を再急降下法で探す >106 ○ //想定関数とデータの誤差の√平方和 を最も小さくする ithe_c を再急降下法で探す データファイルのフォーマットが分からないから何ともいえないが Pointとして捉えるデータ方式が間違っているような悪寒が俺はするんだが >該当したかどうかなので y 座標は 0 と 1 と ではなく、通常は、この手の問題は、入力は X値,Y値 [改行] ってのがN行あるCSVファイルだと思うんだが。 >200 18 255 >230 18 402 >250 18 269 >210 14 189 >150 54 723 >: >っていう感じで >x 該当数 総数 と、言うのならば 200 0.0705882(=18/255) 230 0.0447761(=18/402) 250 0.0520446(=14/189) 150 0.0746888(=54/723) : じゃないだろうか?
31 名前:デフォルトの名無しさん [2014/02/21(金) 06:32:11.11 ] [1] プログラミング言語 入門 [2] 変数を入力して、入力された値と以下の条件を満たした値を表示する 1 : 6の倍数なら2で割った値 2 : 3の倍数なら二乗した値 3: 2の倍数なら2で割った値 4: 上記以外の倍数は、二乗した値から元の値を引いた値 ☆ 複数の条件が合致した場合は大きい倍数の条件のみとする ☆ 自作で関数を1つは作成する なにとぞよろしくお願いします。 [3] 環境 [3.1] OS: Windows 7 [3.2] コンパイラ名とバージョン: Visual Stdio 2010 [3.3] 言語: C [4] 期限: 2/22
32 名前:デフォルトの名無しさん [2014/02/21(金) 06:37:30.54 ] >>31 1の条件を訂正させてください。 正 1 : 6の倍数なら2で割った値を二乗した値 です。
33 名前:11 mailto:sage [2014/02/21(金) 17:07:22.83 ] >>27 まだ修正箇所があった。スマンm(_ _)m -- 152行目 -- lsm_info.sum_error = buf; lsm_info.sum_error = java.Math.sqrt( buf ); ×再急降下法 ○最急降下法
34 名前:11 mailto:sage [2014/02/21(金) 17:22:26.78 ] >>32 改行が多すぎでエラーが出たから体裁が無茶苦茶なのは勘弁な int solve(int inputValue){ int iBuffer; //1 : 6の倍数なら2で割った値を二乗した値 iBuffer = inputValue % 6; if( 0 == iBuffer ){ iBuffer = inputValue / 2; return ( iBuffer * iBuffer ); }else{ //2 : 3の倍数なら二乗した値 iBuffer = inputValue % 3; if( 0 == iBuffer ){ return ( inputValue * inputValue ); }else{ //3: 2の倍数なら2で割った値 iBuffer = inputValue % 2; if( 0 == iBuffer ){ return ( inputValue / 2; ); } } } //4: 上記以外の倍数は、二乗した値から元の値を引いた値 iBuffer = inputValue * inputValue - inputValue; return iBuffer;} int main(int argc, char* argv[]){ int iBuffer; printf( "Input Number : " ); scanf( "%d", &iBuffer ); solve( iBuffer ); return 0;}
35 名前:11 mailto:sage [2014/02/21(金) 17:27:27.90 ] >>32 最後の行が間違ってた ×: solve( iBuffer ); return 0;} ○: printf( "Anser %d\n", solve( iBuffer )); return 0;}
36 名前:デフォルトの名無しさん mailto:sage [2014/02/21(金) 20:35:58.88 ] >>35 訂正後もスペル間違ってる ×Anser ○Answer
37 名前:デフォルトの名無しさん [2014/02/22(土) 08:32:55.51 ] >>34-36 ありがとうございます。 特にコンパイラでエラーは出ないんですが、実際Visual Stidioで起動しCmdに入力すると表示されませn。 よかったら見ていただいてもいいですか? ideone.com/uoAvzm
38 名前:11 mailto:sage [2014/02/22(土) 12:22:49.56 ] >>37 36!=11な Linux+gccでは問題無く動作した。 ここ数年は Visual Studio は触ってないから確かなことは言えないけど ビルドして「実行」とかいうボタンを押すと、DOSプロンプトが立ち上がって ”Input Number : ”ってコードで書いてあるとおりに入力を催促表示すると思うけど。 違っていたら Visual Studio スレで聞いてみて
39 名前:デフォルトの名無しさん mailto:sage [2014/02/23(日) 02:02:52.36 ] >>37 エスパーするとCtrl+F5
40 名前:13 [2014/02/24(月) 09:56:37.62 ] 自分なりにやってみたのですが、どうもうまくいきません。 修正していもらってもいいでしょうか? ideone.com/jAceXa
41 名前:デフォルトの名無しさん mailto:sage [2014/02/24(月) 10:26:11.23 ] >>38 アドバイスありがとうございます >>39 cmd自体は出ますが、入力して結果が表示される前に消えてしまいます
42 名前:デフォルトの名無しさん mailto:sage [2014/02/24(月) 12:53:30.92 ] >>40 3箇所誤り見つけた。 19行目の返り値 28行目、30行目の変数の渡し方 >>41 正常終了して画面が消えただけ。 main関数のreturn直前にsystem("pause");入れてみ。
43 名前:デフォルトの名無しさん mailto:sage [2014/02/24(月) 19:26:19.56 ] >>41 6行目の空白行に char* pHead = str_a; とおいて、19行目の戻り値を pHead に変えてみる >>42 >main関数のreturn直前にsystem("pause");入れてみ。 これよりはreturn直前にprinf("Input any key to quit. "); scanf("%s",&a);で ダミーの入力受付の方が初心者向けじゃね。 まあ、どっちでもいいけどさ
44 名前:デフォルトの名無しさん mailto:sage [2014/02/24(月) 19:40:08.91 ] >>43 人にコメントできないくらい色々ミスってるぞ
45 名前:デフォルトの名無しさん mailto:sage [2014/02/24(月) 20:44:34.51 ] >>44 だっていちいちコンパイルするのが面倒いだもん(/ω\)ハズカシーィ
46 名前:デフォルトの名無しさん mailto:sage [2014/02/24(月) 21:39:40.32 ] >>45 安価ミスは気づいてないのかな? また、以下3点の理由で、42の勝ち 標準入力にゴミデータがあったら停止しない charの配列が必須 バッファオーバーフローの可能性
47 名前:デフォルトの名無しさん mailto:sage [2014/02/25(火) 02:13:38.46 ] >>41 おまえ>>39 試してないだろ
48 名前:デフォルトの名無しさん mailto:sage [2014/02/25(火) 09:05:21.57 ] >>47 VC2010では効かないみたいだが?
49 名前:デフォルトの名無しさん [2014/02/26(水) 23:20:13.15 ] またできない人が偉そうに回答してるのか
50 名前:デフォルトの名無しさん mailto:sage [2014/02/27(木) 09:44:24.68 ] このスレは全大学の教授に監視されています
51 名前:デフォルトの名無しさん mailto:sage [2014/02/27(木) 10:15:49.27 ] >>50 しっかりした答えを書く責任があるということですね。
52 名前:11 [2014/02/27(木) 13:49:06.50 ] >>50 vimの練習のために、お題に答えていた俺は逝ってよしなんですか?
53 名前:デフォルトの名無しさん mailto:sage [2014/02/27(木) 15:39:54.56 ] vim script, elisp入門の講義にしたら良いのに
54 名前:デフォルトの名無しさん mailto:sage [2014/02/27(木) 17:42:07.54 ] このスレは全大学の情報学科出身の派遣社員が生暖かい目で見守っています
55 名前:デフォルトの名無しさん mailto:sage [2014/02/27(木) 18:04:29.58 ] 田舎大学のアホ教授なんて全員、クビにして然るべき
56 名前:デフォルトの名無しさん [2014/02/27(木) 18:37:03.61 ] と奴隷が申しております。
57 名前:デフォルトの名無しさん mailto:sage [2014/02/27(木) 18:39:07.28 ] 派遣先輩の忠告は聞くべき。 卒業式の日に、お礼参りに角材で殴ったりしちゃダメだぞ☆
58 名前:デフォルトの名無しさん mailto:sage [2014/02/28(金) 00:59:43.82 ] こいつには単位あげない
59 名前:11 mailto:sage [2014/02/28(金) 01:02:03.01 ] 情報学科出身ではない、 派遣社員ではない、 そんな俺は逝ってよし!なんですか
60 名前:デフォルトの名無しさん [2014/02/28(金) 05:19:23.69 ] >>59 誰だよお前
61 名前:11 mailto:sage [2014/02/28(金) 05:30:23.48 ] >>59 このスレで11を獲った人 そういうお前こそ誰なのよ?
62 名前:デフォルトの名無しさん mailto:sage [2014/02/28(金) 17:01:34.27 ] ニートです
63 名前:デフォルトの名無しさん mailto:sage [2014/02/28(金) 17:27:31.44 ] >>31 fizzbuzzだな。 #include <stdio.h> static int sqr(int n) { return n * n; } static int div(int n) { return n / 2; } int main(void) { int n, t; scanf("%d", &n); t = n; if (n % 2 == 0) n = div(n); if (n % 3 == 0) n = sqr(n); if (t == n) n = sqr(n) - t; printf("%d\n", n); return 0; }
64 名前:デフォルトの名無しさん mailto:sage [2014/02/28(金) 19:32:57.19 ] QZがまた糞回答をした
65 名前:デフォルトの名無しさん mailto:sage [2014/02/28(金) 23:02:55.60 ] >>34 よりはいいんじゃないの?
66 名前:デフォルトの名無しさん mailto:sage [2014/02/28(金) 23:20:58.87 ] >>65 お前>>63 だろ 仕様に適合してないことに気が付いてるか?
67 名前:デフォルトの名無しさん mailto:sage [2014/02/28(金) 23:30:57.53 ] 今流行のラムダ式でおね
68 名前:デフォルトの名無しさん mailto:sage [2014/02/28(金) 23:37:29.74 ] 今でしょ
69 名前:デフォルトの名無しさん mailto:sage [2014/03/01(土) 02:06:27.01 ] >>66 適合しない入力を教えて。
70 名前:デフォルトの名無しさん mailto:sage [2014/03/01(土) 05:46:08.96 ] >>64 末尾に /* end */ がない
71 名前:デフォルトの名無しさん mailto:sage [2014/03/01(土) 12:59:38.44 ] >>69 全ての入力
72 名前:デフォルトの名無しさん mailto:sage [2014/03/01(土) 13:42:51.65 ] >>69 入力値が6のとき、答えはいくつになればいいと思う?
73 名前:69 mailto:sage [2014/03/01(土) 16:38:35.00 ] ママーみんながボクをいじめるよ〜(´Д⊂ヽ >>34 のドキュソよりも、いいコードを貼り付けてやったのに 間違ってるって、言いがかりを付けてくるんだ〜
74 名前:デフォルトの名無しさん mailto:sage [2014/03/02(日) 21:42:17.10 ] #include <iostream> int main() { int n; std::cin >> n; std::cout << ([&](){ return !(n % 2) ? n / 2 : !(n % 3) ? n * n : n * n - n; })() << std::endl; return 0; }
75 名前:デフォルトの名無しさん mailto:sage [2014/03/02(日) 21:44:02.95 ] あ、違った。
76 名前:デフォルトの名無しさん mailto:sage [2014/03/02(日) 21:45:29.90 ] QZ渾身の糞コード
77 名前:デフォルトの名無しさん [2014/03/02(日) 22:00:01.85 ] >>76 main; /* end */
78 名前:デフォルトの名無しさん [2014/03/04(火) 17:45:25.55 ] 誰か助けて
79 名前:デフォルトの名無しさん [2014/03/04(火) 17:51:14.19 ] 誰か助けてください。お願いします。 来週に似たような問題の試験があるので解説付きだと嬉しいです。 now.ameba.jp/x12xxxy24x 出力しろってやつは無視しておkでっす。
80 名前:デフォルトの名無しさん mailto:sage [2014/03/04(火) 22:26:50.67 ] >>79 URLをちゃんと記述してくれ、クリックして出ない URL なんか誰も見ない
81 名前:デフォルトの名無しさん [2014/03/04(火) 22:31:45.84 ] >>80 俺見たよ。レベル低くてリンク張れないんだろ、察しろよ雑魚。
82 名前:デフォルトの名無しさん [2014/03/05(水) 06:25:33.74 ] >>81 俺見ないよ。レベル低くて見る気が起きないんだよ、察しろよ雑魚。
83 名前:デフォルトの名無しさん [2014/03/05(水) 06:28:11.60 ] >>82 だったら出てけよ
84 名前:デフォルトの名無しさん [2014/03/05(水) 06:34:23.08 ] 忍法帖も知らないにわかが偉そうにURLがどうとかw マジ糞だなこいつ>>80
85 名前:デフォルトの名無しさん mailto:sage [2014/03/05(水) 07:42:31.67 ] >>79 見れるけど Nexus7で見てるから 画像の文字が読み取れん
86 名前:デフォルトの名無しさん [2014/03/05(水) 11:43:25.52 ] >>79 問2 (1)(a)2 出力の第2項がyの初期値 (b)x+y (a)の答えと出力の3項から (2)BとD 問3 (1) (a)int cnt=0; 初期値0必要 (b)cnt (c)"%sは%d文字です。\n",str,strcnt(str) (2)for(;s[cnt]!='\0';cnt++){/*何もしない*/};
87 名前:デフォルトの名無しさん [2014/03/05(水) 11:45:29.08 ] >>79 続き 問4(1) #include <stdio.h> typedef struct{ int x, y; } Pt; Pt swap(Pt p){ Pt ret; /* 戻り値 */ ret.x=p.y; ret.y=p.x; return ret; } (2) int main(void){ unsigned int i; Pt p; Pt array[]={{-1,1},{1,0},{0,-1}}; for(i=0;i<sizeof(array)/sizeof(Pt);i++){ printf("入替前:(%d, %d)\n", array[i].x, array[i].y); p = swap(array[i]); printf("入替後:(%d, %d)\n", p.x, p.y); } return 0; }
88 名前:デフォルトの名無しさん [2014/03/05(水) 11:47:33.89 ] >>79 続き 問5 自信無い、誰か教えて。 #include <stdio.h> int main(){ int *x = /*空欄*/ x += 5; printf("%X\n", x); return; /* 出力:19 の時 空欄を埋めよ */ } intが2byteなら,int *x=15; intが4byteなら,int *x=5; で、一意には決まらない? あと、ポインタ型を数値で初期化していいの?
89 名前:デフォルトの名無しさん [2014/03/05(水) 11:49:38.79 ] >>79 続き 問6(2) #include <stdio.h> #include <string.h> void freverse(char* c){ int n = strlen(c); /* 'H','e','l','l','o','\0' で n=6*/ while(n>0){ printf("%c", c[--n]); /* [--n]:変数の値を使う前に-1するので n[5]からn[0]まで出力 */ } printf("\n"); } int main(){ char* c = "Hello"; /* c[0]='H',c[1]='e',c[2]=l,c[3]=l,c[4]=o,c[5]=w,c[6]='\0' */ freverse(c); return 0; } 問7 最後が見えないのでよく分からん。
90 名前:86 [2014/03/05(水) 14:01:17.39 ] >>79 ごめん、訂正。strlenの戻り値間違えた。 問6(2) #include <stdio.h> #include <string.h> void rev_1(char* c){ int n = strlen(c); /* 'H','e','l','l','o' で n=5*/ while(n>0){ printf("%c", c[--n]); /* [--n]:変数の値を使う前に-1するので n[4]からn[0]まで出力 */ } printf("\n"); } /* 出力: olleH */ int main(){ char* c = "Hello"; /* c[0]='H',c[1]='e',c[2]=l,c[3]=l,c[4]=o,c[5]=w,c[6]='\0' */ rev_1(c); return 0; }
91 名前:86 [2014/03/05(水) 14:09:55.83 ] >>79 又間違えた。>>90 mainの中のコメント /* c[0]='H',c[1]='e',c[2]=l,c[3]=l,c[4]=o,c[5]=w,c[6]='\0' */ じゃなく、 /* c[0]='H',c[1]='e',c[2]=l,c[3]=l,c[4]=o,c[5]='\0' */ だわ。
92 名前:デフォルトの名無しさん mailto:sage [2014/03/05(水) 19:22:58.10 ] >>79 int main(){ Pinfo ps[] = {{"taro",M},{"hanako",F},{"saburo"←この行が切れてて解答できません printPerson(ps); return 0; } これで合ってる? Pinfo ps[] = {{"taro",M},{"hanako",F},{"saburo",M},{"",E}};
93 名前:デフォルトの名無しさん mailto:sage [2014/03/07(金) 03:35:58.03 ] [1] 授業単元:プログラミング応用 [2] 問題文(含コード&amp;リンク): 10×10のグラフにおいて、直接接続されたノード間のエッジの距離を1から10までの整数から無作為に選択した値、接続のないノード間の距離を無限大(実際には99999など)としてそれぞれ与え、配列などのデータ構造に記憶させる。 上記で作成したネットワークの任意のノードから、それ以外のすべてのノードまでの距離と経路をDijkstra法を用いて求め、表示する。 [3] 環境 [3.1] OS: Windows [3.2] コンパイラ名とバージョン: Borland c++ 5.5.1 [3.3] 言語: c++ [4] 3/8(土)
94 名前:デフォルトの名無しさん mailto:sage [2014/03/07(金) 07:59:32.77 ] すみません、93の言語を修正させてください。 [3.3]言語c++ → c でお願いします。
95 名前:93 mailto:sage [2014/03/07(金) 11:44:08.01 ] >>94 勝手になりすますのは止めてください
96 名前:デフォルトの名無しさん mailto:5000モリタポでQZスレだね [2014/03/07(金) 19:28:49.68 ] >>93 糞レベルなこのスレで回答がつくとでも思っているのか?
97 名前:93 mailto:sage [2014/03/07(金) 19:36:20.18 ] お前ら、これくらいしか能が無いんだから、さっさと答えろ
98 名前:86 [2014/03/07(金) 20:51:32.26 ] >>93 初心者だけど練習で書いてみた。(リンク禁止なのでコピペで) ideone.com/PUYFar 隣接行列の作成はかなりええかげんに書いたのでそこらはもっといいのに書き換えて。 俺には出来んかった。
99 名前:デフォルトの名無しさん [2014/03/08(土) 05:55:58.24 ] >>93 用語適当すぎ 10×10のグラフって何や、完全二部グラフか?
100 名前:デフォルトの名無しさん mailto:sage [2014/03/08(土) 10:58:25.67 ] 知らないんならレスしないでください
101 名前:デフォルトの名無しさん mailto:sage [2014/03/08(土) 20:22:58.33 ] ここでお願いをする人間は、これらが必要だよな a. トリップを付ける。 b. 回答を受け取ったら感謝と報告を含んだ返答を書き込む。 c. E-mail欄は sage ではなく age 。
102 名前:デフォルトの名無しさん [2014/03/08(土) 20:27:51.06 ] >>101 勝手にやってろよバーカ
103 名前:デフォルトの名無しさん [2014/03/08(土) 20:29:53.38 ] ろくに答えられない分際でルール作りにばかり力入れるやついるよなw まずお前が出て行けとw
104 名前:デフォルトの名無しさん mailto:sage [2014/03/08(土) 20:45:52.87 ] こういう宿題は解いても載せない
105 名前:デフォルトの名無しさん mailto:sage [2014/03/08(土) 20:52:30.65 ] カス大生の問題は解いても掲載しない
106 名前:デフォルトの名無しさん [2014/03/08(土) 21:05:29.08 ] >>105 解けないバカが妄想語ってんじゃねえよカスw
107 名前:デフォルトの名無しさん mailto:sage [2014/03/08(土) 21:12:57.85 ] やったー! 煽るしか人間として能がないDQN(=暇潰し玩具)が降臨したぞー! >>105 さん、自分ここで回答してしまったバカです。 何かコメントくださいw
108 名前:デフォルトの名無しさん mailto:sage [2014/03/08(土) 21:41:19.18 ] 謎の勝利宣言
109 名前:デフォルトの名無しさん mailto:sage [2014/03/08(土) 21:45:00.41 ] 団塊世代のジジイ共をのさばらせないためにも、 ゆとりのクズ大生は甘やかしてはいけない
110 名前:デフォルトの名無しさん mailto:sage [2014/03/08(土) 21:46:22.94 ] だね 自分で調べる力を身に着けさせよう
111 名前:デフォルトの名無しさん mailto:sage [2014/03/08(土) 21:47:14.41 ] >>106 同様の問題をPrologで出されたわ c++とか1,2時間も掛からないだろ
112 名前:デフォルトの名無しさん mailto:sage [2014/03/08(土) 22:47:23.40 ] >>103 そうそう、wikipedia や wikisource をちょこちょこ書いているが、やたらとルール作りが好きな連中が多いね、あそこは
113 名前:101 mailto:sage [2014/03/08(土) 23:03:39.68 ] >>112 そうそう、このスレでちょこちょこ回答しているが、やたらと煽る以外脳がない低脳と同類の連中が多いね、ここは
114 名前:デフォルトの名無しさん mailto:sage [2014/03/09(日) 14:55:55.26 ] 現在プログラム板のID制導入の投票を実施中です よろしくお願いします プログラム板 強制ID制導入に関する投票スレ kohada.2ch.net/test/read.cgi/vote/1394290844/
115 名前:デフォルトの名無しさん mailto:sage [2014/03/11(火) 23:51:43.13 ID:CqsIcYOw] IDが表示されるようになりました。 ありがとうございました。
116 名前:デフォルトの名無しさん [2014/03/12(水) 22:55:36.30 ID:IkRDHIrE] [1] プログラミング言語 C [2] ・ 指定したファイルに文字列を行数を指定して挿入するプログラム(ファイル名と位置,挿入する文字列を入力できるようにする) ・ また、上記のプログラムを直して文字列を挿入する場所を行だけでなく列も指定できるようにせよ。(まずは半角だけでよい) [3] 環境 [3.1] OS: Windows Vista [3.2] コンパイラ名とバージョン: Visual C++ [3.3] 言語: C [4] 期限: 3月14日 最近勉強を始めたんですが、ファイルの取り扱いでかなり苦戦しています。 どなたかよろしくお願いします。 上の方が使っていたWebのコンパイラも置いておきます。 ttp://ideone.com/
117 名前:デフォルトの名無しさん mailto:sage [2014/03/12(水) 23:12:56.68 ID:AZrAiCEG] 自分で調べろゴミ
118 名前:デフォルトの名無しさん [2014/03/13(木) 03:17:23.49 ID:9GIXFBoB] >>117 何でこのスレくるのかわからんw
119 名前:デフォルトの名無しさん [2014/03/13(木) 03:18:17.41 ID:9GIXFBoB] >>116 2つ作れば良いのかな?
120 名前:デフォルトの名無しさん mailto:sage [2014/03/13(木) 07:15:19.11 ID:vtBqfgev] >>118 春休みだもん 煽り目的の馬鹿が涌くいて出てくる時期だろ
121 名前:デフォルトの名無しさん mailto:sage [2014/03/13(木) 10:12:57.55 ID:u5puOzBI] uyじゃないか? IDが出てさぞ荒らしにくくなってるだろうなあザマアww
122 名前:デフォルトの名無しさん mailto:sage [2014/03/13(木) 11:23:25.78 ID:ZLHpPjTL] 最近勉強を始めたんですが、ファイルの取り扱いでかなり苦戦しています。 どなたかよろしくお願いします。 上の方が使っていたWebのコンパイラも置いておきます。 こいつ馬鹿だろ。この程度で苦戦とか本の読みこみが足りなすぎ
123 名前:デフォルトの名無しさん mailto:sage [2014/03/13(木) 12:37:29.72 ID:ZSiSFjs+] >>116 > ファイルの取り扱いでかなり苦戦しています。 どこまでできてるんだよ?
124 名前:デフォルトの名無しさん mailto:sage [2014/03/13(木) 12:46:21.85 ID:ZLHpPjTL] 自分の能力も明示せず問題丸投げで回答を求める これ質問できない馬鹿の見本
125 名前:デフォルトの名無しさん mailto:sage [2014/03/13(木) 13:06:01.24 ID:8C61XcI9] >>116 何か変なのが一匹居るけど、無視で良いよ。 初心者スレでしか暴れられない可哀想な人だから。
126 名前:デフォルトの名無しさん mailto:sage [2014/03/13(木) 13:11:59.33 ID:ZLHpPjTL] >>125 自己顕示欲で糞回答しろよ 糞コードを見せろQZ
127 名前:デフォルトの名無しさん mailto:sage [2014/03/13(木) 14:45:54.07 ID:Lb6ZNCgf] IDが表示されるのと、この宿題スレをやめる問題は全く無関係な話 このスレはこのまま続ければいい ただ質問する奴は大学側にバレバレなんで、それで単位を落としてもこのスレを逆恨みすんな そんな大事な単位なら安易に問題を晒すな
128 名前:デフォルトの名無しさん mailto:sage [2014/03/13(木) 17:42:43.90 ID:ZLHpPjTL] 素タップ細胞のコピペ事件知ってるならここで質問するのやめとけ
129 名前:デフォルトの名無しさん [2014/03/13(木) 18:06:13.94 ID:jln8hkaw] 質問者でもないのに必死になっている奴いて、ワロタ
130 名前:デフォルトの名無しさん mailto:sage [2014/03/13(木) 18:34:58.05 ID:qaG+7LaQ] ファイルやストリームもろくに調べることのできないクズが居ると聞いて
131 名前:デフォルトの名無しさん mailto:sage [2014/03/13(木) 18:56:25.95 ID:6bFdP97U] 春休み真っ盛りだな 煽り目的のDQNがバカ丸出し♪ うーん、この低脳っぷりが芳ばすい〜(゜∇^d)!!
132 名前:デフォルトの名無しさん mailto:sage [2014/03/13(木) 19:29:50.99 ID:ZLHpPjTL] この質問者クズすぎだろ
133 名前:デフォルトの名無しさん mailto:sage [2014/03/13(木) 19:32:39.03 ID:eWE/omsK] ID:ZLHpPjTLの必死さにワロタ
134 名前:デフォルトの名無しさん mailto:sage [2014/03/13(木) 19:59:13.76 ID:ZLHpPjTL] >>131 じゃあお前が>>116 の能無し馬鹿にお手本となるコードを書いてやれよ
135 名前:131 ◆GccdMSkjmA mailto:sage [2014/03/13(木) 20:29:33.60 ID:6bFdP97U] 本日22:00までに>>116 からお願いのカキコが あったらやったるわ
136 名前:デフォルトの名無しさん [2014/03/13(木) 21:30:42.10 ID:1FOo5v5s] C言語なんですけど void swap(int *x int *y) int temp; temp = *x; *x = *y *y = temp 一時変数tempを使わないで、swapを実行するにはどうすればいいですか?
137 名前:デフォルトの名無しさん mailto:sage [2014/03/13(木) 21:32:20.90 ID:ZLHpPjTL] もう馬鹿すぎて何も言えねえ
138 名前:デフォルトの名無しさん mailto:sage [2014/03/13(木) 21:35:10.13 ID:ci5j+wiG] >>116 ideone.com/zpaN5a ゴリ押しプログラムができたぞ!!ふはははは! ははは・・・
139 名前:デフォルトの名無しさん [2014/03/13(木) 21:35:22.78 ID:AgM9wxep] >>116 #include<stdlib.h> #include<stdio.h> #include<string.h> void doit(char*fname,int lineno,char*str) { FILE*fin,*fout;int i,line=0; char buf[1024];char**lines=NULL;fin=fopen(fname,"r"); while(fgets(buf,1024,fin)) {lines=realloc(lines,(line+1)*sizeof(char*)); lines[line++]=strdup(buf); } fclose(fin);fout=fopen(fname,"w"); for(i=0;i<line;i++){ if(i+1==lineno)fprintf(fout,"%s",str); fprintf(fout,"%s",lines[i]); }if(i+1==lineno)fprintf(fout,"%s",str);fclose(fout); for(i=0;i<line;i++)free(lines[i]);free(lines);}
140 名前:デフォルトの名無しさん mailto:sage [2014/03/13(木) 21:38:29.32 ID:ZLHpPjTL] QZやっとの糞コード排出
141 名前:片山博文MZジェバンニ ◆T6xkBnTXz7B0 [2014/03/13(木) 21:42:08.30 ID:AgM9wxep] >>136 XOR swap
142 名前:デフォルトの名無しさん mailto:sage [2014/03/13(木) 21:47:30.75 ID:ZLHpPjTL] >>116 は単位を落とすこと確定
143 名前:131 ◆GccdMSkjmA mailto:sage [2014/03/13(木) 21:51:01.80 ID:tz2xhzYu] >>138 氏が先に片付けてしもうたか ご苦労様ですm(_ _)m あとは>>116 がお礼をするだけだな
144 名前:デフォルトの名無しさん mailto:sage [2014/03/13(木) 23:40:25.92 ID:ZLHpPjTL] >>116 はとんずらした
145 名前:デフォルトの名無しさん mailto:sage [2014/03/14(金) 00:14:18.45 ID:CN82R/hG] アホ大学生ネット回答でコピペし教授にバレる
146 名前:デフォルトの名無しさん mailto:sage [2014/03/14(金) 00:24:37.78 ID:JlWgyJEe] ID付きだとあぼーんが捗っていいな
147 名前:デフォルトの名無しさん mailto:sage [2014/03/14(金) 00:56:42.84 ID:CN82R/hG] 友達いないからここで質問するんだろ
148 名前:デフォルトの名無しさん mailto:sage [2014/03/14(金) 03:20:22.81 ID:6a31vfjQ] >>116 なるべく易しく書いてみた。 範囲外などのエラーチェックはまったくしていない。 ideone.com/xOpfUA
149 名前:デフォルトの名無しさん mailto:sage [2014/03/14(金) 11:57:48.43 ID:CN82R/hG] ほらまた自己顕示欲キチガイが必死になってる
150 名前:デフォルトの名無しさん mailto:sage [2014/03/14(金) 12:58:13.50 ID:2dNSUwpy] 145 名前:あぼ〜ん[あぼ〜ん] 投稿日:あぼ〜ん 147 名前:あぼ〜ん[あぼ〜ん] 投稿日:あぼ〜ん 149 名前:あぼ〜ん[あぼ〜ん] 投稿日:あぼ〜ん 素晴らしい ID導入のおかげだ
151 名前:デフォルトの名無しさん mailto:sage [2014/03/14(金) 13:15:21.64 ID:CN82R/hG] ID:2dNSUwpyをNGIDにしよう
152 名前:デフォルトの名無しさん [2014/03/14(金) 14:53:11.12 ID:KtWzfVn0] IDが役に立ってるw
153 名前:デフォルトの名無しさん mailto:sage [2014/03/14(金) 15:04:07.53 ID:Mb2J0ktV] >>150 ワロタ。おれも同じ所があぼーんになってるwww ID良いな。自動的に雑音排除して普通にスレを読めるようになった。
154 名前:デフォルトの名無しさん mailto:sage [2014/03/14(金) 15:11:09.11 ID:THJ4r5An] 俺もw ( ;∀;)イイハナシダナー
155 名前:デフォルトの名無しさん mailto:sage [2014/03/14(金) 19:32:37.42 ID:CN82R/hG] 宿題を投稿するな
156 名前:デフォルトの名無しさん mailto:sage [2014/03/14(金) 19:34:19.16 ID:CN82R/hG] >>152-154 全部あぼーんなんだが
157 名前:デフォルトの名無しさん mailto:sage [2014/03/14(金) 20:25:51.38 ID:CN82R/hG] 一つの糞質問に群がるゴミどもきもすぎる
158 名前:デフォルトの名無しさん mailto:sage [2014/03/14(金) 22:43:51.11 ID:CN82R/hG] 結局こいつらがしたいのは自分の力の誇示ってやつなんだよな まあどいつもヘボだらけなんだが
159 名前:デフォルトの名無しさん mailto:sage [2014/03/14(金) 22:55:55.03 ID:CN82R/hG] オタクってさ、使いどころのない知識を自慢して優越感に浸る傾向にあるよね こいつらも同じキモオタ
160 名前:デフォルトの名無しさん mailto:sage [2014/03/14(金) 22:59:08.73 ID:zw+41NN1] >>155-159 ID導入は正解だった
161 名前:デフォルトの名無しさん mailto:sage [2014/03/14(金) 23:10:51.98 ID:mqmIxcJs] >>160 っていうかなんでID導入されたのに悪化するのかね? あぼーんできるからID導入は正解だった思うけれども
162 名前:デフォルトの名無しさん mailto:sage [2014/03/14(金) 23:38:19.22 ID:CN82R/hG] 本物のオタクってさ、自分のために生きた知識を生かすんだけど キモイオタクってのはくだらない知識を自慢するだめだけに使うんだよね
163 名前:デフォルトの名無しさん mailto:sage [2014/03/14(金) 23:46:16.36 ID:2tWZV7kK] 悪化してないでしょ 赤いIDによる印象操作だ!陰謀だ!
164 名前:デフォルトの名無しさん [2014/03/14(金) 23:59:03.30 ID:S9zwpGGD] 遅れてすいません。 インフルエンザB型に感染してしまったもので。 >>119 そうです。 ひとつは全角文字も読み、行数のみです >>138 これでは入力した文字を挿入できないので問題とは違うようです。 ありがとうございます。参考にさせていただきます。 >>139 error C2598: リンケージ指定子がグローバル スコープで宣言されていません。 と出てしまいます。 doiit っていうのは初めて見ました。 >>148 string.hを追加したら動きました。 ありがとうございます。
165 名前:デフォルトの名無しさん mailto:sage [2014/03/15(土) 01:26:29.99 ID:AJr6U08J] >>164 >error C2598: リンケージ指定子が、 >グローバル スコープで宣言されていません ttp://msdn.microsoft.com/ja-jp/library/w3kzs7x0.aspx エラーは、エラー番号で検索すれば、たいてい説明が見つかる error C2598
166 名前:デフォルトの名無しさん mailto:sage [2014/03/15(土) 01:56:14.99 ID:AJr6U08J] >>93 10*10の隣接行列だね でも隣接行列は、ほとんどが隣接しない99999となり、 メモリの無駄だから、一般的には隣接リストを使う セル番号を、1-100とすると、 1->2,3,4 2->1,3,5 漏れは今、6マスタイプの大戦略のAIを考えている 首都からすべてのセルへの、最小移動コストと、 その経路をたどるパス すべてのセルへ、ランダムな移動コストを与えて、 シミュレートしようと思っている 優先度キューを使うか?
167 名前:デフォルトの名無しさん mailto:sage [2014/03/15(土) 22:18:05.01 ID:Pv8JcOyk] 文字列(string型)の先頭から数字として有効な文字数を返す関数ってどうやって作れば良いですか? 例 "126AB"→3 "-(1+2)"→0 "-9.25ABC"→5
168 名前:デフォルトの名無しさん mailto:sage [2014/03/15(土) 22:32:58.92 ID:2R7Cli6M] strspn(s, "0123456789")
169 名前:デフォルトの名無しさん mailto:sage [2014/03/15(土) 23:13:57.17 ID:/jvxmNA2] >>176 10進数でない文字列の場合はどういう扱いをすればいいの?
170 名前:デフォルトの名無しさん mailto:sage [2014/03/15(土) 23:19:38.21 ID:71cS5Xff] あぼーんじゃないからレス番ずれたな
171 名前:116 [2014/03/15(土) 23:43:49.16 ID:nqywdHbD] >>148 非常にわかり易かったです。 これを少し変えて ・指定したファイルに文字列を行数を指定して挿入するプログラム(ファイル名と位置)、挿入する文字列(全角)を入力できるようにする にしたいんですが、どこをどのように変えたらいいでしょうか?
172 名前:デフォルトの名無しさん mailto:sage [2014/03/16(日) 08:48:02.12 ID:nQOiLa8y] >>176 > 文字列(string型)の先頭から数字として有効な 数字? なら、"-9.25ABC" は 0 じゃね? 数値なら、1.2e-3、0x1234、.123、1,234.56 等を数値として見なすかを決めてもらわないと
173 名前:デフォルトの名無しさん mailto:5000モリタポでQZスレだね [2014/03/16(日) 10:19:40.42 ID:wmlsbQd6] >>170 公開質問状でコードを見せろ、というつもりだったのに残念
174 名前:デフォルトの名無しさん mailto:sage [2014/03/16(日) 11:16:13.40 ID:u4clKyZZ] >>171 >文字列を行数を指定して挿入 という事は、「最初に改行してから、指定行数挿入」という事ですか? >32. fprintf(fp2,"%s",str); この部分に改行を追加し、指定行数ループするのではだめでしょうか?
175 名前:デフォルトの名無しさん mailto:sage [2014/03/16(日) 11:57:23.40 ID:+0w7Q/Uu] プログラマ=奴隷は事実だからしょうがないね 隠そうとしてもムダ
176 名前:デフォルトの名無しさん mailto:sage [2014/03/16(日) 13:18:00.57 ID:NcMQ7vHT] てか、会社次第では貴族待遇。 もっとも君らみたいなゴミには、そんな専門知識もスキルも期待できないからね 派遣ITの奴隷街道へまっしぐらだよ!
177 名前:116 [2014/03/16(日) 21:10:46.65 ID:JTOubL74] >>175 おそらく>>172 に対するレスですよね? >>148 の問題を変えて 挿入したい行数のみ指定し、(挿入したい)文字列(全角)を入力できるようにしたいのです
178 名前:デフォルトの名無しさん mailto:sage [2014/03/16(日) 21:11:42.66 ID:+0w7Q/Uu] なにこれよくわかんない
179 名前:デフォルトの名無しさん mailto:sage [2014/03/16(日) 21:30:14.05 ID:+0w7Q/Uu] ここで質問しても教授にバレバレだから 楽で出来ると持ったら大間違いで、結局は単位落とすだけなんだよなー
180 名前:デフォルトの名無しさん mailto:5000モリタポでQZスレだね [2014/03/16(日) 21:57:22.91 ID:wmlsbQd6] 単位落とすだけならいいけれども‥‥ ネイチャーに出す人がいるとはさすがに‥‥
181 名前:デフォルトの名無しさん mailto:sage [2014/03/17(月) 02:16:04.45 ID:q5oUANu3] >>177 行数と文字列を引数でもらって、処理をする 行数を引数でもらって、文字列は入力させて、処理をする 処理をするところは変更する必要ないのが分かればあとは簡単でしょ。 文字列の入力を読み取ることもできないレベルなら素直に単位を落としましょう。
182 名前:デフォルトの名無しさん mailto:sage [2014/03/17(月) 07:59:18.86 ID:K/DZRQsK] >>177 一応このスレのルールなんで、 >>1 のテンプレに従って依頼内容をもう一度書き直して
183 名前:デフォルトの名無しさん mailto:sage [2014/03/17(月) 08:06:26.25 ID:HQUUHLVF] このスレのルールより社会のルールが優先
184 名前:デフォルトの名無しさん [2014/03/17(月) 08:56:25.05 ID:VXhVqDC5] >>182 >>183 [1] プログラミング言語 C [2] 指定したファイルに文字列を行数を指定して挿入するプログラム(ファイル名と行数、挿入する全角文字列を入力できるようにする) [3] 環境 [3.1] OS: Windows Vista [3.2] コンパイラ名とバージョン: Visual C++ [3.3] 言語: C [4] 期限: 3月18日 自分なりにやってみたのですが、うまくいきません。 もしよければ修正お願いします。 ideone.com/GuocSg
185 名前:デフォルトの名無しさん mailto:sage [2014/03/17(月) 12:01:18.21 ID:K/DZRQsK] >>184 >行数を指定 というのは、 挿入する行番号を指定という意味か、 入力された文字列を挿入する回数という意味か、 どちらでしょうか? それから、 >挿入する全角文字列を入力できるようにする というのは、入力時に漢字を入力すればいいだけに思います。 もしかして、IMEのON/OFFをするという事ですか?
186 名前:デフォルトの名無しさん mailto:sage [2014/03/17(月) 16:03:35.24 ID:q5oUANu3] >>184 >>148 は非常に分かりやすかったんでしょ? それを改造するに当たって、どこで困っているのかを書いたほうがはやいと思うよ。 必要な要素は>>148 に含まれているように思うし。 一点問題を挙げるとすると、「指定したファイルに」挿入していないというところだけど、 そこは気にしてなさそうだし。
187 名前:デフォルトの名無しさん mailto:sage [2014/03/17(月) 16:27:48.56 ID:qNLDgXjv] そんなことするよりさっさと単位諦めて退学届出したほうがいいと思うけど
188 名前:デフォルトの名無しさん [2014/03/17(月) 16:45:58.35 ID:VXhVqDC5] >>186 >挿入する行番号を指定という意味か そうです。頭から数えていって〜という意味です。 >挿入する全角文字列を入力できるようにする なるほど。マルチバイト文字でも気にしなくて良いのですね。 >>187 おそらくこの問題で指定したファイルというのは 「a.txt」といういファイルをあらかじめつくっておき、そのファイル名を入力したら挿入できていればいいと思います。
189 名前:デフォルトの名無しさん mailto:sage [2014/03/17(月) 16:49:03.20 ID:q5oUANu3] >>188 だからさ、>>148 、、もういいや。ごめん
190 名前:デフォルトの名無しさん mailto:sage [2014/03/17(月) 17:06:21.32 ID:qNLDgXjv] 日本語の理解も不十分だったのか ほんとに大学いってるのかな
191 名前:デフォルトの名無しさん [2014/03/17(月) 17:18:19.98 ID:omlKKA03] >>188 28行目をcolに1を代入する文に直す。 32行目の出力フォーマットを%sから%s\nに代える。 これで意図する動作しないかな?
192 名前:デフォルトの名無しさん mailto:sage [2014/03/17(月) 17:20:49.26 ID:qNLDgXjv] 単位落とすの確定なのに答えてあげる優しい人がいるね ダメ人間を育ててしまう人たちだ
193 名前:デフォルトの名無しさん [2014/03/17(月) 17:30:34.31 ID:VXhVqDC5] >>190 すいません、なにをどうしたらいいのかよくわからないです >>192 ideone.com/NjbLBb 変えてみました。
194 名前:デフォルトの名無しさん mailto:sage [2014/03/17(月) 17:36:52.16 ID:qNLDgXjv] 君、次の課題もそんな調子でここに質問する気? 奇跡的にここで得られた回答でコピペして単位もらえても そのうち大きな課題出てまったく太刀打ちできなくなってコピペ論文で退学になる運命だから ほんと諦めたほうがいい
195 名前:デフォルトの名無しさん [2014/03/17(月) 17:46:24.05 ID:VXhVqDC5] なるほど hissi.org/read.php/tech/20140317/cU5MRGdYanY.html
196 名前:デフォルトの名無しさん mailto:sage [2014/03/17(月) 17:50:38.20 ID:qNLDgXjv] 問題を解くにあたっての必要となるベースの知識が欠けているから丸投げするんでしょ だったら反省して自分で基礎の勉強をまず始めなきゃ、 いつまでもここで解決できると想ったら大間違い
197 名前:デフォルトの名無しさん mailto:sage [2014/03/17(月) 17:51:22.29 ID:wAxdNR9N] >>195 >>196 はコピペを提出して退学になったクズらしいです
198 名前:デフォルトの名無しさん mailto:sage [2014/03/17(月) 17:54:42.64 ID:feM2kHU8] 退学になるわけないだろ せいぜい半期の単位を全部取り消されるくらいだ
199 名前:デフォルトの名無しさん mailto:sage [2014/03/17(月) 18:13:38.30 ID:qNLDgXjv] 退学同然だと思うけどね
200 名前:デフォルトの名無しさん mailto:sage [2014/03/17(月) 18:14:37.58 ID:PETpdFuR] と大口たたいて出て行った男性が10分後に血まみれになって帰ってきた
201 名前:デフォルトの名無しさん mailto:sage [2014/03/17(月) 18:33:48.39 ID:GEI0z5hj] 東大以外は行くだけ無駄らしいからさっさと退学した方がいいらしいよ。
202 名前:デフォルトの名無しさん mailto:sage [2014/03/17(月) 21:01:58.77 ID:K/DZRQsK] >>184 ideone.com/UMpTXd // と ### にはさまれているところを、その下のように直す
203 名前:デフォルトの名無しさん mailto:sage [2014/03/17(月) 21:12:27.01 ID:q5oUANu3] いまさらだけどコードを最後まで読んでなかった恥ずかしい。
204 名前:デフォルトの名無しさん mailto:sage [2014/03/17(月) 21:28:01.12 ID:848rfsax] 大学もなにも個人勉強でないの? なんにせよガンバレ
205 名前:デフォルトの名無しさん mailto:sage [2014/03/17(月) 21:38:15.19 ID:qNLDgXjv] 人に頼ってる時点でプログラマとしては3流
206 名前:デフォルトの名無しさん [2014/03/18(火) 13:31:43.10 ID:JEryyi3Z] >>203 これだと行と列の両方になってないか?
207 名前:デフォルトの名無しさん mailto:sage [2014/03/18(火) 14:01:55.78 ID:G12u9CCe] >>206 馬鹿が頑張って解決しようとしてもムダ お前の知識は何も役にも立たん かえって質問者を惑わせ迷惑させようとしているのかね
208 名前:デフォルトの名無しさん mailto:sage [2014/03/19(水) 00:02:02.64 ID:+A6hJBSy] 本当にまる2日以上寝てるとき以外はPCに向かってるんだな やっぱりここで宿題やってもらったのがばれて留年した人か
209 名前:デフォルトの名無しさん mailto:sage [2014/03/19(水) 01:14:22.14 ID:pgTJKr0l] マジでここでのコピペがばれて単位落として泡吹いた奴は多いと思うよ それをこのスレで報告していないだけで これだとまだまだ自滅していく学生は多いのかな
210 名前:デフォルトの名無しさん mailto:sage [2014/03/19(水) 03:31:39.66 ID:K3WonBla] 一泡吹かせた人なのか、はたまた泡を食った人なのか。というのはさておき。 そもそもコピペに対する罰が単位を落とす程度で済ませる学校が悪いよ。 半期単位失効というところもあるが、それでもやはりぬるいといわざるを得ない。 基本的に退学、譲歩して全期単位失効が妥当。 それでも俺は回答し続けるけどね。
211 名前:デフォルトの名無しさん mailto:sage [2014/03/19(水) 08:24:15.10 ID:jJsViii8] プログラムの課題をちゃんと書き換えるからと一人に渡したら 5人ぐらいが丸々コピーして提出してた。 うち一人はソース内の名前+学生番号も書き換えてなかった。
212 名前:デフォルトの名無しさん mailto:sage [2014/03/19(水) 08:32:00.35 ID:pgTJKr0l] ドカタになろうとしている奴らの精神的レベルはこの程度 このスレは削除したほうがいい
213 名前:デフォルトの名無しさん mailto:sage [2014/03/19(水) 22:52:55.01 ID:uuz1UwWR] 彼らは学士や修士号を獲て、SIerやコンサルに成ろうとしているんだから、 課題の丸投げや不都合な事実の隠蔽は社会へ出る前の適切な訓練。 技術者になろうとするアホは課題を自力で解こうとするし、 人生の春を失うどころかキャリアさえ失う。バレなければ問題はないし、 社会的に優秀だし輝かしい名誉まで手に入る。
214 名前:デフォルトの名無しさん mailto:sage [2014/03/19(水) 22:58:29.28 ID:uuz1UwWR] このスレに出るレベルの課題如きでプログラマになれると考えているのは、 かなり頭が悪い大学生だろうし、恐らく行くだけの価値がない大学に通っている。 この程度の課題で十分だと考える教授陣営も、常春の人生を満喫して、 全身にダニが湧いていることは確実。
215 名前:デフォルトの名無しさん mailto:sage [2014/03/20(木) 00:57:34.00 ID:bcMe3eGT] >>214 しかしながら、学生のときに学んでいるはずであろう素養を備えていないプログラマが多いのも事実。 つまり、この程度の課題すらこなせない学生相手にする教授陣営も大変だということだ。 ま、単位あげなきゃいいだけなんだけどね。
216 名前:デフォルトの名無しさん mailto:sage [2014/03/20(木) 07:53:22.37 ID:S8YTEebr] >>172 カンマの妥当性判定が面倒だな 123,0000 は3になるんだろ、書きたくねぇw
217 名前:デフォルトの名無しさん mailto:sage [2014/03/20(木) 09:14:13.18 ID:noBkfRX0] >>216 こういう嘘回答する奴は回答者にもなれない 低学歴野郎です
218 名前:デフォルトの名無しさん [2014/03/20(木) 14:03:23.20 ID:VJY+yRA6] カンマはデータの区切りにもなるから、 数値の一部として見るのはやめた方がいいかも
219 名前:デフォルトの名無しさん mailto:sage [2014/03/20(木) 14:05:42.76 ID:noBkfRX0] スレ違い誤爆だろageるなクズ
220 名前:デフォルトの名無しさん mailto:sage [2014/03/20(木) 15:41:50.02 ID:VJY+yRA6] perlだとこんな感じか? if ($str =~/(^\-{0,1}[0-9]+(\.[0-9]+|))/) { printf("%d %s\n", length($1), $1); }
221 名前:デフォルトの名無しさん mailto:sage [2014/03/20(木) 16:22:16.70 ID:bcMe3eGT] >>220 突っ込みどころ -{0,1} [0-9] (\.[0-9]+|)
222 名前:デフォルトの名無しさん mailto:sage [2014/03/20(木) 16:24:49.80 ID:bcMe3eGT] と思ったけど、最後のやつは意図を読み間違えていた。けどなんか気持ち悪いね。
223 名前:デフォルトの名無しさん mailto:sage [2014/03/20(木) 19:41:16.53 ID:noBkfRX0] 気持ち悪いのはお前の人生 スレ違いなのに勝手にPerlの話しだす迷惑野郎です 消えろ糞ニートが、ドカタにもなれないだろそんな協調性のない人間じゃ
224 名前:デフォルトの名無しさん mailto:sage [2014/03/20(木) 21:40:15.79 ID:ANBdGt0P] こんな場所で宿題を解きたいって、どんな神経しているんだろう?
225 名前:デフォルトの名無しさん mailto:sage [2014/03/20(木) 21:47:58.23 ID:cjvdZq4D] >>224 暇潰し以上の意味があるわけないだろ
226 名前:デフォルトの名無しさん mailto:sage [2014/03/20(木) 21:55:17.41 ID:Hz3eyzKl] >>225 いや、あるよ。学生潰し。
227 名前:デフォルトの名無しさん mailto:sage [2014/03/20(木) 23:16:30.53 ID:132ZA9Bu] 公開オナニーを趣味にしている変態
228 名前:デフォルトの名無しさん mailto:sage [2014/03/21(金) 02:34:14.51 ID:SpeQMCN6] >>223 そういうレスばかりするのはどういう気持ちから? 出題する側、出題される側、回答する側、およびそれぞれの過去を持ついずれか、はたまた無関係。 このどれなんだろう。 少なくとも朝昼夜の3回レスをしているわけだから、無関係ってことはないと思うんだよね。
229 名前:デフォルトの名無しさん mailto:sage [2014/03/21(金) 12:46:06.78 ID:Z82+z0lX] 公開オナニーする馬鹿がこの板から出ていけばこのスレは必要なくなる
230 名前: ◆QZaw55cn4c mailto:sage [2014/03/22(土) 23:22:48.72 ID:p0VQZyPj] 正直どうでもいい
231 名前:デフォルトの名無しさん mailto:sage [2014/03/23(日) 00:23:46.40 ID:LwVxNWuC] 公開オナニーをしてきた本人がこの一言
232 名前:デフォルトの名無しさん mailto:sage [2014/03/23(日) 01:08:12.22 ID:xE/ua0sY] hissi.org/read.php/tech/20140316/KzB3N1EvVXU.html hissi.org/read.php/tech/20140317/cU5MRGdYanY.html hissi.org/read.php/tech/20140318/RzEydTlDQ2U.html hissi.org/read.php/tech/20140319/cGdUSktyMGw.html hissi.org/read.php/tech/20140320/bm9Ca2ZSWDA.html hissi.org/read.php/tech/20140321/WjgyK3owbFg.html hissi.org/read.php/tech/20140322/KzJCNk9FZFg.html hissi.org/read.php/tech/20140323/THdWeE5XdUM.html これだけ常に2chに張り付ける余裕のある生活はある意味うらやましい というかまじで16〜21日は寝る以外常に2chだな
233 名前:デフォルトの名無しさん mailto:sage [2014/03/23(日) 01:13:14.52 ID:SSYwKPLD] 春休みかあ、と思ったけど16日はさすがにまだ春休みではないか?
234 名前:デフォルトの名無しさん [2014/03/23(日) 02:02:35.42 ID:MnyK3jKs] UFC 139 - マウリシオ・ショーグンvsダン・ヘンダーソン https://www.youtube.com/watch?v=Rrzc6CXb_KY UFC Fight Night 33 - マウリシオ・ショーグンvsジェームス・テフナ https://www.youtube.com/user/UFC/feed?filter=2
235 名前:デフォルトの名無しさん mailto:sage [2014/03/23(日) 04:10:41.57 ID:1sIXiNOp] >>230 本物のQZ?酉割れてるから本人かどうかわからないけど、 強制IDになっても自演しまくりの日々は続いてんの?
236 名前:デフォルトの名無しさん [2014/03/23(日) 04:11:20.10 ID:BoG2P7C1] 結果は人がいてもいなくても同じだ。
237 名前:デフォルトの名無しさん mailto:sage [2014/03/23(日) 10:52:33.39 ID:SXKh7u/F] 自己顕示欲さん仕事探せよ。 2ちゃんに引きこもっていても道は開けないぞ。
238 名前:デフォルトの名無しさん [2014/03/23(日) 12:38:14.86 ID:wYZODv5U] このスレに職業プログラマの人ってどれくらいいるんだろうか ちなみに俺はプログラマです
239 名前:デフォルトの名無しさん mailto:sage [2014/03/23(日) 12:50:39.71 ID:YZGI/DRg] >>238 どこから職業プログラマなんだ? 社外には売らないけど、社内のシステム構築してる俺は対象か?
240 名前:デフォルトの名無しさん mailto:sage [2014/03/23(日) 13:04:04.97 ID:TTHi9wBa] 「勤務時間に業務としてプログラム開発をしている人」 じゃないかな?
241 名前:デフォルトの名無しさん mailto:sage [2014/03/23(日) 13:09:04.37 ID:xE/ua0sY] 社内システム開発にC使うの? それとも趣味でCやるの? どっちにしても謎だ
242 名前:デフォルトの名無しさん mailto:sage [2014/03/23(日) 13:12:39.07 ID:TTHi9wBa] うちはCを使っている もちろんそれ以外も使ってるけど cronで動かしているものはほとんどがC
243 名前:デフォルトの名無しさん mailto:sage [2014/03/23(日) 13:44:31.07 ID:GFwabcra] >>241 >社内システム開発にC使うの? 大量データを扱う技術系パッチ処理では、今でもCが使われているよ いまだに勘定系でCOBOLが使われているのと同じ理由
244 名前:デフォルトの名無しさん mailto:sage [2014/03/23(日) 14:44:58.46 ID:YZGI/DRg] >>241 C++ 使ってるが、何か? C# の方が楽だけど、.NetFramework のインストールかいる環境とかあるとか色々面倒だったりするから。 あと、Linux 絡みは C だし。
245 名前:デフォルトの名無しさん [2014/03/23(日) 15:23:08.28 ID:8jLtLR5A] 社内利用ならスクリプトで十分。 C/C++は開発効率が悪い。
246 名前:デフォルトの名無しさん mailto:5000モリタポでQZスレだね [2014/03/23(日) 15:58:19.92 ID:qQgnZ21H] >>235 自演の定義はなんだい? そのときの感性でトリップをつけたりつけなかったり適当にやっているだけだが、それでも自演というの? トリップつきでもトリップなしでも問わず語りを紡いでいるだけで対話篇は意図していないんだが それでも自演っていうの? それなら違うよ、
247 名前:デフォルトの名無しさん mailto:sage [2014/03/23(日) 18:50:29.62 ID:YZGI/DRg] >>245 お前んとこではそうなんだろうな
248 名前:デフォルトの名無しさん mailto:sage [2014/03/24(月) 07:51:01.01 ID:30azwQW6] 3/19 ID:pgTJKr0l 86レス1位 hissi.org/read.php/tech/20140319/cGdUSktyMGw.html 3/20 ID:noBkfRX0 69レス1位 hissi.org/read.php/tech/20140320/bm9Ca2ZSWDA.html 3/21 ID:Z82+z0lX 55レス1位 hissi.org/read.php/tech/20140321/WjgyK3owbFg.html 3/22 ID:+2B6OEdX 39レス1位 hissi.org/read.php/tech/20140322/KzJCNk9FZFg.htm 3/23 ID:LwVxNWuC 51レス1位 hissi.org/read.php/tech/20140323/THdWeE5XdUM.html 完 全 に 病 気 3/24: ID:iN+OyuMJ hissi.org/read.php/tech/20140324/aU4rT3l1TUo.html
249 名前:デフォルトの名無しさん mailto:sage [2014/03/24(月) 10:07:51.73 ID:iN+OyuMJ] 病気なのはQZ 宿題がないと生きていけない
250 名前: ◆QZaw55cn4c mailto:sage [2014/03/24(月) 18:53:38.58 ID:t653hGnB] >>249 最近はこっち方面で生きていますよー toro.2ch.net/test/read.cgi/tech/1354393458/ toro.2ch.net/test/read.cgi/tech/1357191974/ toro.2ch.net/test/read.cgi/tech/1390525149/ toro.2ch.net/test/read.cgi/tech/1357191974/304 以来ご無沙汰しているけれども
251 名前:デフォルトの名無しさん mailto:sage [2014/03/25(火) 15:14:39.11 ID:bvFcvrs8] QZのバ回答を当てにしてる奴は間違いなく無能プログラマ
252 名前:デフォルトの名無しさん mailto:sage [2014/03/25(火) 16:43:57.34 ID:i+51dnCa] 自分が生きていると貼ったスレの2/3がdat落ち。タイムマシンか何か?
253 名前:デフォルトの名無しさん mailto:sage [2014/03/25(火) 21:30:34.03 ID:HPBQlIXi] >>251 誰もあてにしていないと思うよ体臭が強すぎて人目でQZってわかりやすすぎだし
254 名前:デフォルトの名無しさん mailto:sage [2014/03/26(水) 00:34:31.34 ID:7XkCn4fS] https://pbs.twimg.com/media/BjjLKdhCAAESoyB.jpg 剽窃で停学&留年@スーフリ大学
255 名前:デフォルトの名無しさん mailto:sage [2014/03/26(水) 04:34:02.81 ID:6J9B4gLY] いいね。回答者側は気楽なもんだ
256 名前:デフォルトの名無しさん mailto:sage [2014/03/26(水) 10:53:28.33 ID:EsehAkFD] 宿題投げる奴が何故学生続けるか理解できない
257 名前:デフォルトの名無しさん mailto:sage [2014/03/26(水) 15:57:41.60 ID:8jubPs5x] 暇つぶしのネタを提供してくれてる
258 名前:デフォルトの名無しさん mailto:sage [2014/03/28(金) 03:15:42.72 ID:zzqObK8g] >>254 法学部ですら退学にはならんということにビックリ
259 名前:デフォルトの名無しさん [2014/03/28(金) 21:10:37.31 ID:QdKQU949] [1] 授業単元: プログラミング基礎 [2] 問題文(含コード&リンク): 10000以下の自然数のうち素因数分解を行ったときにその因子の数が最多となる数を求め,その数,因子の数,素因数分解の結果を表示するプログラムを作成して下さい. 出力形 8192 = 2 * 2 * 2 * 2 * 2 * 2 * 2 * 2 * 2 * 2 * 2 * 2 * 2 因子数:13 [3] 環境 [3.1] OS: Linux [3.2] コンパイラ名とバージョン: gcc 3.4 [3.3] 言語: C [4] 期限: 3月30日まで [5] その他の制限: ヒントを教授に聞きに行ったら自分で考えろと一蹴されました よろしくお願いします
260 名前:デフォルトの名無しさん [2014/03/28(金) 21:32:30.39 ID:fFnbRaxR] >>259 それが正解だろ。小さい数(2か3)が有利。 ほぼ2で良いが、3もあり得る。 MAX次第。
261 名前:デフォルトの名無しさん mailto:sage [2014/03/28(金) 22:07:28.79 ID:iffS8S5F] エラトステネスの篩みたくやってけば良いんじゃない?
262 名前:デフォルトの名無しさん [2014/03/28(金) 22:12:20.11 ID:fFnbRaxR] Nに対し、N >= 2^nとなる最大のnを見つける。 N >= 2^(n-1) * 3 であれば、2解。
263 名前:デフォルトの名無しさん mailto:sage [2014/03/28(金) 22:45:22.88 ID:yytRCpay] 10000ぐらいならテーブル化しちゃえ。
264 名前:デフォルトの名無しさん mailto:sage [2014/03/28(金) 22:50:49.51 ID:ETOIpidC] QZ糞コード連発 学生は泡吹くレベル
265 名前:デフォルトの名無しさん mailto:sage [2014/03/28(金) 22:54:27.99 ID:zWFnNM9i] >264 は留年&退学
266 名前:デフォルトの名無しさん [2014/03/28(金) 23:04:34.85 ID:QdKQU949] >>259 ですが 8192 = 2 * 2 * 2 * 2 * 2 * 2 * 2 * 2 * 2 * 2 * 2 * 2 * 2 因子数:13 をもとめるソースコードが知りたいです
267 名前:デフォルトの名無しさん [2014/03/28(金) 23:21:48.83 ID:fFnbRaxR] ギジコード fnc(N) { for(n=1;;n++) if( N < pow(2,n) ) break; n--; prt(n,0); n--; if( N < pow(2,n)*3 ) prt(n,1); } prt(a,b){ 2をa個、3をb個出力 }
268 名前:デフォルトの名無しさん mailto:sage [2014/03/29(土) 14:19:08.81 ID:Utjmo3gz] >>259 お前俺と同じ大学かよww 教授にチクっとくわ
269 名前: ◆QZaw55cn4c mailto:sage [2014/03/29(土) 15:13:19.22 ID:T0jzXlJE] >>273 Hi!
270 名前:デフォルトの名無しさん mailto:sage [2014/03/29(土) 23:47:47.72 ID:3XiSwePB] [1] 授業単元:プログラミング基礎 [2] 問題文(含コード&リンク):入力した1桁の整数を行数と解釈し、その後、その行数分だけキーボードから入力された 文字をディスプレイに出力する。 [条件1]整数(行数)入力にはgetchar関数を使用する。 [条件2]行数入力後の文字入出力にはgetchar関数とputchar関数を使用する。 [条件3]入力された整数(行数)が、不正(整数でないまたは2桁以上の整数)の場合は、"Input error"と表示する。 [3] 環境 [3.1] OS:Windows7 [3.2] コンパイラ名とバージョン:gcc 3.4 [3.3] 言語: C [4] 期限:2014/03/30
271 名前:デフォルトの名無しさん mailto:sage [2014/03/30(日) 09:28:12.90 ID:xXpv5PSO] #include <ctype.h> main() { int first, next, i; first = getchar(); next = getchar(); if(! isdigit(first) || isdigit(next)) { printf("Input Error\n"); exit(1); } for(i = 0; i < first - '0'; i++) { putchar(next); putchar('\n'); } }
272 名前:デフォルトの名無しさん mailto:sage [2014/03/30(日) 10:31:02.30 ID:6grQiit6] >>217 7と答えるべきなのか? 仕様が曖昧だなぁ・・・
273 名前:デフォルトの名無しさん mailto:sage [2014/03/30(日) 13:06:59.67 ID:6RO/tmV/] >>272 単位落として留年する馬鹿 教授は観てるぞー
274 名前:デフォルトの名無しさん mailto:sage [2014/03/30(日) 15:35:22.26 ID:o9ag65ui] 期末になってこのレベルだったら単位を落としてやり直すべき
275 名前:デフォルトの名無しさん mailto:sage [2014/03/30(日) 17:46:51.19 ID:4OPeePmh] >>259 あまりきれいではないけど、誰もやらないので一応参考に ideone.com/LWro3R
276 名前:デフォルトの名無しさん mailto:sage [2014/03/30(日) 18:09:16.83 ID:6RO/tmV/] 単位落とし記念カキコ
277 名前:デフォルトの名無しさん [2014/03/31(月) 13:11:48.78 ID:qra824CY] 期限に間に合ったのか?
278 名前:デフォルトの名無しさん mailto:sage [2014/03/31(月) 19:20:39.49 ID:aH5oPSHV] 何この小保方スレッドw
279 名前:デフォルトの名無しさん mailto:sage [2014/03/31(月) 21:37:21.57 ID:YuwcCGee] 博士論文が2chのコピペ
280 名前:デフォルトの名無しさん mailto:sage [2014/04/03(木) 01:54:55.16 ID:GyJlUgSJ] まじできちがいじみてる
281 名前:デフォルトの名無しさん mailto:sage [2014/04/03(木) 04:46:38.64 ID:3kW14kq3] >>267 よくわからんが、10のとき何が出るの?
282 名前:デフォルトの名無しさん mailto:sage [2014/04/03(木) 13:56:38.91 ID:GyJlUgSJ] 10以外出ると不可
283 名前:デフォルトの名無しさん mailto:sage [2014/04/10(木) 19:49:16.30 ID:o2rx8JxT] [1] 授業単元:プログラミング基礎II [2] 問題文(含コード&リンク): 課題: double値を10進数表示せよ。 対象: C言語 制約: ・出力にはfputc()またはputc()またはputchar()を使うこと。 ・printf系の書式変換を一切使ってはならない。 ・C標準ライブラリ以外のライブラリの使用は禁止する。 ・system()による外部プロセスの利用も禁止する。 [3] 環境 [3.1] OS: Windows [3.2] コンパイラ名とバージョン: Visual Studio 2010 [3.3] 言語: C [4] 期限: 2014年05月31日まで [5] その他の制限: プログラミング基礎I で基本的なところ(入門書1冊丸々程度)は終了してます
284 名前: ◆QZaw55cn4c mailto:sage [2014/04/10(木) 21:27:04.03 ID:MkZSgWPI] >>283 codepad.org/1LJBwoSZ
285 名前:283 mailto:sage [2014/04/10(木) 21:39:20.95 ID:o2rx8JxT] >>284 ありがとうございます
286 名前:デフォルトの名無しさん mailto:sage [2014/04/10(木) 21:44:54.82 ID:MSa8YAKk] それ f(0.00031415926, 0); はどんな結果を返すかな?
287 名前:デフォルトの名無しさん mailto:sage [2014/04/10(木) 22:03:04.12 ID:4bNYm9hY] >>286 痛いところを‥‥ EPSILON をてきとーにいじらないといけないですね、まあ小ネタってことで 続きはお題スレにて
288 名前:デフォルトの名無しさん mailto:sage [2014/04/10(木) 22:05:31.19 ID:fuOgayzR] >>286 \n しか出さないな。 float.h を include して、EPSILON を DBL_EPSILON に変えればまぁいいんじゃない? しかし、 if (x >= 10.0) { f(x / 10.0, n + 1); return; } これは流石に駄目だと思う。 問題の処理系においての double のフォーマットを明示しなかった出題側も手落ちなんだけど…。まぁ難しいか。 IEEE 754 と仮定して、何 bit かは sizeof で勝手に判断する分には問題は無いと思うんだが。
289 名前:デフォルトの名無しさん mailto:sage [2014/04/10(木) 23:13:09.44 ID:YVcrTM8f] 10の割り算で制約かけるなんて無理じゃないの? ideone.com/KrJX4u
290 名前:デフォルトの名無しさん mailto:sage [2014/04/10(木) 23:14:53.98 ID:d5XuDKUS] そもそも小数2進数を小数十進数でスパッと表せるわけがないしな…… 桁数指定しないと無理ゲーだろ
291 名前:デフォルトの名無しさん mailto:sage [2014/04/10(木) 23:57:30.77 ID:fuOgayzR] dtoa(非標準ライブラリ)の実装を読んでみる方がいいじゃない。 netlib は良く出来ているらしいし。 >>289 お題は printf 禁止なんだが…。
292 名前:デフォルトの名無しさん mailto:sage [2014/04/11(金) 00:27:35.68 ID:Vf1XqNZR] これアリ?ナシ? ttp://ideone.com/Ir8Wdl VCとGCCで挙動違うでやんの。
293 名前:デフォルトの名無しさん mailto:sage [2014/04/11(金) 00:30:18.09 ID:nkEZv0su] >char Z[L] = "\0"; >char B[L] = "\0"; 配列の限界越えているぞ
294 名前:デフォルトの名無しさん mailto:sage [2014/04/11(金) 00:32:09.99 ID:nkEZv0su] いや、超えてないか
295 名前:デフォルトの名無しさん mailto:sage [2014/04/11(金) 00:35:03.86 ID:GvHlzSSy] 期限まで1か月以上あるんだし焦る必要はない
296 名前:デフォルトの名無しさん mailto:sage [2014/04/11(金) 00:38:54.83 ID:Vf1XqNZR] >>293-294 配列の頭がポインタなら超えてる。ちゃんと領域を確保してそれにコピーしてるなら超えてない。 俺もそれ見てあれ?って思ったんだけど、配列だから大丈夫だと思うんだけど。どうだろう????? 普段からこういう書き方してるが、普段はC++ライクなんだよな〜〜。
297 名前:デフォルトの名無しさん mailto:sage [2014/04/11(金) 01:46:09.36 ID:nkEZv0su] 領域確保とか面倒いし文字列とか string クラス使っちゃうしな
298 名前:デフォルトの名無しさん mailto:sage [2014/04/11(金) 02:23:18.29 ID:Vf1XqNZR] そうそう。今回もどうやってMallocしないで書こうか苦心したんだよ・・・。Orz
299 名前:デフォルトの名無しさん mailto:sage [2014/04/11(金) 03:40:24.49 ID:QXXBVWPw] IEEE754だっけ 指数部とか仮数部とか眺めるだけじゃ全然わけわからんなこれw ideone.com/huYQ8d
300 名前:デフォルトの名無しさん mailto:sage [2014/04/11(金) 04:14:05.22 ID:Vf1XqNZR] 基本的に少数以下は1/nの足し算なので簡単に誤差が出る。 10進数の少数表現と言うのも規格化されてるんだけど、新しすぎて対応してないはず。 C++は暫定的に組み込み可能なクラスで対応するようだ。そのうち。
301 名前:デフォルトの名無しさん mailto:sage [2014/04/11(金) 04:15:10.10 ID:Vf1XqNZR] 1/(2^N)だったかもしれん。
302 名前:デフォルトの名無しさん mailto:sage [2014/04/11(金) 04:59:03.30 ID:Vf1XqNZR] あぁ、この問題って消費税関係か。1.08倍ってすごいきりが悪いからな。 金融の話だったら、ハードに頼るな。ってとこだろう。 文字列の数字の四則演算を実装するのが結果的に早い気がする。
303 名前:デフォルトの名無しさん mailto:sage [2014/04/11(金) 06:19:44.07 ID:5I17xPmm] >>286 >>288 改良版だcodepad.org/DuNxC4mA >>288 >これは流石に駄目だと思う。 完了版では処理系の double -> int 切捨てルーチンに丸投げした double x; (int)x
304 名前:デフォルトの名無しさん mailto:sage [2014/04/11(金) 13:00:39.99 ID:wnV3IcE/] >>303 前の版もそうだけど出力が1/10になってない?
305 名前:デフォルトの名無しさん mailto:sage [2014/04/11(金) 14:53:37.64 ID:5leeoZfo] ideone.com/jWOJDC 昨日作ってたけど先越されてたのでほっといたけどレス伸びてたのでせっかくだから貼る 小数点以下6桁表示決め打ちのウンコです
306 名前: ◆QZaw55cn4c mailto:sage [2014/04/12(土) 12:46:01.37 ID:86gOYBKT] >>304 ご指摘感謝 今回はアイディア倒れに終わっちまった‥‥ >>283 訂正します codepad.org/5zbOAPWc
307 名前:デフォルトの名無しさん mailto:sage [2014/04/15(火) 01:46:58.12 ID:S0P14nXJ] >>266 ideone.com/80gDLu
308 名前:デフォルトの名無しさん [2014/04/15(火) 16:19:28.76 ID:+gsaL0ih] [1] 授業単元:基礎プログラミング [2] 問題文(含コード&amp;リンク):入力した数が奇数の場合表示する。入力した奇数の和が20を超えるまで繰り返すプログラム。 [3] 環境 [3.1] OS:Windows [3.2] コンパイラ名とバージョン:Visual C++ 2010 [3.3] 言語:C++ [4] 期限:4月18日
309 名前:デフォルトの名無しさん [2014/04/15(火) 18:09:39.29 ID:+gsaL0ih] ↑自己解決しました
310 名前:デフォルトの名無しさん mailto:sage [2014/04/19(土) 02:38:29.25 ID:JqCVcRIk] >>283 ttp://ideone.com/pcIxc3
311 名前:デフォルトの名無しさん mailto:sage [2014/04/20(日) 15:44:01.96 ID:5MmzIGIw] shitumo
312 名前:デフォルトの名無しさん mailto:sage [2014/04/20(日) 16:19:00.77 ID:4j91Sc/0] test
313 名前: ◆QZschizo.ptH mailto:sage [2014/04/20(日) 16:19:52.37 ID:4j91Sc/0] test
314 名前:デフォルトの名無しさん [2014/04/23(水) 21:05:40.39 ID:I5h19qdV] わからんちん gyazo.com/88c216f64dbaebe801e4f519c0d2dcc2
315 名前:デフォルトの名無しさん mailto:sage [2014/04/23(水) 21:39:45.87 ID:bWoLrxMT] >>314 static intを使うと ideone.com/vn92Ur グローバル変数を使うと ideone.com/GNdex3 staticとグローバル変数くらいは使えるようにならないと後で辛くなると思う。
316 名前:デフォルトの名無しさん mailto:sage [2014/04/24(木) 02:07:15.99 ID:JIk666B7] それ見てクワイン思い出した ja.wikipedia.org/wiki/%E3%82%AF%E3%83%AF%E3%82%A4%E3%83%B3_ (%E3%83%97%E3%83%AD%E3%82%B0%E3%83%A9%E3%83%9F%E3%83%B3%E3%82%B0) 要するに自分自身を出力するプログラムだけど、そうではなくて中でプログラムをジェネレート してからコンパイルするっていうアイディアがSTLだったんだよな
317 名前:デフォルトの名無しさん [2014/04/28(月) 15:52:23.27 ID:k1ZU+eWD] [1] 授業単元:プログラミングII [2] 問題文(含コード&リンク): 課題: #include < stdio.h > int main (void){ int i; float taiju[10]={58.6,65.2,74.4,46.0,52.8,62.4,55.0,51.2,54.8,48.4}; float total,average; total=0; for(i=0;i<10;i++){ total+=taiju[i]; } average=total/10; printf("Total=%.1f\n",total); printf("Average=%.1f\n",average); return 0; このプログラムを関数にするにはどこをどうしたらいいですか? }
318 名前:デフォルトの名無しさん [2014/04/28(月) 16:09:36.15 ID:PJcE9AjA] for(i=0;i<10;i++){ total+=taiju[i]; } average=total/10;
319 名前:デフォルトの名無しさん mailto:sage [2014/04/28(月) 16:28:41.96 ID:tez0BZs4] >>317 ideone.com/EYr66x 題意は参照渡しが出来るかを試していると予想。 取り敢えず、参照渡しを覚える事を推奨する。
320 名前:デフォルトの名無しさん [2014/04/28(月) 16:35:48.86 ID:k1ZU+eWD] >>319 回答ありがとうございます。 渡しの部分が分からなかったのでしっかり覚えたいと思います。 アドバイスありがとうございます。
321 名前:デフォルトの名無しさん mailto:sage [2014/04/28(月) 17:23:22.28 ID:vBB1ZBuL] >>317 俺ならこう書き直すな…… コメントはしっかり付けたから、 頑張って意味を読み取ってくれ codepad.org/Lk4gO1qY
322 名前:デフォルトの名無しさん [2014/04/28(月) 17:54:09.16 ID:k1ZU+eWD] >>321 さん sizeof関数まだ習ってないんですが、sizeof使わない場合はどうなるんですか? なんども聞いてすいません。
323 名前:デフォルトの名無しさん mailto:sage [2014/04/28(月) 18:06:47.35 ID:vBB1ZBuL] >>322 別に配列サイズを別途与えてもいいけど、 sizeofを使って割り算で出すやり方がC言語では定番だということ (学習用だからまだ習ってないsizeofは使えないんです><ってことなら「10」と決めうちしてもOK) そもそも、計算させる際に配列サイズをベタ書きする方がおかしいわけで (C言語なら#defineで定数宣言するといった分かりやすい手段があるのに)
324 名前:デフォルトの名無しさん [2014/04/28(月) 18:31:47.37 ID:2XbObvdB] [1] 授業単元:プログラミング基礎 [2] 問題文 text.txtというファイルに以下のような個人情報が保存されているとする。これを読み込み、 実行例のように画面に出力するプログラムを作成しなさい。 ヒント: 氏名の読み込みでは"name: %s\n"のような変換仕様を用いると良い。 ▼text.txtの内容 name: Ichiro age: 20 weight: 65.5 e-mail: ichiro@foo.bar ▼実行例 氏名: Ichiro 年齢: 20 体重: 65.5 Eメール: ichiro@foo.bar ご教示願います
325 名前:デフォルトの名無しさん mailto:sage [2014/04/28(月) 18:47:13.71 ID:vBB1ZBuL] >>324 え、ヒントの通りじゃね? 要するにfscanf関数使えってことでしょ? fscanf関数の使用例: hitorilife.com/fscanf.php www.c-tipsref.com/reference/stdio/fscanf.html
326 名前:デフォルトの名無しさん mailto:sage [2014/04/28(月) 19:11:16.56 ID:vBB1ZBuL] とりあえず模範解答。fscanfの書式指定が奇妙に見えるだろうが、 こうしないと名前に半角空白が入っていた場合途中で切れるからしゃーない (例:「name: Taro Yamada」にしてた場合、「name: %255[^\n]\n」だと「Taro」までしか読まれない) codepad.org/VbsaV5Qs
327 名前:デフォルトの名無しさん mailto:sage [2014/04/28(月) 19:12:47.85 ID:vBB1ZBuL] 3行目ミスったw × (例:「name: Taro Yamada」にしてた場合、「name: %255[^\n]\n」だと「Taro」までしか読まれない) ○ (例:「name: Taro Yamada」にしてた場合、「name: %255s\n」だと「Taro」までしか読まれない)
328 名前:デフォルトの名無しさん [2014/04/28(月) 19:45:01.50 ID:CAFKzRDO] >325 >326 ありがとうございます。 おかげさまで解決できました。
329 名前: ◆0qAv26otVI mailto:sage [2014/04/30(水) 01:36:50.87 ID:IeCzK9WS] 100000000000000 16384 10000000000000 8192 1000000000000 4096 100000000000 2048 10000000000 1024 1000000000 512 100000000 256 10000000 128 1000000 64 100000 32 10000 16 1000 8 100 4 10 2 1 1 0.1 0.5 0.01 0.025 0.001 0.0125 0.0001 0.00625 0.00001 0.003125 0.000001 0.0015625 0.0000001 0.00078125 0.00000001 0.000390625 0.000000001 0.0001953125 0.0000000001 0.00009765625 0.00000000001 0.000048828125 0.000000000001 0.0000244140625 0.0000000000001 0.00001220703125
330 名前:デフォルトの名無しさん mailto:sage [2014/04/30(水) 09:28:52.34 ID:f1RvcKlk] >>329 URRで良いやん。
331 名前: ◆0qAv26otVI mailto:sage [2014/04/30(水) 12:18:34.26 ID:IeCzK9WS] 2048個の配列に初期値入れておけば、あとは10進の足し算でやって下さい。 >>言葉足らずでした。
332 名前:デフォルトの名無しさん mailto:sage [2014/04/30(水) 13:15:50.11 ID:BnmcVkVe] >>331 で、何の意味があるの? それが10進数の電卓作るときに役だつの?
333 名前: ◆0qAv26otVI mailto:sage [2014/05/01(木) 01:49:32.67 ID:kg1PsNpN] >>283 #include <stdio.h> #include <math.h> struct str_aa {double a; int b; }; struct str_aa aa[2][1024] = { 1.0000000000000000,+0, 5.0000000000000000,-1, 4.4501477170144028,-308, 2.2250738585072014,-308, 1.1125369292536007,-308, 1.0000000000000000,+0, 2.0000000000000000,+0, 4.4942328371557898,+307, 8.9884656743115795,+307}; int main() { union bb_str {double a; int b[2];}; union bb_str bb; int j; bb.a = 1.4272476927059599e+45; j = ((bb.b[1] >> 20) & 0x7FF) - 1024; printf("%08X %08X %d\n", bb.b[1], bb.b[0], j ); printf("%.16fe%+04d", aa[1][j+1].a, aa[1][j+1].b ); return 0; }
334 名前:デフォルトの名無しさん mailto:sage [2014/05/01(木) 04:03:47.77 ID:QEsY+r5w] お、なんか魔法使い来たぞ
335 名前:>>333 mailto:sage [2014/05/01(木) 07:35:46.70 ID:kg1PsNpN] これは完成版ですか? 少数以下を16桁に変更させて頂いてOK? >>305 後、ほめられたのでおまけ: #include <stdio.h> #include <math.h> void putdouble(double d); // >>305 int main(void){ int i; double a = 123.4e+20; putdouble(a); a = 1.0; for(i=0; i<1024; i++){ printf("%.16e\n", a); a /= 2.0; } a = 1.0; for(i=0; i<1024; i++){ printf("%.16e\n", a); a *= 2.0; } return 0; }
336 名前:333 mailto:sage [2014/05/04(日) 21:58:51.85 ID:T5QjrG4C] codepad.org/ TixBAUrj 誰か見て、感想お願いします。
337 名前:デフォルトの名無しさん mailto:sage [2014/05/04(日) 22:49:18.30 ID:Ryn/of2a] 補完 codepad.org/TixBAUrj
338 名前:デフォルトの名無しさん mailto:sage [2014/05/05(月) 20:17:58.66 ID:KB14phN5] 俺ならこうするぜ。(負数は未対応なんだぜ) #include <math.h> void disp(double); main() { double d = 123.456; disp(d); } void disp(double d) { int i,n; double x = pow(10, ((int)log10(d))); for(i=0; i<10; i++) { n = d / x; putchar('0' + n); if(x == 1.0) putchar('.'); /* この比較はよくないぜ */ d = fmod(d, x); x /= 10.0; } }
339 名前:デフォルトの名無しさん mailto:sage [2014/05/07(水) 20:30:29.82 ID:5dQlzvFd] >>283 codepad.org/fnwI0ZPh
340 名前:デフォルトの名無しさん mailto:sage [2014/05/07(水) 22:15:57.26 ID:ZBYNUAwB] >>283 C++ codepad.org/XALjtgEa >>339
341 名前:339 mailto:sage [2014/05/07(水) 23:01:40.00 ID:5dQlzvFd] 結果が大きすぎた。10倍する前にキャリーを足すのではなく10倍してから足してくれ。すまんかった
342 名前:340 mailto:sage [2014/05/11(日) 19:30:57.09 ID:aKdUIV9w] // wk &= 0x7ff0 0000 0000 0000; wk &= 0x7ff0000000000000LL; // longlong.ull += carry; // // longlong.ull *= 10; // longlong.ull *= 10; // longlong.ull += carry; // /* 指数が 0 〜 52 なら表示する */ // if(data_sisue >= 0 && data_sisue < 53){ /* 指数が 0 〜 48 なら表示する 48 + 1023 = 0x42F */ if(data_sisue >= 0 && data_sisue < 49){ case_seisueWithSyousue(); }
343 名前:339 mailto:sage [2014/05/12(月) 02:37:45.75 ID:MKmfYHpq] >>340 153: if(flg == 0){ 154: //if(longlong.ul2[1] == 10){ //下から1.0が上がってきた 155: // printf("kuriagattaze "); 156: // ++(data_seisue[0]); 157: // longlong.ul2[1] = 0; 158: //} 159: //disp_seisue(); 160: printf("."); 161: flg = -1; 162: } 190: } 191: } new disp_seisue(); 192:}
344 名前:デフォルトの名無しさん [2014/05/14(水) 01:32:28.65 ID:Qd/1lT4o] gyazo.com/d95028bdea8af92bad1729ad221b1130 これわからん・・。
345 名前:デフォルトの名無しさん mailto:sage [2014/05/14(水) 01:36:59.56 ID:mdmP4rsg] >>344 マルチポストはいけないよ プログラミングのお題スレ Part3 toro.2ch.net/test/read.cgi/tech/1390525149/682-683 682 名前:デフォルトの名無しさん[] 投稿日:2014/05/14(水) 01:31:14.84 ID:Qd/1lT4o gyazo.com/d95028bdea8af92bad1729ad221b1130 683 名前:デフォルトの名無しさん[] 投稿日:2014/05/14(水) 01:33:37.97 ID:Qd/1lT4o >>682 わからん
346 名前:デフォルトの名無しさん mailto:sage [2014/05/14(水) 01:38:48.44 ID:Jr7baMzo] {}
347 名前:340 mailto:sage [2014/05/15(木) 00:10:50.74 ID:4j/hvYC8] //void compute(){ /* 指数が 0 〜 52 なら表示する 52 + 1023 = 0x433 */ // if(data_sisue >= 0 && data_sisue < 53){ if(data_sisue >= -52 && data_sisue <= 52){ case_seisueWithSyousue(); } //void case_seisueWithSyousueSisueLE11(){ if(data_sisue >= 0) longlong.ull <<= data_sisue;/* 指数分(0 〜 11)だけ左シフト */ else longlong.ull >>= -data_sisue;/* 指数分(-52 〜 -1)だけ右シフト */ //void disp_seisue(){ if(!data_keta) printf("%d", 0); for(int i = data_keta - 1; i >= 0 ; i--) printf("%d", data_seisue[i]); >>いじょ Good bye.
348 名前:デフォルトの名無しさん [2014/05/16(金) 18:10:02.95 ID:LyHYCBhP] [1] 授業単元:基礎プログラミング [2] 問題文(含コード&amp;リンク): wavファイルを読み込みテキストデータに変換、そのデータをフーリエ変換したものを画面に出力 [3] 環境 [3.1] OS:Windows [3.2] コンパイラ名とバージョン:Visual Studio 2010 [3.3] 言語:C [4] 期限:5月19日
349 名前:デフォルトの名無しさん mailto:sage [2014/05/16(金) 18:13:43.46 ID:mI+a74mQ] スペクトラムアナライザのフーリエ部分だけでいいのか? 全体記述するとかなり巨大になるぞ
350 名前:デフォルトの名無しさん mailto:sage [2014/05/16(金) 19:30:32.75 ID:a2G3KqVr] そのフーリエ変換はライブラリ使ってもいいのか? 「基礎プログラミング」という名前から察するに WAV読み込みすら課題として難しすぎる気がする……
351 名前:340 ◆0qAv26otVI mailto:sage [2014/05/17(土) 22:37:14.10 ID:MpfkVryu] >>283 codepad.org/THT9olE7
352 名前:デフォルトの名無しさん mailto:sage [2014/05/18(日) 06:03:30.65 ID:UqGH8+5G] >>348 ライブラリ使用可じゃないと時間的に難しいぞ >>350 氏がいうようにwavの読み込み、解析でも結構な手間だぞ
353 名前:デフォルトの名無しさん mailto:sage [2014/05/18(日) 06:38:29.37 ID:7v87Hd7x] 先生が口頭や板書でヒントとか出してることもあるだろうけど だいたいこのスレで質問する質問者どもはそういうのを聞いてなかったり見逃してたりするんだろうね
354 名前:デフォルトの名無しさん mailto:sage [2014/05/18(日) 06:50:32.25 ID:7v87Hd7x] wav抽出だけならノウハウがネット上にいくらでもあるし marupeke296.com/DS_No2_GetSoundDataFromWav.html フーリエ変換もFFTのコード適当に拾ってくりゃいいんじゃないの
355 名前:デフォルトの名無しさん mailto:sage [2014/05/18(日) 08:36:41.49 ID:OmC98YTB] OSとコンパイラが指定されているからdoubleの内部表現決め打ちでいいわけか
356 名前:340 mailto:sage [2014/05/18(日) 10:19:53.72 ID:BFkwxb50] 3.14 x 1/2048 でも10進表現OKか
357 名前:デフォルトの名無しさん mailto:sage [2014/05/18(日) 11:03:53.27 ID:ICbJFvwM] 動かしてないけど内容的には www.geocities.jp/horie_ryu/page01.html とかでええんでねぇの
358 名前:デフォルトの名無しさん mailto:sage [2014/05/18(日) 11:11:40.83 ID:untGUeAU] >>357 まあそうなんだろうけど、FFTじゃなくてDFTって時点で…… >>353 無視するならそもそもFFTを自分で書かないけどな
359 名前:デフォルトの名無しさん [2014/05/18(日) 14:26:18.43 ID:T4xlj6Hv] 1] 授業単元:プログラミングII [2] 問題文(含コード&amp;リンク): 3つの整数型一次配列vec1,2,3の先頭アドレスに要素数nを与えると、2つの配列vec1とvec2のそれぞれの和を計算し、vec3に代入する関数getarraysumを作成する。main関数では、5つの要素をもつ変数型配列vec1,2,3を定義する。 vec1は1,2,3,4,5で初期化し、vec2は10,20,30,40,50で初期化する。そして、作成した関数を呼び出し計算を行い、その結果で得られたvec3の値を表示する。 表示例 vec3[0]=11 vec3[1]=22 . . . これをポインタにするとどうなりますか? ご教授お願いします。
360 名前:デフォルトの名無しさん mailto:sage [2014/05/18(日) 14:45:33.15 ID:H/JD4vj2] どこをポインタにしたいんだ
361 名前:デフォルトの名無しさん [2014/05/18(日) 14:59:18.40 ID:T4xlj6Hv] >>360 vec3です。
362 名前:デフォルトの名無しさん mailto:sage [2014/05/18(日) 15:26:21.75 ID:lWjJVkd2] >>359 C/C++は知らないので馬鹿な質問なのかも知れませんが、 「3つの整数型一次配列vec1,2,3の先頭アドレスに要素数nを与えると」 これって普通の表現ですか。
363 名前:デフォルトの名無しさん mailto:sage [2014/05/18(日) 15:29:02.99 ID:mmOjks5D] >>362 ナイス突っ込み
364 名前:デフォルトの名無しさん mailto:sage [2014/05/18(日) 15:33:00.30 ID:DIHfwpMS] メモリポインタにしたいのか
365 名前:デフォルトの名無しさん mailto:sage [2014/05/18(日) 15:38:31.73 ID:P2EXL/Ge] コピペミスか出題者の日本語能力不足か分からないけど 三つの整数型の一次元配列vec1,vec2,vec3と、その要素数nを与えると だろうね言いたいのは
366 名前:デフォルトの名無しさん mailto:sage [2014/05/18(日) 15:45:28.06 ID:P2EXL/Ge] 表示例が配列になってるのをポインタにしたいってことですかね 例 *(vec3+0)=11
367 名前:デフォルトの名無しさん mailto:sage [2014/05/18(日) 17:32:32.13 ID:d9R6JRvl] >>350 >>352-354 WAVの読み込みは手間だけど、離散フーリエ変換はFFTじゃないDFTなら問題なくね? サンプル数(ウィンドウサイズ)分のforループを二重に回せば演算時間はともかく変換はできる。
368 名前:デフォルトの名無しさん mailto:sage [2014/05/18(日) 19:32:38.23 ID:untGUeAU] >>359 とりあえず「ご教示」な 解答としてはこんな感じ? codepad.org/jfTHHfCc
369 名前:デフォルトの名無しさん [2014/05/18(日) 22:48:38.01 ID:T4xlj6Hv] >>368 回答ありがとうございます。 自分で考えてもう一度解いてみます。
370 名前:デフォルトの名無しさん mailto:sage [2014/05/19(月) 00:56:39.26 ID:UDyOnYKb] >>367 いずれにせよスレのレベル超える難易度の宿題だよな
371 名前:デフォルトの名無しさん mailto:sage [2014/05/19(月) 12:29:53.17 ID:ozr2de0w] [1] 授業単元:プログラミング演習2 [2] 問題文: malloc とrealloc を用いて、繰り返し入力された文字列を連結していく。文字列 quit が入力されたとき繰り返しを終了してできあがった文字列を表示するプログ ラムを作成 [3] 環境 [3.1] OS:Windows 8 [3.2] コンパイラ名とバージョン:Borland C++ 5.5.1 for Win32 [3.3] 言語:C [4] 期限:5月20日 pastebin.com/0BLX3vfH 上記のように作ってみたのですが、正常に動作していないようです。 30文字程度入力するとデータが飛ぶのでreallocあたりかと思うのですが、どこをどうすればいいのかわかりません。 よろしくお願いします。
372 名前:デフォルトの名無しさん mailto:sage [2014/05/19(月) 12:34:26.86 ID:ozr2de0w] 後付けで申し訳ありません。 getchar()にて一文字ずつ付け足す方式の回答はできているのですがfgetsが大好きなのでできる限り改変なしで手直しかアドバイスをいただければ幸いです。
373 名前:デフォルトの名無しさん mailto:sage [2014/05/19(月) 12:41:47.58 ID:mxK7K6eG] >>372 「好き」って一体何なんだよ…… だいたいソースコード中に「30」って数字が入ってるじゃねーかw
374 名前:デフォルトの名無しさん mailto:sage [2014/05/19(月) 12:53:35.16 ID:ozr2de0w] 途中で気付いて入力制限を無くしたバージョンを作ったのですが、上のコードが動かないことが気持ち悪くて質問させていただきました。 また、"30文字程度"というのは一度にではなく合計でです。
375 名前:デフォルトの名無しさん mailto:sage [2014/05/19(月) 13:15:42.07 ID:wBsls3I6] >>371 ざっと見ただけだけど reallocが返すアドレスをmainまで返してないからじゃない?
376 名前:デフォルトの名無しさん mailto:sage [2014/05/19(月) 13:29:15.87 ID:yPaRcm/E] そうね。ポインタの使い方を間違ってる str をポインタで渡すか reallocで確保された ptr 値を返却して main 関数内で str に代入するかしないと
377 名前:デフォルトの名無しさん mailto:sage [2014/05/19(月) 16:32:02.51 ID:8OgLlmDp] >>371 my_strcat();みたいな処理をmainのwhile内に書いたほうが悩まずに済むと思う
378 名前:デフォルトの名無しさん mailto:sage [2014/05/19(月) 17:35:06.77 ID:8OgLlmDp] >>371 > 上記のように作ってみたのですが、正常に動作していないようです。 > 30文字程度入力するとデータが飛ぶのでreallocあたりかと思うのですが、どこをどうすればいいのかわかりません。 これは、 1. 28行目のfgetsで30bytesからあふれた分が次回のfgetsで拾われる 2. 8行目で強引に終端文字を\0 にしているから文字欠けが生じている の2つが重なったのが原因だと思います。 ideone.com/Ff4R0x みたいにすれば良いかも。
379 名前:デフォルトの名無しさん mailto:sage [2014/05/19(月) 17:58:07.75 ID:8OgLlmDp] ちなみに、realloc();が失敗した場合元のブロックは解放されたり移動されたり しないそうなので、strのために確保したメモリは注意が必要。
380 名前:デフォルトの名無しさん mailto:sage [2014/05/19(月) 18:16:14.08 ID:ozr2de0w] >>375 >>376 関数とポインタについての理解が不十分だったようです。ご指摘ありがとうございました。 >>378 整ったコードをありがとうございます。参考にさせていただきます。 また、起きた事象の解説までしていただき恐れ多い限りです。 今夜はぐっすり眠れそうです。重ねてお礼申し上げます。
381 名前:デフォルトの名無しさん mailto:sage [2014/05/19(月) 19:14:04.33 ID:8OgLlmDp] >>378 は *str = '\0'; をしていなかった。 整っていないし…。 修正を入れた版 → ideone.com/X4p9LL
382 名前:デフォルトの名無しさん mailto:sage [2014/05/21(水) 01:52:36.45 ID:P13qVQqw] [1] 授業単元: Cプログラム [2] 問題文: 国際ダイヤル通話料金システムは次のようになっている @昼間料金(月曜日〜金曜日の午前8時から午後7時まで) 最初の1分まで300円 1分経過後6秒ごと15円 A夜間・休日割引料金(月曜日〜金曜日の午後7時から午後11時まで、および休日(土曜日、日曜日、祝日、正月三が日、振替休日)の午前8時から午後11時まで) 最初の1分まで240円 1分経過後6秒ごと12円 B深夜割引料金(日曜日〜土曜日の午後11時〜翌朝の午前8時まで) 最初の1分まで180円 1分経過後6秒ごと9円 通話時間と料金システムの区分(1~3)を入力して、それに該当する通話料金を計算して、出力するプログラムを作成せよ 例 通話時間を入力せよ(分 秒)- - - - >11 12 区分を入力せよ- - - - >2 あなたの通話料金は\1464です [3] 環境 [3.1] OS: Windows) [3.2] コンパイラ名とバージョン: 覚えてません [3.3] 言語: C [4] 期限: 5月21日か22日 [5] その他の制限: 特になし よろしくお願いします
383 名前:デフォルトの名無しさん mailto:sage [2014/05/21(水) 09:42:11.50 ID:zcLf8qzD] >>382 ttp://ideone.com/9GzhfN
384 名前:デフォルトの名無しさん mailto:sage [2014/05/21(水) 15:55:03.02 ID:zcLf8qzD] >>382 ,383 バグ修正 ttp://ideone.com/yV03T1
385 名前:デフォルトの名無しさん mailto:sage [2014/05/24(土) 06:30:53.05 ID:GtRtgzPJ] >>382 ここでの問題は区間入力だから、単純だが、それでも区間を跨る場合の定義が書いていない。 本来は通話開始時刻と通話時間の二入力で出題されるところだろうが、その場合、 国民の祝日、休日の確定が必要で結構やっかい。春分の日、秋分の日は前年の二月一日の 官報に掲載されるまで決定できない。
386 名前:デフォルトの名無しさん mailto:sage [2014/05/24(土) 15:39:12.12 ID:pI+dKANJ] codepad.org/iSvhZg26 codepad.org/qjHj79OK ここであってるのかわかりませんが、RPCサーバの課題についてです。 double型の値(x)を受け取り、その値から2.4*x*(1-x)を計算した結果をdouble型で返す RPCサーバとクライアント(データ(x)送信範囲は0<x<1)の作成なんですが、プログラミングについて理解があまりないので 教えていただけませんか? RPCサーバをコンパイルするも 警告: 暗黙的な関数宣言: registerrpc と表示されたり RPCクライアントをコンパイルするも 警告: 暗黙的な関数宣言: callrpc と表示され何が問題なのかさえわかりません。
387 名前:デフォルトの名無しさん mailto:sage [2014/05/24(土) 18:16:25.56 ID:imaRiqLQ] >>386 >>警告: 暗黙的な関数宣言: registerrpc その警告は「関数宣言がないから、暗黙的な関数宣言があったものとするよ」という意味。 #include <rpc/rpc.h>を入れれば消えるのでは?
388 名前:デフォルトの名無しさん mailto:sage [2014/05/24(土) 20:27:35.18 ID:Sb4iXA5P] [1] 授業単元:Cプログラミング [2] 問題文(含コード&リンク): プレイヤーvsモンスターの戦闘ゲーム [3] 環境 [3.1] OS:Windows [3.2] コンパイラ名とバージョン:Visual Studio 2010 [3.3] 言語:C++ [4] 期限:5月26日 [5] その他の制限: 1対1のターン制で宜しくお願いします
389 名前:デフォルトの名無しさん mailto:sage [2014/05/24(土) 20:44:15.43 ID:5k74nlaX] >>388 codepad.org/F8YUTiSQ
390 名前:デフォルトの名無しさん mailto:sage [2014/05/24(土) 20:47:42.79 ID:BoH7rvjb] >>388 せめてパラメータとか攻撃方法とかぐらい書けよ!
391 名前:デフォルトの名無しさん mailto:sage [2014/05/24(土) 20:50:41.21 ID:BoH7rvjb] と思ったら>>389 で出てた。Magic連打してたらすぐ勝てそうなのはきっと気のせい
392 名前:デフォルトの名無しさん mailto:sage [2014/05/24(土) 22:46:47.83 ID:Sb4iXA5P] >>389 サクセス! どちらかのHPが0になった時に戦闘を終了するようにはできないのでしょうか……?
393 名前:デフォルトの名無しさん mailto:sage [2014/05/24(土) 22:52:44.98 ID:5k74nlaX] ああ、条件式間違ってたな while (PlayerHP > 0 || MonserHP > 0) じゃなくて while (PlayerHP > 0 && MonserHP > 0) だた
394 名前:デフォルトの名無しさん mailto:sage [2014/05/24(土) 22:58:59.51 ID:znGmyzXe] >>392 >サクセス 成功(Success)? ……この実装だと0キッカリというのは難しいな(負数になり得るので) PlayerHPとMonsterHPをunsignedにするとかすれば大丈夫だろう
395 名前:デフォルトの名無しさん mailto:sage [2014/05/24(土) 23:04:46.09 ID:znGmyzXe] >>393 なんだ、一度も走らせたことないのか…… 「MonserHP」ってtypoしてるし、この書き方だと Magic4回→Attack1回→Magic1回ってやるとバグるぞ? codepad.org/xzCoDYRw 理由は言わずもがな
396 名前:デフォルトの名無しさん mailto:sage [2014/05/24(土) 23:06:15.64 ID:eVT80dAs] この状況でunsignedにしたら無限ループじゃないか
397 名前:デフォルトの名無しさん mailto:sage [2014/05/24(土) 23:08:38.64 ID:imaRiqLQ] >>394 逆
398 名前:デフォルトの名無しさん mailto:sage [2014/05/24(土) 23:09:25.33 ID:znGmyzXe] >>396 その場合は条件式をいじって…… いやまあ>>395 の時までは真面目にソース読んでなかったのよw
399 名前:デフォルトの名無しさん mailto:sage [2014/05/26(月) 09:36:06.44 ID:Cxl0XcJF] >>386 何ですが double型で送信して、値の返却もdouble型でするには、どこをいじればいいのでしょうか?
400 名前:デフォルトの名無しさん mailto:sage [2014/05/26(月) 18:37:13.95 ID:l2nsfm+B] 2ch.netへ再送。 >>388 ubuntuとかのlinuxディストリならAnswer 1を参照。solarisなら-lrpcでいけるのかな? stackoverflow.com/questions/13145930/undefined-reference-to-registerrpc >>401 extern int registerrpc(int, int, int, char *(*)(char [UDPMSGSIZE]), xdrproc_t, xdrproc_t); registerrpcの第4引数と第5引数を、xdr_intからxdr_doubleにすることで、 doubleを考慮したネットワークバイトに変換してくれるみたい。 funcの戻り値と引数はchar *func(char *udpmsg)にするのと、 xdr_doubleはxdrproc_tでキャストした方が良い。 static char *func(char *input) { static double output; double *ptr = (double *) input; /** 第4引数のxdr_doubleで読み込み側のネットワークバイトオーダを、第5引数で書き込み側をケア */ output = *ptr + *ptr; return (char *) &output; }
401 名前:400 mailto:sage [2014/05/26(月) 18:41:14.32 ID:l2nsfm+B] ファック。レス番号までずれてやがる!もういいっす。
402 名前:デフォルトの名無しさん mailto:sage [2014/05/26(月) 22:52:16.16 ID:A1ad6/Mw] >>399 通信は基本的にビットを送信していると思ってください。ビットそのものには意味がありません。 ビットの塊にフォーマットを与えることでその仕事を成します。 基本的にはお約束にしたがってdoubleっぽいビット列をキャストしてやればいいんじゃないでしょうか。
403 名前:デフォルトの名無しさん mailto:sage [2014/05/27(火) 07:07:22.16 ID:b3eX0olM] わかってねえなら黙れよ。
404 名前:デフォルトの名無しさん mailto:sage [2014/05/27(火) 20:44:35.69 ID:5Qu+jOxY] シーン。
405 名前:デフォルトの名無しさん mailto:sage [2014/05/28(水) 06:55:00.23 ID:ZyYrP6pw] 描き込まずにチンコ弄くります
406 名前:デフォルトの名無しさん [2014/06/10(火) 01:27:04.86 ID:bRopYhGX] [1] 授業単元:プログラミング基礎 [2] 問題文(含コード&リンク): codepad.org/Tdb29gRf 以下の制約の下で、プログラムを改修し、処理にかかる時間を短縮しなさい。 1.グレースケール画像、エッジ画像、合成画像、それぞれ3つの作成は別の関数で行う。 2.画像のためのメモリは動的に確保する 3.画像のサイズ、リピート回数は変えない 4.改修する前にこのプログラムをそのまま実行した時に生成される画像と、改修後の結果画像が変わらない よろしくお願いします。 [3] 環境 [3.1] OS: Linux [3.2] gcc [3.3] 言語: C [4] 期限: 2014年6月11日17:00まで [5] その他の制限:
407 名前:デフォルトの名無しさん [2014/06/10(火) 07:42:12.24 ID:9RO//ztd] わっしょい
408 名前:デフォルトの名無しさん mailto:sage [2014/06/10(火) 08:54:06.64 ID:AtWi4EDz] >>406 J( 'ー`)し タケシのコードをスクラッチで書き直してみたよ。codepad.org/cQiOfJY8 (`Д) うるさい死ね 1割くらい遅えじゃねえか! J( 'ー`)し ごめんね。お母さん1次元配列派だから、インデックス値の計算に時間が少し掛かるみたい。 (`Д) うるさいくたばれ、返信すんな J( 'ー`)し ヘッダ処理も少し真面目にやってみました。たいせつにつかってね 食事はしていますか? (`Д) 死ねくそ女
409 名前:デフォルトの名無しさん mailto:sage [2014/06/10(火) 09:18:50.70 ID:FVnE5use] >>406 とりあえず × irregal 〇 illegal あとこっちでコンパイルしてみたらちゃんと(かどうか知らんが) 変な色の画像に変換された
410 名前:デフォルトの名無しさん [2014/06/10(火) 11:43:36.28 ID:GmSg9gy+] >>408 ありがとうございます 環境の違いなのかこっちで計測したら処理時間が元の8倍くらいかかりました 結果画像も違ってますね... >>409 わかりました そうです!変な色の画像になりますね
411 名前:デフォルトの名無しさん [2014/06/10(火) 11:46:42.70 ID:GmSg9gy+] >>406 ですが、環境が Oracle VM VirtualBoxの仮想マシンで動かしてるLinuxなのが原因ですかね その辺よくわからないんです
412 名前:デフォルトの名無しさん [2014/06/10(火) 12:00:22.30 ID:xGEOixPR] [1] 授業単元:プログラミング技術β [2] 問題文(含コード&リンク): ディスプレイに「何時(0〜23)」と表示し、キーボードから整数を入力すると入力値によって、以下のように表示し、この操作を-1を入力するまで繰り返す。 0〜3 Goodnight 4〜11 Goodmorning 12〜17 Goodafternonn 18〜20 Goodevening 21〜23 Goodnight 上記以外の数値 再入力 よろしくお願いします。 [3] 環境 [3.1] OS: Windwos [3.2] visualstdio 2013 [3.3] 言語: C++ [4] 期限: 2014年6月9日まで [5] その他の制限:
413 名前:デフォルトの名無しさん mailto:sage [2014/06/10(火) 13:08:07.48 ID:FVnE5use] >>411 わかんないけど念のため、 出力は別ファイル。もしかして同じファイルを上書きすると思ってない? 全面単色の画像を使ってたりしない?画像によっては変化ないかもしれない
414 名前:デフォルトの名無しさん mailto:sage [2014/06/10(火) 13:16:56.65 ID:FVnE5use] >>412 タイムマシン探さないと
415 名前:デフォルトの名無しさん [2014/06/10(火) 13:38:14.58 ID:ItrQsGd1] >>413 そこは大丈夫です、出力は別だと理解してます。 元画像はカラー画像を使ってます 全面単色ではないです グレースケールに変換する部分のループを改変すれば早くはなるんですけど結果画像が変わっちゃうんですよね
416 名前:デフォルトの名無しさん mailto:sage [2014/06/10(火) 14:44:06.94 ID:IE+cVxVO] >>414 そこは大丈夫です、既に利用申請は通っています
417 名前:デフォルトの名無しさん mailto:sage [2014/06/10(火) 16:23:12.10 ID:NFkRDJAj] >>415 ごめん課題を理解してなかった。409と413は無視して。 で改善の方法だけど、全く思い付かない 基礎の授業なんだよね・・ グレースケールのとこは小数点演算を整数演算にしたら 自分の環境では微妙に速くなったけど、こういうのは 期待値じゃないよね //ans[g][r]=(UCHAR)((data[g][r][0]+data[g][r][1]+data[g][r][2])/3.0+0.5); ans[g][r]=((data[g][r][0]+data[g][r][1]+data[g][r][2])*2/3+1)/2;
418 名前:デフォルトの名無しさん mailto:sage [2014/06/10(火) 16:50:44.67 ID:AtWi4EDz] >>410 すんません。コメントのスキップがバグってて結果画像が変わってるかもしれません。 diff --git a/ppm/ppm.c b/ppm/ppm.c index f31a799..6c72ede 100644 --- a/ppm/ppm.c +++ b/ppm/ppm.c @@ -120,9 +120,9 @@ static struct ppm *ppm_alloc_header_from_stream(FILE *text_stream) { struct ppm *ppm; int width, height, color; - char magic[4]; + char magic[3]; - if (fscanf(text_stream, "%2s", magic) != 1 || + if (fscanf(text_stream, "%2s\n", magic) != 1 || magic[0] != 'P' || magic[1] != '6') { ppm_pr_err("Invalid magic number"); return NULL; 画像データが欲しいな・・・チラッ
419 名前:デフォルトの名無しさん mailto:sage [2014/06/10(火) 17:06:56.99 ID:EOz1UYwi] >>412 ttp://ideone.com/47VWwF
420 名前:デフォルトの名無しさん mailto:sage [2014/06/10(火) 20:18:19.01 ID:aONg9Rvp] >>406 小手先のポインタラッチで多少早くなる(ただし最初から最適化ありでコンパイルするなら変わらんかも) ttp://codepad.org/fD0rji3C 画像のサイズを完全に固定していいのなら早くできそう
421 名前:420 mailto:sage [2014/06/10(火) 20:19:41.98 ID:aONg9Rvp] あ、すまん、手元の画像サイズに変更しちゃったままだから注意 #同じく画像データが欲しいな・・・チラッ
422 名前:420 mailto:sage [2014/06/10(火) 21:08:07.09 ID:aONg9Rvp] >>406 以下2点の対応による高速化 ・ループ内で固定のポインタは必ずループの最初に保持するように変更 ・多次元配列の実現方法として、ポインタのポインタをやめ、1次元配列でメモリ確保するように変更 ttp://codepad.org/h7frFJ2g 画像サイズは手元に合わせちゃったので注意 手元(cygwin gcc4.8.2)では25%位高速化した
423 名前:デフォルトの名無しさん [2014/06/10(火) 22:49:16.28 ID:nQmGr7gQ] >>417 いえいえ、わかりました 整数にしてしまうと、double型からint型に変わってしまって結果画像もかなり変わってきてしまうんです。 なので、*(1.0/3.0)にしてみたんですが、これでも少し変わってしまうんですよね... >>418 ありがとうございます 読み方がよく分からないのでちゃんと書き換えられるか心配ですが... 画像なんですが、ppmファイルなので上手くアップ出来ないですすいません... dropboxのリンクも貼れないですし何か方法ありますかね
424 名前:デフォルトの名無しさん mailto:sage [2014/06/10(火) 23:00:13.67 ID:CF7cNgR4] >>423 とりあえずPNGにしてアップしてみよう。 変換はこっちでやる前提で。
425 名前:デフォルトの名無しさん mailto:sage [2014/06/10(火) 23:25:39.83 ID:JSaVvobs] >>419 Windows cmdで開かせるように出来ないか。 論理演算子使用して。 どうも、ループと-1もしくはctrl D入れて終了が出来んのだ。 if (0 && 23) else if (a<0 && 3>a) 的な
426 名前:デフォルトの名無しさん mailto:sage [2014/06/11(水) 00:33:08.82 ID:Lpj6uie1] そんなへんてこなグレースケールでいいのかい
427 名前:デフォルトの名無しさん [2014/06/11(水) 02:36:34.93 ID:eXkj4KPK] >>420 ありがとうございます 申し訳ないんですがポインタラッチを知らないので全然わからないです。 呼び出した値によって判定して置き換える?感じでしょうか 把握できなくてすいません 画像のサイズは元画像のまま固定で大丈夫です >>422 変更点のわかりやすい記述ありがとうございます ポインタを使ったほうが処理が早い認識でしたが、1次元配列だとなぜ早くなるのでしょうか まだこちらで実行確認が出来ていないのがすごく申し訳ないです >>418 >>421 >>423 遅くなってすみません これが元画像です imgur.com/xn0p92M これを元のプログラムで処理するとこうなります imgur.com/zgkYExK
428 名前:デフォルトの名無しさん [2014/06/11(水) 02:39:37.52 ID:eXkj4KPK] ごめんなさいこの方がいいですね 元画像 imgur.com/xn0p92M.png 処理後 imgur.com/zgkYExK.png
429 名前:デフォルトの名無しさん [2014/06/11(水) 07:15:26.20 ID:BC77khn/] [1] 授業単元:配列 [2] 問題文:文字列txtを"abcdefg"、 文字列ptnを"ef"で初期化し、力任せ法を用いてtxt内でptnが最初に出現する位置を求め、 途中経過、最初に出現する位置(txtの添え字)、比較回数を以下のように出力せよ。 (※txtとptnの値が変わっても正常動作するようにし、ptnが出現しない場合はそのことを出力せよ。) [3] [3.2]linux [3.1] gcc [3.3] C言語 [4] 期限:14/6/12 [5] その他の制限:ポインタはまだ習っとりません。 先日for、whileによる繰り返し処理を習いました。
430 名前:デフォルトの名無しさん [2014/06/11(水) 07:23:51.87 ID:BC77khn/] 連投すいません。よろしく願いします 出力例: txt:abcdefg ptn:ef 1回目の比較 abcdefg e 失敗 2回目の比較 abcdefg e 失敗 (省略) N回目の比較 abcdefg e 成功 N+1回目の比較 abcdefg ef 成功 -----結果----- 添字: 4 比較回数: N+1回
431 名前:デフォルトの名無しさん mailto:sage [2014/06/11(水) 08:40:53.74 ID:gc0u05WB] >>423 417だけど417の変更では出力は変わらなかった。一応
432 名前:デフォルトの名無しさん mailto:sage [2014/06/11(水) 08:55:13.52 ID:mGD11vxw] >>429 入力がただのリターンだった時は出現しない?
433 名前:デフォルトの名無しさん mailto:sage [2014/06/11(水) 09:35:04.79 ID:mGD11vxw] > N回目の比較 > abcdefg > e > 成功 成功になってるのに途中経過がeなのはこれでいいのか txt:1234 ptn:23 の時の全出力例も載せて
434 名前:418 mailto:sage [2014/06/11(水) 10:36:37.89 ID:oyooQxgj] >>428 画像の提供ありがとう。>>418 の修正で結果画像が同じになるのを確認しました。しかし、重い。クソースでサーセン。 >>422 x86_64版gcc 4.4.7とかだと最適化オプションなしでも、 UCHAR (*tmpgyou)[][DIM3]の領域はスタックコピーが発生せず、 &(*data)[g]のアドレスの先頭アドレスのみをスタックに入れるコードになるみたいですね。 不思議。おしえてgccに詳しい人。 最適化オプションつけた場合、make_grayはほぼ同じになりますが、 上記の影響なのか、他2つの関数はfor文がまとめられ(jump命令が減る)、 パイプラインフラッシュの回数現象で相当速くなりますね。
435 名前:デフォルトの名無しさん mailto:sage [2014/06/11(水) 12:37:51.24 ID:XYJSlMo0] >>427 420=422です 勝手なオレオレ用語使ってしまってごめんなさい ポインタラッチ=ポインタをラッチ(保持)する=>>422 の変更点1つ目 です(ラッチというとハードウェアの言葉だからソフトでは使わないかも) 1次元配列のほうが速いのは、時間を測った結果そっちのほうが速かったから ・・・というのは半分冗談半分ホントだけども ポインタのポインタだと、一つ目のポインタの中身を知るためにメモリアクセスし、その値が指す先に再度メモリアクセスして値を取得する (インデックス計算→メモリアクセス→インデックス計算→メモリアクセス) 1次元配列だと、インデックスの計算を複数回やった後に1度だけメモリアクセスする (インデックス計算→インデックス計算→メモリアクセス) この違いが後者のほうが速かったということ 基本的にはパイプライン処理してるプロセッサだとメモリアクセスはストールの原因になるので少ないほうが速い (x86ってCISC?だけどパイプライン処理してる?よね?あまり詳しくないです) 実際にはほかの要因もいろいろあるはずで、処理時間は最終的には計測してみるのが確実 >>434 UCHAR (*tmpgyou)[][DIM3]は宣言がややこしいですが、配列を指すただのポインタ変数です なので配列分の領域を持っているわけではないです 先頭アドレスを保持するためのポインタ変数として使ってるので意図通りですね
436 名前:デフォルトの名無しさん mailto:sage [2014/06/11(水) 12:41:13.61 ID:QAZZuHs2] >>427 >ポインタを使ったほうが処理が早い認識でしたが、 >1次元配列だとなぜ早くなるのでしょうか arr[i][j]で、1次元の要素数をA、 1ポインタのバイト数をBとして、アドレスを求めると、 (i * A + j) * B この、i * A の掛算が余分なのかな? ポインタは、p++ インクリメントで、Bバイトずつ進むが、 この時は掛算ではなく、Bずつ加算するので、 シーケンシャルアクセスした方が、キャッシュ乗りもよく速そう
437 名前:デフォルトの名無しさん mailto:sage [2014/06/11(水) 13:19:49.82 ID:gc0u05WB] >>436 最適化すればその掛け算は隠蔽されると思う 一次元配列にする方法の場合、踏み台の配列分のメモリアクセスが減るので メモリアクセスのコストだけ早くなるんだろうね cache hit してもそれなりのレイテンシはあるし。 ただ元のコードの柔軟性(callee側はサイズ依存しない)が 無くなるので、微妙な気もする
438 名前:デフォルトの名無しさん mailto:sage [2014/06/11(水) 13:37:07.36 ID:IQSYsiwa] >>433 2重ループ内のprintfデバッグメッセージで 内と外の語彙が同一ってだけかと 成功 大成功 とかすりゃ分かりやすいかもねw
439 名前:436 mailto:sage [2014/06/11(水) 14:48:31.92 ID:QAZZuHs2] >>437 for(〜i++){ for(〜j++){ arr[i][j] }} こういう2重ループの場合、(i * A + j) * B の、 i * A の部分は、掛算が必要なのでは? iが、0,1,2〜と変わるから
440 名前:デフォルトの名無しさん mailto:sage [2014/06/11(水) 15:10:11.51 ID:CtrbFu71] >>439 コンパイラによっては(gccなど)、アセンブラ用ソース出力可だから、最適化オプションを変えて出して見ればいい。
441 名前:デフォルトの名無しさん mailto:sage [2014/06/11(水) 15:12:18.16 ID:mGD11vxw] >>438 どこで2重使うのかわからないがなんとなくわかったありがと
442 名前:デフォルトの名無しさん mailto:sage [2014/06/11(水) 15:31:55.21 ID:IQSYsiwa] >>441 機能的にはstrstrの劣化版でしょ www.opensource.apple.com/source/xnu/xnu-792.13.8/libsa/strstr.c を改悪したものだと思えばいい
443 名前:429 mailto:sage [2014/06/11(水) 16:27:13.24 ID:BC77khn/] >>432-433 コピペしたんですがスペースがうまくコピー出来てませんでした 正しい表示例は、 最終的にabcdefのefの真下にefが表示される、と言ったかんじで、失敗したらptnの文字列が1文字分ずつずれるようにしたいです。
444 名前:デフォルトの名無しさん [2014/06/11(水) 16:44:15.61 ID:BC77khn/] >>433 出力例貼り忘れてました www.dotup.org/uploda/www.dotup.org5120326.png
445 名前:デフォルトの名無しさん mailto:sage [2014/06/11(水) 16:46:59.02 ID:XYJSlMo0] >>429 ,443 ttp://codepad.org/kjLe88XM
446 名前:デフォルトの名無しさん mailto:sage [2014/06/11(水) 16:51:59.87 ID:mGD11vxw] >>442 str系の仕様を認められてるのかわからないから使わずに1重でやってたわ 結果ありきだから速度とかは度外視
447 名前:429 mailto:sage [2014/06/11(水) 17:24:34.58 ID:BC77khn/] >>445 ありがとうございます
448 名前:デフォルトの名無しさん [2014/06/12(木) 05:33:24.07 ID:Abgsr/RV] viper.2ch.net/test/read.cgi/news4vip/1402516548/27n- C++er…出て来いや!
449 名前:デフォルトの名無しさん mailto:sage [2014/06/12(木) 13:06:28.39 ID:u0MLAqu6] >>448 codepad.org/3u1bGzGY codepad.org/vNJ5qzdj
450 名前:デフォルトの名無しさん [2014/06/12(木) 16:02:13.86 ID:6KI3I0Lz] >>435 >>436 説明ありがとうございます よくわかりました 昨日ぎっくり腰になったりして色々もたつきましたが、>>422 の変更で問題なく出力されましたし、間に合いました ちょっと整数演算に直しても上手く行ったので、最初に直した時は私の不手際があったのだと思います 最終的に最初の1/5以上高速化出来ました 本当にありがとうございました!
451 名前:1/2 mailto:sage [2014/06/12(木) 17:45:43.36 ID:25HL/Rbg] 入力したのが、素数かどうか判定するプログラム。 自分で考えた。 #include <stdio.h> int main(void) { int a,b,c=0; scanf("%d",&a); for(b=1;b<=a;b++) { if(a%b==0)c++; } if(c==2)printf("素数です\n"); else printf("素数ではありません\n"); return 0; } 解答。 #include <stdio.h> int main(void) { int a,b,c=1; scanf("%d", &b); for(a=2; a<=b/2; a++) if((b%a)==0) c = 0; if(c==1) printf("素数です"); else printf("素数ではありません"); return 0; }
452 名前:2/2 mailto:sage [2014/06/12(木) 17:46:17.06 ID:25HL/Rbg] 自分で考えたのは、整数を入力して、1からその数まで1ずつ増やし、割り切れたらcに1を足す。 for文から抜けて、cが2なら、1とその数でのみで割り切れるということなので素数。 1はc=1になるので含まれない。 って作ったのですが、解答の場合でも代入していって考えました。 代入していってだいたい分かりましたが、考え方は、公約数で1の次に大きな数が2で、 1と入力した数以外に約数がある場合、1番小さい数が2。だから、入力した数の半分まで ループさせれば、足りる、みたいな感じでしょうか。 解答のほうがforループの回数が半分なので、これが莫大な量になったとき 処理は早くなると思います。やはり、自分の考えでプログラムを書いて正しい答えを出すより、 分かりづらかったり考える必要があっても、最小限の手数で 正しい答えが出せるプログラムも理解していくべきでしょうか? 仕事などをされてる方は、このようにパッと見で少し理解が難しくても、 少しでも速くなるプログラムを書いてる方は多いですか?
453 名前:デフォルトの名無しさん mailto:sage [2014/06/12(木) 18:34:50.13 ID:P9Wf1hbp] 素数を知らない人(小学生とか)向けなら前者もいいけど 素数の計算で探索空間を半分にするのは常識というか ほぼ100%そうするコードしかないから、深く考えるようなことじゃない
454 名前:デフォルトの名無しさん mailto:sage [2014/06/12(木) 20:09:35.46 ID:TIE2YHiq] >>452 ゲーム作ることを考える。 たまにゲームでなんでこんな簡素な描画なのにこんなにくそ重たいねん。っていうゲームがあると思う。 そういうストレスを削減する意味でも計算オーダーを下げるのは重要。 そのうえで読めるコードを書くのも技術ですよ。 それと、逆算も技術。
455 名前:デフォルトの名無しさん mailto:sage [2014/06/12(木) 20:23:38.21 ID:25HL/Rbg] >>453 ,454 なるほどですね。 ありがとうございました。
456 名前:デフォルトの名無しさん [2014/06/13(金) 10:04:52.54 ID:eljxZ1z3] [1] 授業単元:グラフ理論 [2] 問題文(含コード&リンク): codepad.org/zOQeEjA6 完全列挙法を用いてTSPを解くプログラムを作成しなさい グラフの点を全て通って始点に帰ってくる経路の内、距離が最短なものを完全列挙法で導くプログラムです。 このプログラム内では点を都市としています 途中まで作った物がリンクのコードですが、最短の距離を算出するところが上手くかけません そして順列の書き方がわからなかったのでコピペしたのですが、どう動いているのかがよくわかりません また、こういう書き方の方が良いというのがありましたら教えていただきたいです よろしくお願いします [3] 環境 [3.1] OS: Linux [3.2] gcc [3.3] 言語: C [4] 期限: 2014年6月16日17:00まで [5] その他の制限:
457 名前:デフォルトの名無しさん mailto:sage [2014/06/13(金) 16:22:01.41 ID:M4x6Kn4S] >>456 ttp://codepad.org/Yu5KMoPW とりあえず計算できるようにはなってると思います set関数の引数i(編集後pos_cnt)は、i番目に通る都市を決める関数です。 その中で通る都市を仮定して、次のi+1番目の都市を決めるために再度setを呼び出しています。(元34行目) その際に、通る都市番号をposに保持し(元29行目)、通ったことを示すflagを1にしてます。(元33行目) 通る都市を決める際に、flagが1になっている都市を避けることで、同じ都市に何度も行かないようにしています。(元28行目) iが都市数まで増えると全都市を回ったことになるので、結果をprintで出力してその経路は終わり。(元31行目) 編集後のコードでは、set関数に引数distを追加して、経路をたどっている際にその距離も一緒に計測するようにしました。 全都市を回った際に、これまでの最大距離よりも大きければ保持するようにしてます。 書き方のアドバイスとして 自分の書いたコードが半年後もすぐ意味が分かるように読みやすいようにしたほうがいいですよ 最低限以下に気を付けるくらいですね ・インデントをつけましょう ・変数名は意味のある単語もしくはその省略形にしましょう(1〜2文字で許されるのはループ用の変数iとかjぐらいと思ったほうがいい) ・意味が分かりにくい箇所には適宜コメントを入れましょう
458 名前:デフォルトの名無しさん mailto:sage [2014/06/13(金) 18:40:15.90 ID:/N84HNYW] [1] 授業単元:プログラミン演習 [2] 問題文(含コード&リンク): s2.etowns.slyip.net/~c_cpp_homework/cgi-bin/joyful/joyful.cgi 問題文が長いので上記URLに投稿します 投稿者名は#458です [3] 環境 [3.1] OS: Windows8 [3.2] コンパイラ名とバージョン: Visual Stdio 2010 [3.3] 言語: C [4] 期限: 2014/06/18 [5] その他の制限: 自分でも考えてみましたがわかりません。 よろしくお願いします。
459 名前:デフォルトの名無しさん mailto:sage [2014/06/13(金) 22:25:12.70 ID:M4x6Kn4S] >>458 ttp://codepad.org/AYNHHZ3P アルゴリズムはほぼ参考ページの丸写しです 参考ページ:ttp://fussy.web.fc2.com/algo/algo3-2.htm
460 名前:デフォルトの名無しさん mailto:sage [2014/06/13(金) 22:35:52.71 ID:M4x6Kn4S] しまった仕様1が未達ですね すみませんが上記は破棄で
461 名前:デフォルトの名無しさん mailto:sage [2014/06/13(金) 22:37:06.35 ID:mWNJp1eR] >>458 ルックアップテーブルというのを使ってみた。 codepad.org/qbkPBAE5
462 名前:デフォルトの名無しさん mailto:sage [2014/06/13(金) 22:43:41.47 ID:mWNJp1eR] >>460 もったいない。 type __array[] = {...} type *array = __arrayで目をつむろうぜ。
463 名前:459 mailto:sage [2014/06/13(金) 23:07:16.98 ID:M4x6Kn4S] >>458 ttp://codepad.org/BXC0miZY 無理やりポインタを使うようにしてみた(imageにはかならずpoint経由でアクセス) >>462 似たような感じで変えてみましたw
464 名前: ◆E39m/9K3xY mailto:sage [2014/06/14(土) 08:41:42.15 ID:MYxhMzGN] >>461 >>463 回答ありがとうございます
465 名前:デフォルトの名無しさん mailto:sage [2014/06/14(土) 11:29:20.51 ID:hFdfnZbt] >>458 思いつくまま書いてもなんとかなった ポインタを使えってところが微妙に難しいところか codepad.org/Ky7wUZqB
466 名前:デフォルトの名無しさん mailto:sage [2014/06/14(土) 13:11:25.49 ID:IGGRlfrQ] >>458 ttp://codepad.org/iMJsA8Iz がんぱって削ってみた
467 名前: ◆E39m/9K3xY mailto:sage [2014/06/14(土) 18:00:04.42 ID:MYxhMzGN] >>465-466 回答ありがとうございます 解決できました
468 名前:デフォルトの名無しさん [2014/06/17(火) 20:25:40.64 ID:waqSsQEe] [1] 授業単元:画層処理演習 [2] 問題文(含コード&リンク): 長いのでこちらにまとめました。 codepad.org/WZx26C7D [3] 環境 [3.1] OS:Windows7 [3.2] Visual Stdio 2010 [3.3] 言語:C++ [4] 期限: ([2014年6月18日12時00まで]) [5] その他の制限: 自分でギリギリまで考えましたが分かりませんでした。 よろしくお願いします。
469 名前:デフォルトの名無しさん mailto:sage [2014/06/17(火) 21:51:23.95 ID:uAYqPugm] >>468 何が分からなかったの?
470 名前:デフォルトの名無しさん [2014/06/17(火) 22:58:58.00 ID:waqSsQEe] >>469 一度最後まで作ったのですが この課題を出した人にこれでは間違っていると言われてしまいました。 とりあえずソース上げます
471 名前:デフォルトの名無しさん [2014/06/17(火) 23:16:06.68 ID:waqSsQEe] >>469 codepad.org/kSfZ5tUZ ↑これが自分で作ったソースです。 上から課題1.2.3.4になります。 配布された資料とにらめっこしながら作ったのですが 理解が及ばず詰まっているのが現状です。 最終的には処理を全てまとめたいと思っているのですが・・・
472 名前:デフォルトの名無しさん mailto:sage [2014/06/17(火) 23:22:24.15 ID:JQ3yohPe] まずインデントを何とかしろや。 バグがあっても自力で見つけられんぞ。
473 名前:デフォルトの名無しさん mailto:sage [2014/06/17(火) 23:25:36.53 ID:JQ3yohPe] 例えば1番、9箇所全部の濃度値が8でも、8/9は0だから、9回足しても0になるぞ。
474 名前: ◆rVDRt1VsVI [2014/06/17(火) 23:33:44.49 ID:waqSsQEe] >>472 イン、デント? >>473 成程 0にななった場合1にすれば良いのでしょうか
475 名前:デフォルトの名無しさん mailto:sage [2014/06/17(火) 23:41:51.72 ID:JQ3yohPe] ググれ「インデント」 > 0にななった場合1にすれば良いのでしょうか だめ。8/9 がちゃんと 0.8888... になるようにする。 3と4は見た目問題なさそうに見える。何か不具合あるの?
476 名前:デフォルトの名無しさん [2014/06/17(火) 23:55:46.98 ID:waqSsQEe] ググりました。 上手く割る為にはどうすれば良いのでしょう。 プログラムを提出する時に画像を見せるのですが これではダメだと言われたんです。 一応画像を貼ります。 上から1.2.3.4 www.dotup.org/uploda/www.dotup.org5132663.png www.dotup.org/uploda/www.dotup.org5132664.png www.dotup.org/uploda/www.dotup.org5132667.png www.dotup.org/uploda/www.dotup.org5132669.png
477 名前:デフォルトの名無しさん mailto:sage [2014/06/18(水) 00:10:22.85 ID:a3+GeDDB] 1と2は割り算問題の影響が出てる感じ。 int/int は int になってしまうから、 double/int か int/double の形にすればいい。 3と4はバブルソートがだめだな。 jの初期値がj=i+jって何だよ。
478 名前:デフォルトの名無しさん mailto:sage [2014/06/18(水) 00:11:18.99 ID:FyKrT/+C] ・なにはともあれ原画像(入力する画像)を貼りなさい ・「これではダメ」←「メディアンフィルタがかかってないのが一目瞭然だから」だろうね ・ぱっと見だが:3,4,でソートしてるとこの for(j=i+j; はすごく変
479 名前:デフォルトの名無しさん mailto:sage [2014/06/18(水) 00:12:31.18 ID:FyKrT/+C] カブったw
480 名前:デフォルトの名無しさん [2014/06/18(水) 00:16:40.15 ID:dQXq5s2V] >>477 >>478 すいません。 図々しいとは思うのですが解決方法を教えてくれませんか? かれこれ一週間試行錯誤してたのですが期限に達してしまいました・・・
481 名前:デフォルトの名無しさん [2014/06/18(水) 00:17:38.88 ID:AXoUiaON] #include <stdio.h> #include <string.h> void display1(int a); void display2(struct syouhin_data syouhin); struct syouhin_data{ char name[20]; int tanka; }; int main(void){ int a = 10; struct syouhin_data syouhin = {"消しゴム",50}; display1(a); display2(syouhin); return 0; } void display1(int a){ printf("%d\n",a); return; } void display2(struct syouhin_data syouhin) { printf("%s %d\n",syouhin.name, syouhin.tanka); return; } 教科書通りに打って関数display2がエラーになるのです
482 名前:デフォルトの名無しさん mailto:sage [2014/06/18(水) 00:27:58.71 ID:FyKrT/+C] >>481 惜しいな。 void display2(struct syouhin_data syouhin); (は、struct syouhin_data を使っているから) その構造体の宣言よりも下の行に持っていけば動くよ。 >>480 スマン俺は寝る。 たぶん for(j=i; だと思うが未確認だし責任は取れん。 他の間違いは探してないし。悪しからず。
483 名前:デフォルトの名無しさん [2014/06/18(水) 00:31:44.82 ID:dQXq5s2V] >>482 ありがとうございますありがとうございます。 もう12時間を切ってしまったあ
484 名前:デフォルトの名無しさん [2014/06/18(水) 00:34:53.37 ID:AXoUiaON] 動きました。ありがとう御座います。 動かなかった理由も理解出来ました。 教科書が間違っていました。クレーム入れます。
485 名前:デフォルトの名無しさん mailto:sage [2014/06/18(水) 00:45:13.06 ID:a3+GeDDB] >>484 > 動かなかった理由も理解出来ました。 動かないのと、コンパイルできないのとは、区別した方がいいぞ。
486 名前:デフォルトの名無しさん mailto:sage [2014/06/18(水) 00:46:40.10 ID:mKlf65Kz] 間違い探しさせる目的とかじゃないの 何て教科書の何ページ
487 名前:デフォルトの名無しさん [2014/06/18(水) 00:47:07.21 ID:dQXq5s2V] >>485 やはり上手く割り算できないです
488 名前:デフォルトの名無しさん mailto:sage [2014/06/18(水) 00:54:18.03 ID:a3+GeDDB] >>487 方法1: 9で割るんじゃなく9.0で割る 方法2: (double)をin_imageの前に付ける 方法3: 全部足してから9で割る
489 名前:デフォルトの名無しさん [2014/06/18(水) 01:04:15.09 ID:dQXq5s2V] >>488 上手くできました! これで1はもう大丈夫でしょうか
490 名前:デフォルトの名無しさん [2014/06/18(水) 01:17:51.17 ID:dQXq5s2V] >>488 凄い今更なのですけど 自分の作ったプログラムは簡単に言うとどういった動作をしてるのでしょう
491 名前:デフォルトの名無しさん mailto:sage [2014/06/18(水) 01:30:35.94 ID:a3+GeDDB] >>490 ……ォィォィ…… 自分のわかる範囲を説明してみな 俺は寝るけど
492 名前:デフォルトの名無しさん mailto:sage [2014/06/18(水) 01:31:39.06 ID:d0o5Ribt] >>490 インデントは4タブのようなので。 tp://codepad.org/4elO5klx tp://www1.cts.ne.jp/~clab/hsample/Sort/Sort1.html
493 名前:デフォルトの名無しさん [2014/06/18(水) 01:42:41.71 ID:dQXq5s2V] >>491 ゴメンなさい。 C言語苦手なんです・・・ とりあえず計算しているんだろうな・・・としか
494 名前:デフォルトの名無しさん [2014/06/18(水) 02:36:44.35 ID:dQXq5s2V] ダメだぁ どんな処理が行われているのかわからない 誰か助けてください
495 名前:デフォルトの名無しさん mailto:sage [2014/06/18(水) 02:54:24.76 ID:8AGe2LGW] どこぞの馬鹿が書いた教科書よりK&R読んだ方がいいだろ
496 名前:デフォルトの名無しさん mailto:sage [2014/06/18(水) 06:37:26.20 ID:9i8t8Hfq] >>492 で問題ない。 1. 元画像(x, y)を中心にした9x9の複数画素の平均値を新規画像の(x, y)に設定。 3. 元画像(x, y)を中心にした9x9の複数画素の中央値(hairetu[4])を新規画像の(x, y)に設定。 その際、元画像の複数画素をコピーしたhairetuにソートを実行。 2, 4についても同様。 処理の共通化と簡易化、コーディングの作法とかも教育現場で担当して欲しいね。 bitmapも画像処理の教材としては疑問。
497 名前:デフォルトの名無しさん mailto:sage [2014/06/18(水) 11:17:27.12 ID:9qLbuGjN] >>493 教師に言いなよそれ。 何も理解できてないのに課題だけ通っても意味がない
498 名前:デフォルトの名無しさん mailto:sage [2014/06/18(水) 12:10:04.78 ID:LGYjzaR6] >>496 オートマトンか? Life Game、シムシティにも似ているような
499 名前:デフォルトの名無しさん mailto:sage [2014/06/18(水) 23:10:52.83 ID:Ls9SsycK] >>451 peace.2ch.net/test/read.cgi/tech/1313183984/600
500 名前:デフォルトの名無しさん mailto:sage [2014/06/19(木) 00:51:22.83 ID:bX6gAL+1] >>498 メディアンフィルタって画像処理で使われてるフィルタが有りまして。
501 名前:デフォルトの名無しさん mailto:sage [2014/06/19(木) 07:38:56.43 ID:wVtUqKS0] [1] 授業単元:プログラミング序論I [2] 問題文(含コード&リンク): 1. 1から10までの階乗の値を計算して出力するプログラミングを作ってみなさい。 2, ∫[0→2]x^3dxを計算するプログラミングを作ってみなさい。 3.. 不定積分∫f(x)dxを求めるプログラミングを作ってみなさい。 4. ∫[0→1]f(x)dxを求めるプログラミングを作ってみなさい。 5. 与えられた2x2正方行列の固有値を計算するプログラミングを作ってみなさい。 6. 与えられた3x3正方行列の固有値を計算するプログラミングを作って見なさい。 さらに、正方行列の係数がいくつでもようようにするためにはどうしたらいいか? f(x)は整式です。 [3] 環境 [3.1] OS: Linux [3.2] コンパイラ名とバージョン: gcc [3.3] 言語: C [4] 期限: 2014年06月20日10:30まで よろしくお願いします。。。
502 名前:デフォルトの名無しさん mailto:sage [2014/06/19(木) 08:41:47.19 ID:TPlHeEcS] 1だけ妙に簡単だな あと「プログラミングを作る」などという変な言い回しは普通なの?
503 名前:デフォルトの名無しさん mailto:sage [2014/06/19(木) 09:06:19.02 ID:T3v2xG5Y] 本題以外に着目するあすぺは消えろ
504 名前:デフォルトの名無しさん [2014/06/19(木) 13:36:52.62 ID:u/NoNxMT] 本題以外で妙な勘違いが発覚することもあるから一概には…
505 名前:デフォルトの名無しさん mailto:sage [2014/06/19(木) 13:55:54.90 ID:T3v2xG5Y] >>502 の指摘で発覚する事は無いな
506 名前:デフォルトの名無しさん mailto:sage [2014/06/19(木) 14:01:10.22 ID:Di0jt70X] >>505 でもこれで、問題文を正確に写したのかという疑問が得られた
507 名前:デフォルトの名無しさん mailto:sage [2014/06/19(木) 14:48:47.19 ID:8jNSzAvz] ボクは書かれているとおりに正確に入力できないので コピペですぐ動くように一文字も間違いなく正確に書いてください おながいします
508 名前:デフォルトの名無しさん mailto:sage [2014/06/19(木) 18:38:09.37 ID:nGqFEu9y] >>503 侮蔑の為に病名を使うのはアッチ系脳。
509 名前:デフォルトの名無しさん mailto:5000モリタポでQZスレだね [2014/06/19(木) 18:50:49.30 ID:BRW9+QBS] >>501 固有値固有ベクトルは永遠の課題だと思う‥
510 名前:デフォルトの名無しさん mailto:sage [2014/06/19(木) 23:54:47.53 ID:NPcUWdPP] で、「プログラミングを作ってみなさい」ってどこ学校だよ
511 名前:デフォルトの名無しさん [2014/06/20(金) 04:50:17.43 ID:4RPq8AiU] 【質問テンプレ】 [1] 授業単元:画像処理 [2] 問題文: codepad.org/NGyKGC2c [3.1] OS:Windows7 [3.2] Visual Stdio 2010 [3.3] 言語:C++ [4] 期限: ([2014年6月17日00時00まで]) [5] その他の制限: bmpファイルを用いる予定です。 よろしくお願いします。
512 名前:デフォルトの名無しさん mailto:sage [2014/06/20(金) 07:24:04.04 ID:kSpxa/vA] また君か壊れるなあ 授業でアルゴリズムの説明あったんだろ? それ書かないと分からんよ
513 名前:デフォルトの名無しさん [2014/06/20(金) 07:30:43.80 ID:4RPq8AiU] >>512 原理は習ったのですがそれをプログラムで組めません・・・
514 名前:デフォルトの名無しさん [2014/06/20(金) 07:34:04.18 ID:4RPq8AiU] >>512 配布された資料はこれなのですが 正直何を言っているのかわかりません。 www.dotup.org/uploda/www.dotup.org5137649.jpg www.dotup.org/uploda/www.dotup.org5137650.jpg
515 名前:デフォルトの名無しさん mailto:sage [2014/06/20(金) 07:46:47.48 ID:xom+JU/q] 正直お前はその講義とるの諦めた方が良い
516 名前:デフォルトの名無しさん mailto:sage [2014/06/20(金) 07:50:40.57 ID:kSpxa/vA] >>514 基本的には、前の課題と同様のプログラムでいいのでは? 各ドットに対し、for(i=-1; i<=1; i++) for(j=-1; j<=1; j++) の 二重ループでフィルタを適用すればいい 時間ないのでとりあえず。
517 名前:デフォルトの名無しさん mailto:sage [2014/06/20(金) 08:07:00.48 ID:eK7ekkfG] こんなスレが167まで続いてるのか
518 名前:デフォルトの名無しさん [2014/06/20(金) 08:20:21.70 ID:4RPq8AiU] >>515 頑張ってC言語覚えたいです。 >>516 前のプログラムを少しずつ改造すればいいのですか
519 名前:デフォルトの名無しさん mailto:sage [2014/06/20(金) 08:33:29.16 ID:xom+JU/q] >>518 C言語の問題じゃねえ画像処理の基礎の問題