C/C++の宿題片付けます 167代目
レス数が1000を超えています。これ以上書き込みはできません。
0001デフォルトの名無しさん
2014/02/14(金) 23:26:43.67気に入らない質問やその他の発言はスルーの方向で。
「著作」「違法」「Qz」はNGワード推奨。
【質問者へ】
回答者の便宜のため、質問の際は以下を行うことを推奨します。
・質問は【質問テンプレ】を利用してください。 >>2以降にあります。
・問題文は、出題されたまま全文を書いてください。
・問題文やコードをリンクするときは、一言内容にについて説明をつけましょう。
・計算問題は数式をあげ、どのような計算をするのか詳しく説明してください。
・エラーは、その詳細と発生した行を書きましょう。エラーメッセージはコピペしてください。
・後から問題に付け足しするのはコラー!!です。付け足しは作業を無駄にしがちです。
・なりすましを防ぐため、トリップを使ってください。名前欄に、「#」に続けて任意の文字列を
入力して投稿すると、その文字列を知らない他人に騙られることを防ぐことができます。
0002デフォルトの名無しさん
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] その他の制限: (どこまで習っているか、標準ライブラリは使ってはいけない等々)
【アップローダー==ラウンジ】(質問が長い時はココ使うと便利 回答者もコードが長ければここに)
http://s2.etowns.slyip.net/~c_cpp_homework/cgi-bin/joyful/joyful.cgi
http://codepad.org/ ←遅い時間は重い事があります
http://ideone.com/
http://pastebin.com/ ←たまにテンポるので上の2つが混んでいる時以外はなるべく使わないで下さい
【wiki】 http://www23.atwiki.jp/homework/
前スレ
C/C++の宿題片付けます 166代目
http://toro.2ch.net/test/read.cgi/tech/1381909900/
0003デフォルトの名無しさん
2014/02/14(金) 23:28:24.24【C 関数検索 man on WWW】【過去ログ検索】
の2つは使えなくなってたから外した
必要なら適当に補足して
0004デフォルトの名無しさん
2014/02/15(土) 13:49:22.52[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] その他の制限:
0005デフォルトの名無しさん
2014/02/15(土) 15:48:02.91ttp://ideone.com/3Q4Zdr
0006デフォルトの名無しさん
2014/02/15(土) 17:39:58.46問題文読み直せ
0007デフォルトの名無しさん
2014/02/15(土) 20:32:23.24こちらを使ってください。
http://toro.2ch.net/test/read.cgi/tech/1392388003/
0008デフォルトの名無しさん
2014/02/16(日) 03:57:07.98マルチポストは氏にましょう
http://toro.2ch.net/test/read.cgi/tech/1390954735/417-426
あと、>>4は list midcell(list L) の list は変数名だろ
根本的に解決は無理だぞ
0009デフォルトの名無しさん
2014/02/16(日) 06:59:59.64http://ideone.com/mSe58A
0010デフォルトの名無しさん
2014/02/17(月) 04:26:00.18[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 の場合の推定方法は習ったんですが
途中で折れ曲がるグラフの場合にどうしたらいいのか分からなくて
よろしくお願いします
0011デフォルトの名無しさん
2014/02/17(月) 11:10:11.35最小2乗法のように{ f(x[k]) - y(x[k]) }^2 を求めろってこと?
それとも最良近似のように max | f(x[k]) - y(x[k]) | ってこと?
0012デフォルトの名無しさん
2014/02/17(月) 18:20:13.61リプありがとうございます
問題文に指定はなかったんですけど
直線グラフの場合に最小2乗法を習ったので最小二乗近似だと思います
0013デフォルトの名無しさん
2014/02/17(月) 21:46:09.73の問題を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
よろしくお願いします。
0014デフォルトの名無しさん
2014/02/18(火) 10:03:24.340015デフォルトの名無しさん
2014/02/18(火) 10:40:30.730016デフォルトの名無しさん
2014/02/18(火) 13:24:58.95宿題じゃないのか
001811
2014/02/18(火) 19:59:00.97typedef 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);
001911
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 ];
}
}
}
002011
2014/02/18(火) 20:03:10.71f(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 );
}
002111
2014/02/18(火) 20:08:29.27/**
設問を解決する関数。
再急降下法で 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 );
002211
2014/02/18(火) 20:10:45.93////ツナギ目ツナギ目 //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;
}
002310
2014/02/19(水) 00:51:01.38ありがとうございます
まだ読んでないんですけどとりあえずお礼だけ
明日じっくりよませていただいて再度書き込みしにきます!
0024デフォルトの名無しさん
2014/02/20(木) 09:41:49.480026デフォルトの名無しさん
2014/02/21(金) 01:55:16.09結局昨日時点ではよくわからなかったので提出起源あきらめました><
せっかくといていただいたのにすいません
いずれにしても遅れてもださないと単位こないので今考えてるところなんですけど
入力データの y 座標を何にすべきなのか分からなくて
該当したかどうかなので y 座標は 0 と 1 とみるべきなんですよね…
あと C++ は基本的なことはならったんですけどプリミティブな関数しか使えなくて
ファイル読み込みの時の文字列のパーズが面倒だったので
solver の関数だけかりて Java でかきなおしてしまいました
とりあえず自分で calcLsmInfo を実装して
メイン関数でデータの読み込みと solver の呼び出しをしてるだけなんですが
なぜか実行結果が -3850 っていう負の値になってしまいました…
solver を呼び出すときの初期値がまずいんでしょうか…
http://codepad.org/fBWf1Hp5
0027デフォルトの名無しさん
2014/02/21(金) 01:56:46.67課題に言語指定がとくになくて Perl や Java でもかまわないみたいで…
0028デフォルトの名無しさん
2014/02/21(金) 04:20:01.59//ここは間違えてて、ゴメンなさい。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));
002911
2014/02/21(金) 04:27:24.98>>28は俺ね。
取り敢えず見つけてバグを修正してみたけど。
ところで if(x<c)...略 の c って int型でいいのかい?
再急降下法はまだ習ってなかった?そうだったら使用してしまってゴメンなさい。
003011
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)
:
じゃないだろうか?
0031デフォルトの名無しさん
2014/02/21(金) 06:32:11.11[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
0032デフォルトの名無しさん
2014/02/21(金) 06:37:30.541の条件を訂正させてください。
正 1 : 6の倍数なら2で割った値を二乗した値
です。
003311
2014/02/21(金) 17:07:22.83まだ修正箇所があった。スマンm(_ _)m
-- 152行目 --
lsm_info.sum_error = buf;
lsm_info.sum_error = java.Math.sqrt( buf );
×再急降下法
○最急降下法
003411
2014/02/21(金) 17:22:26.78int 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;}
003511
2014/02/21(金) 17:27:27.90最後の行が間違ってた
×: solve( iBuffer ); return 0;}
○: printf( "Anser %d\n", solve( iBuffer )); return 0;}
0036デフォルトの名無しさん
2014/02/21(金) 20:35:58.88訂正後もスペル間違ってる
×Anser
○Answer
0037デフォルトの名無しさん
2014/02/22(土) 08:32:55.51ありがとうございます。
特にコンパイラでエラーは出ないんですが、実際Visual Stidioで起動しCmdに入力すると表示されませn。
よかったら見ていただいてもいいですか?
http://ideone.com/uoAvzm
003811
2014/02/22(土) 12:22:49.5636!=11な
Linux+gccでは問題無く動作した。
ここ数年は Visual Studio は触ってないから確かなことは言えないけど
ビルドして「実行」とかいうボタンを押すと、DOSプロンプトが立ち上がって
”Input Number : ”ってコードで書いてあるとおりに入力を催促表示すると思うけど。
違っていたら Visual Studio スレで聞いてみて
0039デフォルトの名無しさん
2014/02/23(日) 02:02:52.36エスパーするとCtrl+F5
004013
2014/02/24(月) 09:56:37.62修正していもらってもいいでしょうか?
http://ideone.com/jAceXa
0041デフォルトの名無しさん
2014/02/24(月) 10:26:11.23アドバイスありがとうございます
>>39
cmd自体は出ますが、入力して結果が表示される前に消えてしまいます
0042デフォルトの名無しさん
2014/02/24(月) 12:53:30.923箇所誤り見つけた。
19行目の返り値
28行目、30行目の変数の渡し方
>>41
正常終了して画面が消えただけ。
main関数のreturn直前にsystem("pause");入れてみ。
0043デフォルトの名無しさん
2014/02/24(月) 19:26:19.566行目の空白行に
char* pHead = str_a;
とおいて、19行目の戻り値を pHead に変えてみる
>>42
>main関数のreturn直前にsystem("pause");入れてみ。
これよりはreturn直前にprinf("Input any key to quit. "); scanf("%s",&a);で
ダミーの入力受付の方が初心者向けじゃね。
まあ、どっちでもいいけどさ
0044デフォルトの名無しさん
2014/02/24(月) 19:40:08.91人にコメントできないくらい色々ミスってるぞ
0045デフォルトの名無しさん
2014/02/24(月) 20:44:34.51だっていちいちコンパイルするのが面倒いだもん(/ω\)ハズカシーィ
0046デフォルトの名無しさん
2014/02/24(月) 21:39:40.32安価ミスは気づいてないのかな?
また、以下3点の理由で、42の勝ち
�W準入力にゴミデータがあったら停止しない
�charの配列が必須
�oッファオーバーフローの可能性
0047デフォルトの名無しさん
2014/02/25(火) 02:13:38.46おまえ>>39試してないだろ
0048デフォルトの名無しさん
2014/02/25(火) 09:05:21.57VC2010では効かないみたいだが?
0049デフォルトの名無しさん
2014/02/26(水) 23:20:13.150050デフォルトの名無しさん
2014/02/27(木) 09:44:24.680051デフォルトの名無しさん
2014/02/27(木) 10:15:49.27しっかりした答えを書く責任があるということですね。
005211
2014/02/27(木) 13:49:06.50vimの練習のために、お題に答えていた俺は逝ってよしなんですか?
0053デフォルトの名無しさん
2014/02/27(木) 15:39:54.560054デフォルトの名無しさん
2014/02/27(木) 17:42:07.540055デフォルトの名無しさん
2014/02/27(木) 18:04:29.580056デフォルトの名無しさん
2014/02/27(木) 18:37:03.610057デフォルトの名無しさん
2014/02/27(木) 18:39:07.28卒業式の日に、お礼参りに角材で殴ったりしちゃダメだぞ☆
0058デフォルトの名無しさん
2014/02/28(金) 00:59:43.82005911
2014/02/28(金) 01:02:03.01派遣社員ではない、
そんな俺は逝ってよし!なんですか
0060デフォルトの名無しさん
2014/02/28(金) 05:19:23.69誰だよお前
0062デフォルトの名無しさん
2014/02/28(金) 17:01:34.270063デフォルトの名無しさん
2014/02/28(金) 17:27:31.44#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;
}
0064デフォルトの名無しさん
2014/02/28(金) 19:32:57.190065デフォルトの名無しさん
2014/02/28(金) 23:02:55.600066デフォルトの名無しさん
2014/02/28(金) 23:20:58.87お前>>63だろ
仕様に適合してないことに気が付いてるか?
0067デフォルトの名無しさん
2014/02/28(金) 23:30:57.530068デフォルトの名無しさん
2014/02/28(金) 23:37:29.740069デフォルトの名無しさん
2014/03/01(土) 02:06:27.01適合しない入力を教えて。
0070デフォルトの名無しさん
2014/03/01(土) 05:46:08.96末尾に /* end */ がない
0071デフォルトの名無しさん
2014/03/01(土) 12:59:38.44全ての入力
0072デフォルトの名無しさん
2014/03/01(土) 13:42:51.65入力値が6のとき、答えはいくつになればいいと思う?
007369
2014/03/01(土) 16:38:35.00>>34のドキュソよりも、いいコードを貼り付けてやったのに
間違ってるって、言いがかりを付けてくるんだ〜
0074デフォルトの名無しさん
2014/03/02(日) 21:42:17.10int main() {
int n; std::cin >> n;
std::cout << ([&](){ return !(n % 2) ? n / 2 : !(n % 3) ? n * n : n * n - n; })() << std::endl;
return 0;
}
0075デフォルトの名無しさん
2014/03/02(日) 21:44:02.950076デフォルトの名無しさん
2014/03/02(日) 21:45:29.900077デフォルトの名無しさん
2014/03/02(日) 22:00:01.85main;
/* end */
0078デフォルトの名無しさん
2014/03/04(火) 17:45:25.550079デフォルトの名無しさん
2014/03/04(火) 17:51:14.19来週に似たような問題の試験があるので解説付きだと嬉しいです。
now.ameba.jp/x12xxxy24x
出力しろってやつは無視しておkでっす。
0080デフォルトの名無しさん
2014/03/04(火) 22:26:50.67URLをちゃんと記述してくれ、クリックして出ない URL なんか誰も見ない
0081デフォルトの名無しさん
2014/03/04(火) 22:31:45.84俺見たよ。レベル低くてリンク張れないんだろ、察しろよ雑魚。
0082デフォルトの名無しさん
2014/03/05(水) 06:25:33.74俺見ないよ。レベル低くて見る気が起きないんだよ、察しろよ雑魚。
0083デフォルトの名無しさん
2014/03/05(水) 06:28:11.60だったら出てけよ
0084デフォルトの名無しさん
2014/03/05(水) 06:34:23.080085デフォルトの名無しさん
2014/03/05(水) 07:42:31.67見れるけど
Nexus7で見てるから
画像の文字が読み取れん
0086デフォルトの名無しさん
2014/03/05(水) 11:43:25.52問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++){/*何もしない*/};
0087デフォルトの名無しさん
2014/03/05(水) 11:45:29.08問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;
}
0088デフォルトの名無しさん
2014/03/05(水) 11:47:33.89問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; で、一意には決まらない?
あと、ポインタ型を数値で初期化していいの?
0089デフォルトの名無しさん
2014/03/05(水) 11:49:38.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
最後が見えないのでよく分からん。
009086
2014/03/05(水) 14:01:17.39問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;
}
009186
2014/03/05(水) 14:09:55.83又間違えた。>>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' */ だわ。
0092デフォルトの名無しさん
2014/03/05(水) 19:22:58.10int main(){
Pinfo ps[] = {{"taro",M},{"hanako",F},{"saburo"←この行が切れてて解答できません
printPerson(ps);
return 0;
}
これで合ってる?
Pinfo ps[] = {{"taro",M},{"hanako",F},{"saburo",M},{"",E}};
0093デフォルトの名無しさん
2014/03/07(金) 03:35:58.03[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(土)
0094デフォルトの名無しさん
2014/03/07(金) 07:59:32.77[3.3]言語c++ → c でお願いします。
0096デフォルトの名無しさん
2014/03/07(金) 19:28:49.68糞レベルなこのスレで回答がつくとでも思っているのか?
009793
2014/03/07(金) 19:36:20.18009886
2014/03/07(金) 20:51:32.26初心者だけど練習で書いてみた。(リンク禁止なのでコピペで)
ideone.com/PUYFar
隣接行列の作成はかなりええかげんに書いたのでそこらはもっといいのに書き換えて。
俺には出来んかった。
0099デフォルトの名無しさん
2014/03/08(土) 05:55:58.24用語適当すぎ
10×10のグラフって何や、完全二部グラフか?
0100デフォルトの名無しさん
2014/03/08(土) 10:58:25.670101デフォルトの名無しさん
2014/03/08(土) 20:22:58.33a. トリップを付ける。
b. 回答を受け取ったら感謝と報告を含んだ返答を書き込む。
c. E-mail欄は sage ではなく age 。
0102デフォルトの名無しさん
2014/03/08(土) 20:27:51.06勝手にやってろよバーカ
0103デフォルトの名無しさん
2014/03/08(土) 20:29:53.38まずお前が出て行けとw
0104デフォルトの名無しさん
2014/03/08(土) 20:45:52.870105デフォルトの名無しさん
2014/03/08(土) 20:52:30.650106デフォルトの名無しさん
2014/03/08(土) 21:05:29.08解けないバカが妄想語ってんじゃねえよカスw
0107デフォルトの名無しさん
2014/03/08(土) 21:12:57.85煽るしか人間として能がないDQN(=暇潰し玩具)が降臨したぞー!
>>105さん、自分ここで回答してしまったバカです。
何かコメントくださいw
0108デフォルトの名無しさん
2014/03/08(土) 21:41:19.180109デフォルトの名無しさん
2014/03/08(土) 21:45:00.41ゆとりのクズ大生は甘やかしてはいけない
0110デフォルトの名無しさん
2014/03/08(土) 21:46:22.94自分で調べる力を身に着けさせよう
0111デフォルトの名無しさん
2014/03/08(土) 21:47:14.41同様の問題をPrologで出されたわ
c++とか1,2時間も掛からないだろ
0112デフォルトの名無しさん
2014/03/08(土) 22:47:23.40そうそう、wikipedia や wikisource をちょこちょこ書いているが、やたらとルール作りが好きな連中が多いね、あそこは
0114デフォルトの名無しさん
2014/03/09(日) 14:55:55.26よろしくお願いします
プログラム板 強制ID制導入に関する投票スレ
http://kohada.2ch.net/test/read.cgi/vote/1394290844/
0115デフォルトの名無しさん
2014/03/11(火) 23:51:43.13ID:CqsIcYOwありがとうございました。
0116デフォルトの名無しさん
2014/03/12(水) 22:55:36.30ID:IkRDHIrE[2]
・ 指定したファイルに文字列を行数を指定して挿入するプログラム(ファイル名と位置,挿入する文字列を入力できるようにする)
・ また、上記のプログラムを直して文字列を挿入する場所を行だけでなく列も指定できるようにせよ。(まずは半角だけでよい)
[3] 環境
[3.1] OS: Windows Vista
[3.2] コンパイラ名とバージョン: Visual C++
[3.3] 言語: C
[4] 期限: 3月14日
最近勉強を始めたんですが、ファイルの取り扱いでかなり苦戦しています。
どなたかよろしくお願いします。
上の方が使っていたWebのコンパイラも置いておきます。
ttp://ideone.com/
0117デフォルトの名無しさん
2014/03/12(水) 23:12:56.68ID:AZrAiCEG0118デフォルトの名無しさん
2014/03/13(木) 03:17:23.49ID:9GIXFBoB何でこのスレくるのかわからんw
0119デフォルトの名無しさん
2014/03/13(木) 03:18:17.41ID:9GIXFBoB2つ作れば良いのかな?
0120デフォルトの名無しさん
2014/03/13(木) 07:15:19.11ID:vtBqfgev春休みだもん
煽り目的の馬鹿が涌くいて出てくる時期だろ
0121デフォルトの名無しさん
2014/03/13(木) 10:12:57.55ID:u5puOzBIIDが出てさぞ荒らしにくくなってるだろうなあザマアww
0122デフォルトの名無しさん
2014/03/13(木) 11:23:25.78ID:ZLHpPjTLどなたかよろしくお願いします。
上の方が使っていたWebのコンパイラも置いておきます。
こいつ馬鹿だろ。この程度で苦戦とか本の読みこみが足りなすぎ
0123デフォルトの名無しさん
2014/03/13(木) 12:37:29.72ID:ZSiSFjs+> ファイルの取り扱いでかなり苦戦しています。
どこまでできてるんだよ?
0124デフォルトの名無しさん
2014/03/13(木) 12:46:21.85ID:ZLHpPjTLこれ質問できない馬鹿の見本
0125デフォルトの名無しさん
2014/03/13(木) 13:06:01.24ID:8C61XcI9何か変なのが一匹居るけど、無視で良いよ。
初心者スレでしか暴れられない可哀想な人だから。
0126デフォルトの名無しさん
2014/03/13(木) 13:11:59.33ID:ZLHpPjTL自己顕示欲で糞回答しろよ
糞コードを見せろQZ
0127デフォルトの名無しさん
2014/03/13(木) 14:45:54.07ID:Lb6ZNCgfこのスレはこのまま続ければいい
ただ質問する奴は大学側にバレバレなんで、それで単位を落としてもこのスレを逆恨みすんな
そんな大事な単位なら安易に問題を晒すな
0128デフォルトの名無しさん
2014/03/13(木) 17:42:43.90ID:ZLHpPjTL0129デフォルトの名無しさん
2014/03/13(木) 18:06:13.94ID:jln8hkaw0130デフォルトの名無しさん
2014/03/13(木) 18:34:58.05ID:qaG+7LaQ0131デフォルトの名無しさん
2014/03/13(木) 18:56:25.95ID:6bFdP97U煽り目的のDQNがバカ丸出し♪
うーん、この低脳っぷりが芳ばすい〜(゜∇^d)!!
0132デフォルトの名無しさん
2014/03/13(木) 19:29:50.99ID:ZLHpPjTL0133デフォルトの名無しさん
2014/03/13(木) 19:32:39.03ID:eWE/omsK0134デフォルトの名無しさん
2014/03/13(木) 19:59:13.76ID:ZLHpPjTLじゃあお前が>>116の能無し馬鹿にお手本となるコードを書いてやれよ
0136デフォルトの名無しさん
2014/03/13(木) 21:30:42.10ID:1FOo5v5svoid swap(int *x int *y)
int temp;
temp = *x;
*x = *y
*y = temp
一時変数tempを使わないで、swapを実行するにはどうすればいいですか?
0137デフォルトの名無しさん
2014/03/13(木) 21:32:20.90ID:ZLHpPjTL0138デフォルトの名無しさん
2014/03/13(木) 21:35:10.13ID:ci5j+wiGhttp://ideone.com/zpaN5a
ゴリ押しプログラムができたぞ!!ふはははは!
ははは・・・
0139デフォルトの名無しさん
2014/03/13(木) 21:35:22.78ID:AgM9wxep#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);}
0140デフォルトの名無しさん
2014/03/13(木) 21:38:29.32ID:ZLHpPjTL0141片山博文MZジェバンニ ◆T6xkBnTXz7B0
2014/03/13(木) 21:42:08.30ID:AgM9wxepXOR swap
0142デフォルトの名無しさん
2014/03/13(木) 21:47:30.75ID:ZLHpPjTL0143131 ◆GccdMSkjmA
2014/03/13(木) 21:51:01.80ID:tz2xhzYuご苦労様ですm(_ _)m
あとは>>116がお礼をするだけだな
0144デフォルトの名無しさん
2014/03/13(木) 23:40:25.92ID:ZLHpPjTL0145デフォルトの名無しさん
2014/03/14(金) 00:14:18.45ID:CN82R/hG0146デフォルトの名無しさん
2014/03/14(金) 00:24:37.78ID:JlWgyJEe0147デフォルトの名無しさん
2014/03/14(金) 00:56:42.84ID:CN82R/hG0148デフォルトの名無しさん
2014/03/14(金) 03:20:22.81ID:6a31vfjQなるべく易しく書いてみた。
範囲外などのエラーチェックはまったくしていない。
http://ideone.com/xOpfUA
0149デフォルトの名無しさん
2014/03/14(金) 11:57:48.43ID:CN82R/hG0150デフォルトの名無しさん
2014/03/14(金) 12:58:13.50ID:2dNSUwpy147 名前:あぼ〜ん[あぼ〜ん] 投稿日:あぼ〜ん
149 名前:あぼ〜ん[あぼ〜ん] 投稿日:あぼ〜ん
素晴らしい
ID導入のおかげだ
0151デフォルトの名無しさん
2014/03/14(金) 13:15:21.64ID:CN82R/hG0152デフォルトの名無しさん
2014/03/14(金) 14:53:11.12ID:KtWzfVn00153デフォルトの名無しさん
2014/03/14(金) 15:04:07.53ID:Mb2J0ktVワロタ。おれも同じ所があぼーんになってるwww
ID良いな。自動的に雑音排除して普通にスレを読めるようになった。
0154デフォルトの名無しさん
2014/03/14(金) 15:11:09.11ID:THJ4r5An( ;∀;)イイハナシダナー
0155デフォルトの名無しさん
2014/03/14(金) 19:32:37.42ID:CN82R/hG0156デフォルトの名無しさん
2014/03/14(金) 19:34:19.16ID:CN82R/hG全部あぼーんなんだが
0157デフォルトの名無しさん
2014/03/14(金) 20:25:51.38ID:CN82R/hG0158デフォルトの名無しさん
2014/03/14(金) 22:43:51.11ID:CN82R/hGまあどいつもヘボだらけなんだが
0159デフォルトの名無しさん
2014/03/14(金) 22:55:55.03ID:CN82R/hGこいつらも同じキモオタ
0160デフォルトの名無しさん
2014/03/14(金) 22:59:08.73ID:zw+41NN1ID導入は正解だった
0161デフォルトの名無しさん
2014/03/14(金) 23:10:51.98ID:mqmIxcJsっていうかなんでID導入されたのに悪化するのかね?
あぼーんできるからID導入は正解だった思うけれども
0162デフォルトの名無しさん
2014/03/14(金) 23:38:19.22ID:CN82R/hGキモイオタクってのはくだらない知識を自慢するだめだけに使うんだよね
0163デフォルトの名無しさん
2014/03/14(金) 23:46:16.36ID:2tWZV7kK赤いIDによる印象操作だ!陰謀だ!
0164デフォルトの名無しさん
2014/03/14(金) 23:59:03.30ID:S9zwpGGDインフルエンザB型に感染してしまったもので。
>>119
そうです。
ひとつは全角文字も読み、行数のみです
>>138
これでは入力した文字を挿入できないので問題とは違うようです。
ありがとうございます。参考にさせていただきます。
>>139
error C2598: リンケージ指定子がグローバル スコープで宣言されていません。
と出てしまいます。
doiit っていうのは初めて見ました。
>>148
string.hを追加したら動きました。
ありがとうございます。
0165デフォルトの名無しさん
2014/03/15(土) 01:26:29.99ID:AJr6U08J>error C2598: リンケージ指定子が、
>グローバル スコープで宣言されていません
ttp://msdn.microsoft.com/ja-jp/library/w3kzs7x0.aspx
エラーは、エラー番号で検索すれば、たいてい説明が見つかる
error C2598
0166デフォルトの名無しさん
2014/03/15(土) 01:56:14.99ID:AJr6U08J10*10の隣接行列だね
でも隣接行列は、ほとんどが隣接しない99999となり、
メモリの無駄だから、一般的には隣接リストを使う
セル番号を、1-100とすると、
1->2,3,4
2->1,3,5
漏れは今、6マスタイプの大戦略のAIを考えている
首都からすべてのセルへの、最小移動コストと、
その経路をたどるパス
すべてのセルへ、ランダムな移動コストを与えて、
シミュレートしようと思っている
優先度キューを使うか?
0167デフォルトの名無しさん
2014/03/15(土) 22:18:05.01ID:Pv8JcOyk例
"126AB"→3
"-(1+2)"→0
"-9.25ABC"→5
0168デフォルトの名無しさん
2014/03/15(土) 22:32:58.92ID:2R7Cli6M0169デフォルトの名無しさん
2014/03/15(土) 23:13:57.17ID:/jvxmNA210進数でない文字列の場合はどういう扱いをすればいいの?
0170デフォルトの名無しさん
2014/03/15(土) 23:19:38.21ID:71cS5Xff0171116
2014/03/15(土) 23:43:49.16ID:nqywdHbD非常にわかり易かったです。
これを少し変えて
・指定したファイルに文字列を行数を指定して挿入するプログラム(ファイル名と位置)、挿入する文字列(全角)を入力できるようにする
にしたいんですが、どこをどのように変えたらいいでしょうか?
0172デフォルトの名無しさん
2014/03/16(日) 08:48:02.12ID:nQOiLa8y> 文字列(string型)の先頭から数字として有効な
数字?
なら、"-9.25ABC" は 0 じゃね?
数値なら、1.2e-3、0x1234、.123、1,234.56 等を数値として見なすかを決めてもらわないと
0173デフォルトの名無しさん
2014/03/16(日) 10:19:40.42ID:wmlsbQd6公開質問状でコードを見せろ、というつもりだったのに残念
0174デフォルトの名無しさん
2014/03/16(日) 11:16:13.40ID:u4clKyZZ>文字列を行数を指定して挿入
という事は、「最初に改行してから、指定行数挿入」という事ですか?
>32. fprintf(fp2,"%s",str);
この部分に改行を追加し、指定行数ループするのではだめでしょうか?
0175デフォルトの名無しさん
2014/03/16(日) 11:57:23.40ID:+0w7Q/Uu隠そうとしてもムダ
0176デフォルトの名無しさん
2014/03/16(日) 13:18:00.57ID:NcMQ7vHTもっとも君らみたいなゴミには、そんな専門知識もスキルも期待できないからね
派遣ITの奴隷街道へまっしぐらだよ!
0177116
2014/03/16(日) 21:10:46.65ID:JTOubL74おそらく>>172に対するレスですよね?
>>148の問題を変えて
挿入したい行数のみ指定し、(挿入したい)文字列(全角)を入力できるようにしたいのです
0178デフォルトの名無しさん
2014/03/16(日) 21:11:42.66ID:+0w7Q/Uu0179デフォルトの名無しさん
2014/03/16(日) 21:30:14.05ID:+0w7Q/Uu楽で出来ると持ったら大間違いで、結局は単位落とすだけなんだよなー
0180デフォルトの名無しさん
2014/03/16(日) 21:57:22.91ID:wmlsbQd6ネイチャーに出す人がいるとはさすがに‥‥
0181デフォルトの名無しさん
2014/03/17(月) 02:16:04.45ID:q5oUANu3行数と文字列を引数でもらって、処理をする
行数を引数でもらって、文字列は入力させて、処理をする
処理をするところは変更する必要ないのが分かればあとは簡単でしょ。
文字列の入力を読み取ることもできないレベルなら素直に単位を落としましょう。
0182デフォルトの名無しさん
2014/03/17(月) 07:59:18.86ID:K/DZRQsK一応このスレのルールなんで、
>>1のテンプレに従って依頼内容をもう一度書き直して
0183デフォルトの名無しさん
2014/03/17(月) 08:06:26.25ID:HQUUHLVF0184デフォルトの名無しさん
2014/03/17(月) 08:56:25.05ID:VXhVqDC5>>183
[1] プログラミング言語 C
[2] 指定したファイルに文字列を行数を指定して挿入するプログラム(ファイル名と行数、挿入する全角文字列を入力できるようにする)
[3] 環境
[3.1] OS: Windows Vista
[3.2] コンパイラ名とバージョン: Visual C++
[3.3] 言語: C
[4] 期限: 3月18日
自分なりにやってみたのですが、うまくいきません。
もしよければ修正お願いします。
http://ideone.com/GuocSg
0185デフォルトの名無しさん
2014/03/17(月) 12:01:18.21ID:K/DZRQsK>行数を指定
というのは、
挿入する行番号を指定という意味か、
入力された文字列を挿入する回数という意味か、
どちらでしょうか?
それから、
>挿入する全角文字列を入力できるようにする
というのは、入力時に漢字を入力すればいいだけに思います。
もしかして、IMEのON/OFFをするという事ですか?
0186デフォルトの名無しさん
2014/03/17(月) 16:03:35.24ID:q5oUANu3>>148は非常に分かりやすかったんでしょ?
それを改造するに当たって、どこで困っているのかを書いたほうがはやいと思うよ。
必要な要素は>>148に含まれているように思うし。
一点問題を挙げるとすると、「指定したファイルに」挿入していないというところだけど、
そこは気にしてなさそうだし。
0187デフォルトの名無しさん
2014/03/17(月) 16:27:48.56ID:qNLDgXjv0188デフォルトの名無しさん
2014/03/17(月) 16:45:58.35ID:VXhVqDC5>挿入する行番号を指定という意味か
そうです。頭から数えていって〜という意味です。
>挿入する全角文字列を入力できるようにする
なるほど。マルチバイト文字でも気にしなくて良いのですね。
>>187
おそらくこの問題で指定したファイルというのは
「a.txt」といういファイルをあらかじめつくっておき、そのファイル名を入力したら挿入できていればいいと思います。
0189デフォルトの名無しさん
2014/03/17(月) 16:49:03.20ID:q5oUANu3だからさ、>>148、、もういいや。ごめん
0190デフォルトの名無しさん
2014/03/17(月) 17:06:21.32ID:qNLDgXjvほんとに大学いってるのかな
0191デフォルトの名無しさん
2014/03/17(月) 17:18:19.98ID:omlKKA0328行目をcolに1を代入する文に直す。
32行目の出力フォーマットを%sから%s\nに代える。
これで意図する動作しないかな?
0192デフォルトの名無しさん
2014/03/17(月) 17:20:49.26ID:qNLDgXjvダメ人間を育ててしまう人たちだ
0193デフォルトの名無しさん
2014/03/17(月) 17:30:34.31ID:VXhVqDC5すいません、なにをどうしたらいいのかよくわからないです
>>192
http://ideone.com/NjbLBb
変えてみました。
0194デフォルトの名無しさん
2014/03/17(月) 17:36:52.16ID:qNLDgXjv奇跡的にここで得られた回答でコピペして単位もらえても
そのうち大きな課題出てまったく太刀打ちできなくなってコピペ論文で退学になる運命だから
ほんと諦めたほうがいい
0195デフォルトの名無しさん
2014/03/17(月) 17:46:24.05ID:VXhVqDC5http://hissi.org/read.php/tech/20140317/cU5MRGdYanY.html
0196デフォルトの名無しさん
2014/03/17(月) 17:50:38.20ID:qNLDgXjvだったら反省して自分で基礎の勉強をまず始めなきゃ、
いつまでもここで解決できると想ったら大間違い
0197デフォルトの名無しさん
2014/03/17(月) 17:51:22.29ID:wAxdNR9N>>196はコピペを提出して退学になったクズらしいです
0198デフォルトの名無しさん
2014/03/17(月) 17:54:42.64ID:feM2kHU8せいぜい半期の単位を全部取り消されるくらいだ
0199デフォルトの名無しさん
2014/03/17(月) 18:13:38.30ID:qNLDgXjv0200デフォルトの名無しさん
2014/03/17(月) 18:14:37.58ID:PETpdFuR0201デフォルトの名無しさん
2014/03/17(月) 18:33:48.39ID:GEI0z5hj0202デフォルトの名無しさん
2014/03/17(月) 21:01:58.77ID:K/DZRQsKhttp://ideone.com/UMpTXd
// と ### にはさまれているところを、その下のように直す
0203デフォルトの名無しさん
2014/03/17(月) 21:12:27.01ID:q5oUANu30204デフォルトの名無しさん
2014/03/17(月) 21:28:01.12ID:848rfsaxなんにせよガンバレ
0205デフォルトの名無しさん
2014/03/17(月) 21:38:15.19ID:qNLDgXjv0206デフォルトの名無しさん
2014/03/18(火) 13:31:43.10ID:JEryyi3Zこれだと行と列の両方になってないか?
0207デフォルトの名無しさん
2014/03/18(火) 14:01:55.78ID:G12u9CCe馬鹿が頑張って解決しようとしてもムダ
お前の知識は何も役にも立たん
かえって質問者を惑わせ迷惑させようとしているのかね
0208デフォルトの名無しさん
2014/03/19(水) 00:02:02.64ID:+A6hJBSyやっぱりここで宿題やってもらったのがばれて留年した人か
0209デフォルトの名無しさん
2014/03/19(水) 01:14:22.14ID:pgTJKr0lそれをこのスレで報告していないだけで
これだとまだまだ自滅していく学生は多いのかな
0210デフォルトの名無しさん
2014/03/19(水) 03:31:39.66ID:K3WonBlaそもそもコピペに対する罰が単位を落とす程度で済ませる学校が悪いよ。
半期単位失効というところもあるが、それでもやはりぬるいといわざるを得ない。
基本的に退学、譲歩して全期単位失効が妥当。
それでも俺は回答し続けるけどね。
0211デフォルトの名無しさん
2014/03/19(水) 08:24:15.10ID:jJsViii85人ぐらいが丸々コピーして提出してた。
うち一人はソース内の名前+学生番号も書き換えてなかった。
0212デフォルトの名無しさん
2014/03/19(水) 08:32:00.35ID:pgTJKr0lこのスレは削除したほうがいい
0213デフォルトの名無しさん
2014/03/19(水) 22:52:55.01ID:uuz1UwWR課題の丸投げや不都合な事実の隠蔽は社会へ出る前の適切な訓練。
技術者になろうとするアホは課題を自力で解こうとするし、
人生の春を失うどころかキャリアさえ失う。バレなければ問題はないし、
社会的に優秀だし輝かしい名誉まで手に入る。
0214デフォルトの名無しさん
2014/03/19(水) 22:58:29.28ID:uuz1UwWRかなり頭が悪い大学生だろうし、恐らく行くだけの価値がない大学に通っている。
この程度の課題で十分だと考える教授陣営も、常春の人生を満喫して、
全身にダニが湧いていることは確実。
0215デフォルトの名無しさん
2014/03/20(木) 00:57:34.00ID:bcMe3eGTしかしながら、学生のときに学んでいるはずであろう素養を備えていないプログラマが多いのも事実。
つまり、この程度の課題すらこなせない学生相手にする教授陣営も大変だということだ。
ま、単位あげなきゃいいだけなんだけどね。
0216デフォルトの名無しさん
2014/03/20(木) 07:53:22.37ID:S8YTEebrカンマの妥当性判定が面倒だな
123,0000 は3になるんだろ、書きたくねぇw
0217デフォルトの名無しさん
2014/03/20(木) 09:14:13.18ID:noBkfRX0こういう嘘回答する奴は回答者にもなれない
低学歴野郎です
0218デフォルトの名無しさん
2014/03/20(木) 14:03:23.20ID:VJY+yRA6数値の一部として見るのはやめた方がいいかも
0219デフォルトの名無しさん
2014/03/20(木) 14:05:42.76ID:noBkfRX00220デフォルトの名無しさん
2014/03/20(木) 15:41:50.02ID:VJY+yRA6if ($str =~/(^\-{0,1}[0-9]+(\.[0-9]+|))/) {
printf("%d %s\n", length($1), $1);
}
0221デフォルトの名無しさん
2014/03/20(木) 16:22:16.70ID:bcMe3eGT突っ込みどころ
-{0,1}
[0-9]
(\.[0-9]+|)
0222デフォルトの名無しさん
2014/03/20(木) 16:24:49.80ID:bcMe3eGT0223デフォルトの名無しさん
2014/03/20(木) 19:41:16.53ID:noBkfRX0スレ違いなのに勝手にPerlの話しだす迷惑野郎です
消えろ糞ニートが、ドカタにもなれないだろそんな協調性のない人間じゃ
0224デフォルトの名無しさん
2014/03/20(木) 21:40:15.79ID:ANBdGt0P0225デフォルトの名無しさん
2014/03/20(木) 21:47:58.23ID:cjvdZq4D暇潰し以上の意味があるわけないだろ
0226デフォルトの名無しさん
2014/03/20(木) 21:55:17.41ID:Hz3eyzKlいや、あるよ。学生潰し。
0227デフォルトの名無しさん
2014/03/20(木) 23:16:30.53ID:132ZA9Bu0228デフォルトの名無しさん
2014/03/21(金) 02:34:14.51ID:SpeQMCN6そういうレスばかりするのはどういう気持ちから?
出題する側、出題される側、回答する側、およびそれぞれの過去を持ついずれか、はたまた無関係。
このどれなんだろう。
少なくとも朝昼夜の3回レスをしているわけだから、無関係ってことはないと思うんだよね。
0229デフォルトの名無しさん
2014/03/21(金) 12:46:06.78ID:Z82+z0lX0231デフォルトの名無しさん
2014/03/23(日) 00:23:46.40ID:LwVxNWuC0232デフォルトの名無しさん
2014/03/23(日) 01:08:12.22ID:xE/ua0sYhttp://hissi.org/read.php/tech/20140317/cU5MRGdYanY.html
http://hissi.org/read.php/tech/20140318/RzEydTlDQ2U.html
http://hissi.org/read.php/tech/20140319/cGdUSktyMGw.html
http://hissi.org/read.php/tech/20140320/bm9Ca2ZSWDA.html
http://hissi.org/read.php/tech/20140321/WjgyK3owbFg.html
http://hissi.org/read.php/tech/20140322/KzJCNk9FZFg.html
http://hissi.org/read.php/tech/20140323/THdWeE5XdUM.html
これだけ常に2chに張り付ける余裕のある生活はある意味うらやましい
というかまじで16〜21日は寝る以外常に2chだな
0233デフォルトの名無しさん
2014/03/23(日) 01:13:14.52ID:SSYwKPLD0234デフォルトの名無しさん
2014/03/23(日) 02:02:35.42ID:MnyK3jKshttps://www.youtube.com/watch?v=Rrzc6CXb_KY
UFC Fight Night 33 - マウリシオ・ショーグンvsジェームス・テフナ
https://www.youtube.com/user/UFC/feed?filter=2
0235デフォルトの名無しさん
2014/03/23(日) 04:10:41.57ID:1sIXiNOp本物のQZ?酉割れてるから本人かどうかわからないけど、
強制IDになっても自演しまくりの日々は続いてんの?
0236デフォルトの名無しさん
2014/03/23(日) 04:11:20.10ID:BoG2P7C10237デフォルトの名無しさん
2014/03/23(日) 10:52:33.39ID:SXKh7u/F2ちゃんに引きこもっていても道は開けないぞ。
0238デフォルトの名無しさん
2014/03/23(日) 12:38:14.86ID:wYZODv5Uちなみに俺はプログラマです
0239デフォルトの名無しさん
2014/03/23(日) 12:50:39.71ID:YZGI/DRgどこから職業プログラマなんだ?
社外には売らないけど、社内のシステム構築してる俺は対象か?
0240デフォルトの名無しさん
2014/03/23(日) 13:04:04.97ID:TTHi9wBaじゃないかな?
0241デフォルトの名無しさん
2014/03/23(日) 13:09:04.37ID:xE/ua0sYそれとも趣味でCやるの?
どっちにしても謎だ
0242デフォルトの名無しさん
2014/03/23(日) 13:12:39.07ID:TTHi9wBaもちろんそれ以外も使ってるけど
cronで動かしているものはほとんどがC
0243デフォルトの名無しさん
2014/03/23(日) 13:44:31.07ID:GFwabcra>社内システム開発にC使うの?
大量データを扱う技術系パッチ処理では、今でもCが使われているよ
いまだに勘定系でCOBOLが使われているのと同じ理由
0244デフォルトの名無しさん
2014/03/23(日) 14:44:58.46ID:YZGI/DRgC++ 使ってるが、何か?
C# の方が楽だけど、.NetFramework のインストールかいる環境とかあるとか色々面倒だったりするから。
あと、Linux 絡みは C だし。
0245デフォルトの名無しさん
2014/03/23(日) 15:23:08.28ID:8jLtLR5AC/C++は開発効率が悪い。
0246デフォルトの名無しさん
2014/03/23(日) 15:58:19.92ID:qQgnZ21H自演の定義はなんだい?
そのときの感性でトリップをつけたりつけなかったり適当にやっているだけだが、それでも自演というの?
トリップつきでもトリップなしでも問わず語りを紡いでいるだけで対話篇は意図していないんだが
それでも自演っていうの?
それなら違うよ、
0247デフォルトの名無しさん
2014/03/23(日) 18:50:29.62ID:YZGI/DRgお前んとこではそうなんだろうな
0248デフォルトの名無しさん
2014/03/24(月) 07:51:01.01ID:30azwQW6http://hissi.org/read.php/tech/20140319/cGdUSktyMGw.html
3/20 ID:noBkfRX0 69レス1位
http://hissi.org/read.php/tech/20140320/bm9Ca2ZSWDA.html
3/21 ID:Z82+z0lX 55レス1位
http://hissi.org/read.php/tech/20140321/WjgyK3owbFg.html
3/22 ID:+2B6OEdX 39レス1位
http://hissi.org/read.php/tech/20140322/KzJCNk9FZFg.htm
3/23 ID:LwVxNWuC 51レス1位
http://hissi.org/read.php/tech/20140323/THdWeE5XdUM.html
完 全 に 病 気
3/24: ID:iN+OyuMJ
http://hissi.org/read.php/tech/20140324/aU4rT3l1TUo.html
0249デフォルトの名無しさん
2014/03/24(月) 10:07:51.73ID:iN+OyuMJ宿題がないと生きていけない
最近はこっち方面で生きていますよー
http://toro.2ch.net/test/read.cgi/tech/1354393458/
http://toro.2ch.net/test/read.cgi/tech/1357191974/
http://toro.2ch.net/test/read.cgi/tech/1390525149/
http://toro.2ch.net/test/read.cgi/tech/1357191974/304 以来ご無沙汰しているけれども
0251デフォルトの名無しさん
2014/03/25(火) 15:14:39.11ID:bvFcvrs80252デフォルトの名無しさん
2014/03/25(火) 16:43:57.34ID:i+51dnCa0253デフォルトの名無しさん
2014/03/25(火) 21:30:34.03ID:HPBQlIXi誰もあてにしていないと思うよ体臭が強すぎて人目でQZってわかりやすすぎだし
0254デフォルトの名無しさん
2014/03/26(水) 00:34:31.34ID:7XkCn4fS剽窃で停学&留年@スーフリ大学
0255デフォルトの名無しさん
2014/03/26(水) 04:34:02.81ID:6J9B4gLY0256デフォルトの名無しさん
2014/03/26(水) 10:53:28.33ID:EsehAkFD0257デフォルトの名無しさん
2014/03/26(水) 15:57:41.60ID:8jubPs5x0258デフォルトの名無しさん
2014/03/28(金) 03:15:42.72ID:zzqObK8g法学部ですら退学にはならんということにビックリ
0259デフォルトの名無しさん
2014/03/28(金) 21:10:37.31ID:QdKQU949[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] その他の制限:
ヒントを教授に聞きに行ったら自分で考えろと一蹴されました
よろしくお願いします
0260デフォルトの名無しさん
2014/03/28(金) 21:32:30.39ID:fFnbRaxRそれが正解だろ。小さい数(2か3)が有利。
ほぼ2で良いが、3もあり得る。
MAX次第。
0261デフォルトの名無しさん
2014/03/28(金) 22:07:28.79ID:iffS8S5F0262デフォルトの名無しさん
2014/03/28(金) 22:12:20.11ID:fFnbRaxRN >= 2^(n-1) * 3 であれば、2解。
0263デフォルトの名無しさん
2014/03/28(金) 22:45:22.88ID:yytRCpay0264デフォルトの名無しさん
2014/03/28(金) 22:50:49.51ID:ETOIpidC学生は泡吹くレベル
0265デフォルトの名無しさん
2014/03/28(金) 22:54:27.99ID:zWFnNM9i0266デフォルトの名無しさん
2014/03/28(金) 23:04:34.85ID:QdKQU9498192 = 2 * 2 * 2 * 2 * 2 * 2 * 2 * 2 * 2 * 2 * 2 * 2 * 2
因子数:13
をもとめるソースコードが知りたいです
0267デフォルトの名無しさん
2014/03/28(金) 23:21:48.83ID:fFnbRaxRfnc(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個出力
}
0268デフォルトの名無しさん
2014/03/29(土) 14:19:08.81ID:Utjmo3gzお前俺と同じ大学かよww
教授にチクっとくわ
Hi!
0270デフォルトの名無しさん
2014/03/29(土) 23:47:47.72ID:3XiSwePB[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
0271デフォルトの名無しさん
2014/03/30(日) 09:28:12.90ID:xXpv5PSOmain()
{
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');
}
}
0272デフォルトの名無しさん
2014/03/30(日) 10:31:02.30ID:6grQiit67と答えるべきなのか?
仕様が曖昧だなぁ・・・
0273デフォルトの名無しさん
2014/03/30(日) 13:06:59.67ID:6RO/tmV/単位落として留年する馬鹿
教授は観てるぞー
0274デフォルトの名無しさん
2014/03/30(日) 15:35:22.26ID:o9ag65ui0275デフォルトの名無しさん
2014/03/30(日) 17:46:51.19ID:4OPeePmhあまりきれいではないけど、誰もやらないので一応参考に
http://ideone.com/LWro3R
0276デフォルトの名無しさん
2014/03/30(日) 18:09:16.83ID:6RO/tmV/0277デフォルトの名無しさん
2014/03/31(月) 13:11:48.78ID:qra824CY0278デフォルトの名無しさん
2014/03/31(月) 19:20:39.49ID:aH5oPSHV0279デフォルトの名無しさん
2014/03/31(月) 21:37:21.57ID:YuwcCGee0280デフォルトの名無しさん
2014/04/03(木) 01:54:55.16ID:GyJlUgSJ0281デフォルトの名無しさん
2014/04/03(木) 04:46:38.64ID:3kW14kq3よくわからんが、10のとき何が出るの?
0282デフォルトの名無しさん
2014/04/03(木) 13:56:38.91ID:GyJlUgSJ0283デフォルトの名無しさん
2014/04/10(木) 19:49:16.30ID:o2rx8JxT[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冊丸々程度)は終了してます
0286デフォルトの名無しさん
2014/04/10(木) 21:44:54.82ID:MSa8YAKkf(0.00031415926, 0);
はどんな結果を返すかな?
0287デフォルトの名無しさん
2014/04/10(木) 22:03:04.12ID:4bNYm9hY痛いところを‥‥
EPSILON をてきとーにいじらないといけないですね、まあ小ネタってことで
続きはお題スレにて
0288デフォルトの名無しさん
2014/04/10(木) 22:05:31.19ID:fuOgayzR\n しか出さないな。
float.h を include して、EPSILON を DBL_EPSILON に変えればまぁいいんじゃない?
しかし、
if (x >= 10.0) {
f(x / 10.0, n + 1);
return;
}
これは流石に駄目だと思う。
問題の処理系においての double のフォーマットを明示しなかった出題側も手落ちなんだけど…。まぁ難しいか。
IEEE 754 と仮定して、何 bit かは sizeof で勝手に判断する分には問題は無いと思うんだが。
0289デフォルトの名無しさん
2014/04/10(木) 23:13:09.44ID:YVcrTM8fhttp://ideone.com/KrJX4u
0290デフォルトの名無しさん
2014/04/10(木) 23:14:53.98ID:d5XuDKUS桁数指定しないと無理ゲーだろ
0291デフォルトの名無しさん
2014/04/10(木) 23:57:30.77ID:fuOgayzRnetlib は良く出来ているらしいし。
>>289
お題は printf 禁止なんだが…。
0292デフォルトの名無しさん
2014/04/11(金) 00:27:35.68ID:Vf1XqNZRttp://ideone.com/Ir8Wdl
VCとGCCで挙動違うでやんの。
0293デフォルトの名無しさん
2014/04/11(金) 00:30:18.09ID:nkEZv0su>char B[L] = "\0";
配列の限界越えているぞ
0294デフォルトの名無しさん
2014/04/11(金) 00:32:09.99ID:nkEZv0su0295デフォルトの名無しさん
2014/04/11(金) 00:35:03.86ID:GvHlzSSy0296デフォルトの名無しさん
2014/04/11(金) 00:38:54.83ID:Vf1XqNZR配列の頭がポインタなら超えてる。ちゃんと領域を確保してそれにコピーしてるなら超えてない。
俺もそれ見てあれ?って思ったんだけど、配列だから大丈夫だと思うんだけど。どうだろう?????
普段からこういう書き方してるが、普段はC++ライクなんだよな〜〜。
0297デフォルトの名無しさん
2014/04/11(金) 01:46:09.36ID:nkEZv0su0298デフォルトの名無しさん
2014/04/11(金) 02:23:18.29ID:Vf1XqNZR0299デフォルトの名無しさん
2014/04/11(金) 03:40:24.49ID:QXXBVWPw指数部とか仮数部とか眺めるだけじゃ全然わけわからんなこれw
http://ideone.com/huYQ8d
0300デフォルトの名無しさん
2014/04/11(金) 04:14:05.22ID:Vf1XqNZR10進数の少数表現と言うのも規格化されてるんだけど、新しすぎて対応してないはず。
C++は暫定的に組み込み可能なクラスで対応するようだ。そのうち。
0301デフォルトの名無しさん
2014/04/11(金) 04:15:10.10ID:Vf1XqNZR0302デフォルトの名無しさん
2014/04/11(金) 04:59:03.30ID:Vf1XqNZR金融の話だったら、ハードに頼るな。ってとこだろう。
文字列の数字の四則演算を実装するのが結果的に早い気がする。
0303デフォルトの名無しさん
2014/04/11(金) 06:19:44.07ID:5I17xPmm>>288
改良版だhttp://codepad.org/DuNxC4mA
>>288
>これは流石に駄目だと思う。
完了版では処理系の double -> int 切捨てルーチンに丸投げした double x; (int)x
0304デフォルトの名無しさん
2014/04/11(金) 13:00:39.99ID:wnV3IcE/前の版もそうだけど出力が1/10になってない?
0305デフォルトの名無しさん
2014/04/11(金) 14:53:37.64ID:5leeoZfo昨日作ってたけど先越されてたのでほっといたけどレス伸びてたのでせっかくだから貼る
小数点以下6桁表示決め打ちのウンコです
ご指摘感謝
今回はアイディア倒れに終わっちまった‥‥
>>283
訂正します
http://codepad.org/5zbOAPWc
0307デフォルトの名無しさん
2014/04/15(火) 01:46:58.12ID:S0P14nXJhttp://ideone.com/80gDLu
0308デフォルトの名無しさん
2014/04/15(火) 16:19:28.76ID:+gsaL0ih[2] 問題文(含コード&amp;リンク):入力した数が奇数の場合表示する。入力した奇数の和が20を超えるまで繰り返すプログラム。
[3] 環境
[3.1] OS:Windows
[3.2] コンパイラ名とバージョン:Visual C++ 2010
[3.3] 言語:C++
[4] 期限:4月18日
0309デフォルトの名無しさん
2014/04/15(火) 18:09:39.29ID:+gsaL0ih0310デフォルトの名無しさん
2014/04/19(土) 02:38:29.25ID:JqCVcRIkttp://ideone.com/pcIxc3
0311デフォルトの名無しさん
2014/04/20(日) 15:44:01.96ID:5MmzIGIw0312デフォルトの名無しさん
2014/04/20(日) 16:19:00.77ID:4j91Sc/00314デフォルトの名無しさん
2014/04/23(水) 21:05:40.39ID:I5h19qdVhttp://gyazo.com/88c216f64dbaebe801e4f519c0d2dcc2
0315デフォルトの名無しさん
2014/04/23(水) 21:39:45.87ID:bWoLrxMTstatic intを使うと
http://ideone.com/vn92Ur
グローバル変数を使うと
http://ideone.com/GNdex3
staticとグローバル変数くらいは使えるようにならないと後で辛くなると思う。
0316デフォルトの名無しさん
2014/04/24(木) 02:07:15.99ID:JIk666B7http://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だったんだよな
0317デフォルトの名無しさん
2014/04/28(月) 15:52:23.27ID:k1ZU+eWD[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;
このプログラムを関数にするにはどこをどうしたらいいですか?
}
0318デフォルトの名無しさん
2014/04/28(月) 16:09:36.15ID:PJcE9AjAtotal+=taiju[i];
}
average=total/10;
0319デフォルトの名無しさん
2014/04/28(月) 16:28:41.96ID:tez0BZs4http://ideone.com/EYr66x
題意は参照渡しが出来るかを試していると予想。
取り敢えず、参照渡しを覚える事を推奨する。
0320デフォルトの名無しさん
2014/04/28(月) 16:35:48.86ID:k1ZU+eWD回答ありがとうございます。
渡しの部分が分からなかったのでしっかり覚えたいと思います。
アドバイスありがとうございます。
0321デフォルトの名無しさん
2014/04/28(月) 17:23:22.28ID:vBB1ZBuL俺ならこう書き直すな……
コメントはしっかり付けたから、
頑張って意味を読み取ってくれ
http://codepad.org/Lk4gO1qY
0322デフォルトの名無しさん
2014/04/28(月) 17:54:09.16ID:k1ZU+eWDsizeof関数まだ習ってないんですが、sizeof使わない場合はどうなるんですか?
なんども聞いてすいません。
0323デフォルトの名無しさん
2014/04/28(月) 18:06:47.35ID:vBB1ZBuL別に配列サイズを別途与えてもいいけど、
sizeofを使って割り算で出すやり方がC言語では定番だということ
(学習用だからまだ習ってないsizeofは使えないんです><ってことなら「10」と決めうちしてもOK)
そもそも、計算させる際に配列サイズをベタ書きする方がおかしいわけで
(C言語なら#defineで定数宣言するといった分かりやすい手段があるのに)
0324デフォルトの名無しさん
2014/04/28(月) 18:31:47.37ID:2XbObvdB[2] 問題文
text.txtというファイルに以下のような個人情報が保存されているとする。これを読み込み、
実行例のように画面に出力するプログラムを作成しなさい。
ヒント: 氏名の読み込みでは"name: %s\n"のような変換仕様を用いると良い。
▼text.txtの内容
name: Ichiro
age: 20
weight: 65.5
e-mail: [email protected]
▼実行例
氏名: Ichiro
年齢: 20
体重: 65.5
Eメール: [email protected]
ご教示願います
0325デフォルトの名無しさん
2014/04/28(月) 18:47:13.71ID:vBB1ZBuLえ、ヒントの通りじゃね?
要するにfscanf関数使えってことでしょ?
fscanf関数の使用例:
http://hitorilife.com/fscanf.php
http://www.c-tipsref.com/reference/stdio/fscanf.html
0326デフォルトの名無しさん
2014/04/28(月) 19:11:16.56ID:vBB1ZBuLこうしないと名前に半角空白が入っていた場合途中で切れるからしゃーない
(例:「name: Taro Yamada」にしてた場合、「name: %255[^\n]\n」だと「Taro」までしか読まれない)
http://codepad.org/VbsaV5Qs
0327デフォルトの名無しさん
2014/04/28(月) 19:12:47.85ID:vBB1ZBuL× (例:「name: Taro Yamada」にしてた場合、「name: %255[^\n]\n」だと「Taro」までしか読まれない)
○ (例:「name: Taro Yamada」にしてた場合、「name: %255s\n」だと「Taro」までしか読まれない)
0328デフォルトの名無しさん
2014/04/28(月) 19:45:01.50ID:CAFKzRDO>326
ありがとうございます。
おかげさまで解決できました。
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
0330デフォルトの名無しさん
2014/04/30(水) 09:28:52.34ID:f1RvcKlkURRで良いやん。
>>言葉足らずでした。
0332デフォルトの名無しさん
2014/04/30(水) 13:15:50.11ID:BnmcVkVeで、何の意味があるの?
それが10進数の電卓作るときに役だつの?
#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;
}
0334デフォルトの名無しさん
2014/05/01(木) 04:03:47.77ID:QEsY+r5w0335>>333
2014/05/01(木) 07:35:46.70ID:kg1PsNpN後、ほめられたのでおまけ:
#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;
}
0336333
2014/05/04(日) 21:58:51.85ID:T5QjrG4CTixBAUrj
誰か見て、感想お願いします。
0337デフォルトの名無しさん
2014/05/04(日) 22:49:18.30ID:Ryn/of2ahttp://codepad.org/TixBAUrj
0338デフォルトの名無しさん
2014/05/05(月) 20:17:58.66ID: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;
}
}
0339デフォルトの名無しさん
2014/05/07(水) 20:30:29.82ID:5dQlzvFdhttp://codepad.org/fnwI0ZPh
0340デフォルトの名無しさん
2014/05/07(水) 22:15:57.26ID:ZBYNUAwBhttp://codepad.org/XALjtgEa
>>339
0341339
2014/05/07(水) 23:01:40.00ID:5dQlzvFd0342340
2014/05/11(日) 19:30:57.09ID:aKdUIV9wwk &= 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();
}
0343339
2014/05/12(月) 02:37:45.75ID:MKmfYHpq153: 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:}
0344デフォルトの名無しさん
2014/05/14(水) 01:32:28.65ID:Qd/1lT4oこれわからん・・。
0345デフォルトの名無しさん
2014/05/14(水) 01:36:59.56ID:mdmP4rsgマルチポストはいけないよ
プログラミングのお題スレ Part3
http://toro.2ch.net/test/read.cgi/tech/1390525149/682-683
682 名前:デフォルトの名無しさん[] 投稿日:2014/05/14(水) 01:31:14.84 ID:Qd/1lT4o
http://gyazo.com/d95028bdea8af92bad1729ad221b1130
683 名前:デフォルトの名無しさん[] 投稿日:2014/05/14(水) 01:33:37.97 ID:Qd/1lT4o
>>682
わからん
0346デフォルトの名無しさん
2014/05/14(水) 01:38:48.44ID:Jr7baMzo0347340
2014/05/15(木) 00:10:50.74ID:4j/hvYC8/* 指数が 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.
0348デフォルトの名無しさん
2014/05/16(金) 18:10:02.95ID:LyHYCBhP[2] 問題文(含コード&amp;リンク):
wavファイルを読み込みテキストデータに変換、そのデータをフーリエ変換したものを画面に出力
[3] 環境
[3.1] OS:Windows
[3.2] コンパイラ名とバージョン:Visual Studio 2010
[3.3] 言語:C
[4] 期限:5月19日
0349デフォルトの名無しさん
2014/05/16(金) 18:13:43.46ID:mI+a74mQ全体記述するとかなり巨大になるぞ
0350デフォルトの名無しさん
2014/05/16(金) 19:30:32.75ID:a2G3KqVr「基礎プログラミング」という名前から察するに
WAV読み込みすら課題として難しすぎる気がする……
0351340 ◆0qAv26otVI
2014/05/17(土) 22:37:14.10ID:MpfkVryuhttp://codepad.org/THT9olE7
0352デフォルトの名無しさん
2014/05/18(日) 06:03:30.65ID:UqGH8+5Gライブラリ使用可じゃないと時間的に難しいぞ
>>350氏がいうようにwavの読み込み、解析でも結構な手間だぞ
0353デフォルトの名無しさん
2014/05/18(日) 06:38:29.37ID:7v87Hd7xだいたいこのスレで質問する質問者どもはそういうのを聞いてなかったり見逃してたりするんだろうね
0354デフォルトの名無しさん
2014/05/18(日) 06:50:32.25ID:7v87Hd7xhttp://marupeke296.com/DS_No2_GetSoundDataFromWav.html
フーリエ変換もFFTのコード適当に拾ってくりゃいいんじゃないの
0355デフォルトの名無しさん
2014/05/18(日) 08:36:41.49ID:OmC98YTB0356340
2014/05/18(日) 10:19:53.72ID:BFkwxb500357デフォルトの名無しさん
2014/05/18(日) 11:03:53.27ID:ICbJFvwMhttp://www.geocities.jp/horie_ryu/page01.html
とかでええんでねぇの
0358デフォルトの名無しさん
2014/05/18(日) 11:11:40.83ID:untGUeAUまあそうなんだろうけど、FFTじゃなくてDFTって時点で……
>>353無視するならそもそもFFTを自分で書かないけどな
0359デフォルトの名無しさん
2014/05/18(日) 14:26:18.43ID:T4xlj6Hv[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
.
.
.
これをポインタにするとどうなりますか?
ご教授お願いします。
0360デフォルトの名無しさん
2014/05/18(日) 14:45:33.15ID:H/JD4vj20361デフォルトの名無しさん
2014/05/18(日) 14:59:18.40ID:T4xlj6Hvvec3です。
0362デフォルトの名無しさん
2014/05/18(日) 15:26:21.75ID:lWjJVkd2C/C++は知らないので馬鹿な質問なのかも知れませんが、
「3つの整数型一次配列vec1,2,3の先頭アドレスに要素数nを与えると」
これって普通の表現ですか。
0363デフォルトの名無しさん
2014/05/18(日) 15:29:02.99ID:mmOjks5Dナイス突っ込み
0364デフォルトの名無しさん
2014/05/18(日) 15:33:00.30ID:DIHfwpMS0365デフォルトの名無しさん
2014/05/18(日) 15:38:31.73ID:P2EXL/Ge三つの整数型の一次元配列vec1,vec2,vec3と、その要素数nを与えると
だろうね言いたいのは
0366デフォルトの名無しさん
2014/05/18(日) 15:45:28.06ID:P2EXL/Ge例
*(vec3+0)=11
0367デフォルトの名無しさん
2014/05/18(日) 17:32:32.13ID:d9R6JRvlWAVの読み込みは手間だけど、離散フーリエ変換はFFTじゃないDFTなら問題なくね?
サンプル数(ウィンドウサイズ)分のforループを二重に回せば演算時間はともかく変換はできる。
0368デフォルトの名無しさん
2014/05/18(日) 19:32:38.23ID:untGUeAUとりあえず「ご教示」な
解答としてはこんな感じ?
http://codepad.org/jfTHHfCc
0369デフォルトの名無しさん
2014/05/18(日) 22:48:38.01ID:T4xlj6Hv回答ありがとうございます。
自分で考えてもう一度解いてみます。
0370デフォルトの名無しさん
2014/05/19(月) 00:56:39.26ID:UDyOnYKbいずれにせよスレのレベル超える難易度の宿題だよな
0371デフォルトの名無しさん
2014/05/19(月) 12:29:53.17ID:ozr2de0w[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日
http://pastebin.com/0BLX3vfH
上記のように作ってみたのですが、正常に動作していないようです。
30文字程度入力するとデータが飛ぶのでreallocあたりかと思うのですが、どこをどうすればいいのかわかりません。
よろしくお願いします。
0372デフォルトの名無しさん
2014/05/19(月) 12:34:26.86ID:ozr2de0wgetchar()にて一文字ずつ付け足す方式の回答はできているのですがfgetsが大好きなのでできる限り改変なしで手直しかアドバイスをいただければ幸いです。
0373デフォルトの名無しさん
2014/05/19(月) 12:41:47.58ID:mxK7K6eG「好き」って一体何なんだよ……
だいたいソースコード中に「30」って数字が入ってるじゃねーかw
0374デフォルトの名無しさん
2014/05/19(月) 12:53:35.16ID:ozr2de0wまた、"30文字程度"というのは一度にではなく合計でです。
0375デフォルトの名無しさん
2014/05/19(月) 13:15:42.07ID:wBsls3I6ざっと見ただけだけど
reallocが返すアドレスをmainまで返してないからじゃない?
0376デフォルトの名無しさん
2014/05/19(月) 13:29:15.87ID:yPaRcm/Estr をポインタで渡すか
reallocで確保された ptr 値を返却して main 関数内で str に代入するかしないと
0377デフォルトの名無しさん
2014/05/19(月) 16:32:02.51ID:8OgLlmDpmy_strcat();みたいな処理をmainのwhile内に書いたほうが悩まずに済むと思う
0378デフォルトの名無しさん
2014/05/19(月) 17:35:06.77ID:8OgLlmDp> 上記のように作ってみたのですが、正常に動作していないようです。
> 30文字程度入力するとデータが飛ぶのでreallocあたりかと思うのですが、どこをどうすればいいのかわかりません。
これは、
1. 28行目のfgetsで30bytesからあふれた分が次回のfgetsで拾われる
2. 8行目で強引に終端文字を\0 にしているから文字欠けが生じている
の2つが重なったのが原因だと思います。
http://ideone.com/Ff4R0x
みたいにすれば良いかも。
0379デフォルトの名無しさん
2014/05/19(月) 17:58:07.75ID:8OgLlmDpしないそうなので、strのために確保したメモリは注意が必要。
0380デフォルトの名無しさん
2014/05/19(月) 18:16:14.08ID:ozr2de0w>>376
関数とポインタについての理解が不十分だったようです。ご指摘ありがとうございました。
>>378
整ったコードをありがとうございます。参考にさせていただきます。
また、起きた事象の解説までしていただき恐れ多い限りです。
今夜はぐっすり眠れそうです。重ねてお礼申し上げます。
0381デフォルトの名無しさん
2014/05/19(月) 19:14:04.33ID:8OgLlmDpは *str = '\0'; をしていなかった。
整っていないし…。
修正を入れた版 → http://ideone.com/X4p9LL
0382デフォルトの名無しさん
2014/05/21(水) 01:52:36.45ID:P13qVQqw[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] その他の制限: 特になし
よろしくお願いします
0383デフォルトの名無しさん
2014/05/21(水) 09:42:11.50ID:zcLf8qzDttp://ideone.com/9GzhfN
0384デフォルトの名無しさん
2014/05/21(水) 15:55:03.02ID:zcLf8qzDバグ修正
ttp://ideone.com/yV03T1
0385デフォルトの名無しさん
2014/05/24(土) 06:30:53.05ID:GtRtgzPJここでの問題は区間入力だから、単純だが、それでも区間を跨る場合の定義が書いていない。
本来は通話開始時刻と通話時間の二入力で出題されるところだろうが、その場合、
国民の祝日、休日の確定が必要で結構やっかい。春分の日、秋分の日は前年の二月一日の
官報に掲載されるまで決定できない。
0386デフォルトの名無しさん
2014/05/24(土) 15:39:12.12ID:pI+dKANJhttp://codepad.org/qjHj79OK
ここであってるのかわかりませんが、RPCサーバの課題についてです。
double型の値(x)を受け取り、その値から2.4*x*(1-x)を計算した結果をdouble型で返す
RPCサーバとクライアント(データ(x)送信範囲は0<x<1)の作成なんですが、プログラミングについて理解があまりないので
教えていただけませんか?
RPCサーバをコンパイルするも
警告: 暗黙的な関数宣言: registerrpc
と表示されたり
RPCクライアントをコンパイルするも
警告: 暗黙的な関数宣言: callrpc
と表示され何が問題なのかさえわかりません。
0387デフォルトの名無しさん
2014/05/24(土) 18:16:25.56ID:imaRiqLQ>>警告: 暗黙的な関数宣言: registerrpc
その警告は「関数宣言がないから、暗黙的な関数宣言があったものとするよ」という意味。
#include <rpc/rpc.h>を入れれば消えるのでは?
0388デフォルトの名無しさん
2014/05/24(土) 20:27:35.18ID:Sb4iXA5P[2] 問題文(含コード&リンク):
プレイヤーvsモンスターの戦闘ゲーム
[3] 環境
[3.1] OS:Windows
[3.2] コンパイラ名とバージョン:Visual Studio 2010
[3.3] 言語:C++
[4] 期限:5月26日
[5] その他の制限: 1対1のターン制で宜しくお願いします
0389デフォルトの名無しさん
2014/05/24(土) 20:44:15.43ID:5k74nlaXhttp://codepad.org/F8YUTiSQ
0390デフォルトの名無しさん
2014/05/24(土) 20:47:42.79ID:BoH7rvjbせめてパラメータとか攻撃方法とかぐらい書けよ!
0391デフォルトの名無しさん
2014/05/24(土) 20:50:41.21ID:BoH7rvjb0392デフォルトの名無しさん
2014/05/24(土) 22:46:47.83ID:Sb4iXA5Pサクセス!
どちらかのHPが0になった時に戦闘を終了するようにはできないのでしょうか……?
0393デフォルトの名無しさん
2014/05/24(土) 22:52:44.98ID:5k74nlaXwhile (PlayerHP > 0 || MonserHP > 0)
じゃなくて
while (PlayerHP > 0 && MonserHP > 0)
だた
0394デフォルトの名無しさん
2014/05/24(土) 22:58:59.51ID:znGmyzXe>サクセス
成功(Success)?
……この実装だと0キッカリというのは難しいな(負数になり得るので)
PlayerHPとMonsterHPをunsignedにするとかすれば大丈夫だろう
0395デフォルトの名無しさん
2014/05/24(土) 23:04:46.09ID:znGmyzXeなんだ、一度も走らせたことないのか……
「MonserHP」ってtypoしてるし、この書き方だと
Magic4回→Attack1回→Magic1回ってやるとバグるぞ?
http://codepad.org/xzCoDYRw
理由は言わずもがな
0396デフォルトの名無しさん
2014/05/24(土) 23:06:15.64ID:eVT80dAs0397デフォルトの名無しさん
2014/05/24(土) 23:08:38.64ID:imaRiqLQ逆
0398デフォルトの名無しさん
2014/05/24(土) 23:09:25.33ID:znGmyzXeその場合は条件式をいじって……
いやまあ>>395の時までは真面目にソース読んでなかったのよw
0399デフォルトの名無しさん
2014/05/26(月) 09:36:06.44ID:Cxl0XcJFdouble型で送信して、値の返却もdouble型でするには、どこをいじればいいのでしょうか?
0400デフォルトの名無しさん
2014/05/26(月) 18:37:13.95ID:l2nsfm+B>>388
ubuntuとかのlinuxディストリならAnswer 1を参照。solarisなら-lrpcでいけるのかな?
http://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;
}
0401400
2014/05/26(月) 18:41:14.32ID:l2nsfm+B0402デフォルトの名無しさん
2014/05/26(月) 22:52:16.16ID:A1ad6/Mw通信は基本的にビットを送信していると思ってください。ビットそのものには意味がありません。
ビットの塊にフォーマットを与えることでその仕事を成します。
基本的にはお約束にしたがってdoubleっぽいビット列をキャストしてやればいいんじゃないでしょうか。
0403デフォルトの名無しさん
2014/05/27(火) 07:07:22.16ID:b3eX0olM0404デフォルトの名無しさん
2014/05/27(火) 20:44:35.69ID:5Qu+jOxY0405デフォルトの名無しさん
2014/05/28(水) 06:55:00.23ID:ZyYrP6pw0406デフォルトの名無しさん
2014/06/10(火) 01:27:04.86ID:bRopYhGX[2] 問題文(含コード&リンク): http://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] その他の制限:
0407デフォルトの名無しさん
2014/06/10(火) 07:42:12.24ID:9RO//ztd0408デフォルトの名無しさん
2014/06/10(火) 08:54:06.64ID:AtWi4EDzJ( 'ー`)し タケシのコードをスクラッチで書き直してみたよ。http://codepad.org/cQiOfJY8
(`Д) うるさい死ね 1割くらい遅えじゃねえか!
J( 'ー`)し ごめんね。お母さん1次元配列派だから、インデックス値の計算に時間が少し掛かるみたい。
(`Д) うるさいくたばれ、返信すんな
J( 'ー`)し ヘッダ処理も少し真面目にやってみました。たいせつにつかってね 食事はしていますか?
(`Д) 死ねくそ女
0409デフォルトの名無しさん
2014/06/10(火) 09:18:50.70ID:FVnE5useとりあえず
× irregal
〇 illegal
あとこっちでコンパイルしてみたらちゃんと(かどうか知らんが)
変な色の画像に変換された
0410デフォルトの名無しさん
2014/06/10(火) 11:43:36.28ID:GmSg9gy+ありがとうございます
環境の違いなのかこっちで計測したら処理時間が元の8倍くらいかかりました
結果画像も違ってますね...
>>409
わかりました
そうです!変な色の画像になりますね
0411デフォルトの名無しさん
2014/06/10(火) 11:46:42.70ID:GmSg9gy+その辺よくわからないんです
0412デフォルトの名無しさん
2014/06/10(火) 12:00:22.30ID:xGEOixPR[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] その他の制限:
0413デフォルトの名無しさん
2014/06/10(火) 13:08:07.48ID:FVnE5useわかんないけど念のため、
出力は別ファイル。もしかして同じファイルを上書きすると思ってない?
全面単色の画像を使ってたりしない?画像によっては変化ないかもしれない
0414デフォルトの名無しさん
2014/06/10(火) 13:16:56.65ID:FVnE5useタイムマシン探さないと
0415デフォルトの名無しさん
2014/06/10(火) 13:38:14.58ID:ItrQsGd1そこは大丈夫です、出力は別だと理解してます。
元画像はカラー画像を使ってます
全面単色ではないです
グレースケールに変換する部分のループを改変すれば早くはなるんですけど結果画像が変わっちゃうんですよね
0416デフォルトの名無しさん
2014/06/10(火) 14:44:06.94ID:IE+cVxVOそこは大丈夫です、既に利用申請は通っています
0417デフォルトの名無しさん
2014/06/10(火) 16:23:12.10ID:NFkRDJAjごめん課題を理解してなかった。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;
0418デフォルトの名無しさん
2014/06/10(火) 16:50:44.67ID:AtWi4EDzすんません。コメントのスキップがバグってて結果画像が変わってるかもしれません。
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;
画像データが欲しいな・・・チラッ
0419デフォルトの名無しさん
2014/06/10(火) 17:06:56.99ID:EOz1UYwittp://ideone.com/47VWwF
0420デフォルトの名無しさん
2014/06/10(火) 20:18:19.01ID:aONg9Rvp小手先のポインタラッチで多少早くなる(ただし最初から最適化ありでコンパイルするなら変わらんかも)
ttp://codepad.org/fD0rji3C
画像のサイズを完全に固定していいのなら早くできそう
0421420
2014/06/10(火) 20:19:41.98ID:aONg9Rvp#同じく画像データが欲しいな・・・チラッ
0422420
2014/06/10(火) 21:08:07.09ID:aONg9Rvp以下2点の対応による高速化
・ループ内で固定のポインタは必ずループの最初に保持するように変更
・多次元配列の実現方法として、ポインタのポインタをやめ、1次元配列でメモリ確保するように変更
ttp://codepad.org/h7frFJ2g
画像サイズは手元に合わせちゃったので注意
手元(cygwin gcc4.8.2)では25%位高速化した
0423デフォルトの名無しさん
2014/06/10(火) 22:49:16.28ID:nQmGr7gQいえいえ、わかりました
整数にしてしまうと、double型からint型に変わってしまって結果画像もかなり変わってきてしまうんです。
なので、*(1.0/3.0)にしてみたんですが、これでも少し変わってしまうんですよね...
>>418
ありがとうございます
読み方がよく分からないのでちゃんと書き換えられるか心配ですが...
画像なんですが、ppmファイルなので上手くアップ出来ないですすいません...
dropboxのリンクも貼れないですし何か方法ありますかね
0424デフォルトの名無しさん
2014/06/10(火) 23:00:13.67ID:CF7cNgR4とりあえずPNGにしてアップしてみよう。
変換はこっちでやる前提で。
0425デフォルトの名無しさん
2014/06/10(火) 23:25:39.83ID:JSaVvobsWindows cmdで開かせるように出来ないか。
論理演算子使用して。
どうも、ループと-1もしくはctrl D入れて終了が出来んのだ。
if (0 && 23)
else if (a<0 && 3>a)
的な
0426デフォルトの名無しさん
2014/06/11(水) 00:33:08.82ID:Lpj6uie10427デフォルトの名無しさん
2014/06/11(水) 02:36:34.93ID:eXkj4KPKありがとうございます
申し訳ないんですがポインタラッチを知らないので全然わからないです。
呼び出した値によって判定して置き換える?感じでしょうか
把握できなくてすいません
画像のサイズは元画像のまま固定で大丈夫です
>>422
変更点のわかりやすい記述ありがとうございます
ポインタを使ったほうが処理が早い認識でしたが、1次元配列だとなぜ早くなるのでしょうか
まだこちらで実行確認が出来ていないのがすごく申し訳ないです
>>418>>421>>423
遅くなってすみません
これが元画像です
http://imgur.com/xn0p92M
これを元のプログラムで処理するとこうなります
http://imgur.com/zgkYExK
0428デフォルトの名無しさん
2014/06/11(水) 02:39:37.52ID:eXkj4KPK元画像
http://imgur.com/xn0p92M.png
処理後
http://imgur.com/zgkYExK.png
0429デフォルトの名無しさん
2014/06/11(水) 07:15:26.20ID:BC77khn/[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による繰り返し処理を習いました。
0430デフォルトの名無しさん
2014/06/11(水) 07:23:51.87ID:BC77khn/出力例:
txt:abcdefg
ptn:ef
1回目の比較
abcdefg
e
失敗
2回目の比較
abcdefg
e
失敗
(省略)
N回目の比較
abcdefg
e
成功
N+1回目の比較
abcdefg
ef
成功
-----結果-----
添字: 4
比較回数: N+1回
0431デフォルトの名無しさん
2014/06/11(水) 08:40:53.74ID:gc0u05WB417だけど417の変更では出力は変わらなかった。一応
0432デフォルトの名無しさん
2014/06/11(水) 08:55:13.52ID:mGD11vxw入力がただのリターンだった時は出現しない?
0433デフォルトの名無しさん
2014/06/11(水) 09:35:04.79ID:mGD11vxw> abcdefg
> e
> 成功
成功になってるのに途中経過がeなのはこれでいいのか
txt:1234
ptn:23
の時の全出力例も載せて
0434418
2014/06/11(水) 10:36:37.89ID:oyooQxgj画像の提供ありがとう。>>418の修正で結果画像が同じになるのを確認しました。しかし、重い。クソースでサーセン。
>>422
x86_64版gcc 4.4.7とかだと最適化オプションなしでも、
UCHAR (*tmpgyou)[][DIM3]の領域はスタックコピーが発生せず、
&(*data)[g]のアドレスの先頭アドレスのみをスタックに入れるコードになるみたいですね。
不思議。おしえてgccに詳しい人。
最適化オプションつけた場合、make_grayはほぼ同じになりますが、
上記の影響なのか、他2つの関数はfor文がまとめられ(jump命令が減る)、
パイプラインフラッシュの回数現象で相当速くなりますね。
0435デフォルトの名無しさん
2014/06/11(水) 12:37:51.24ID:XYJSlMo0420=422です 勝手なオレオレ用語使ってしまってごめんなさい
ポインタラッチ=ポインタをラッチ(保持)する=>>422の変更点1つ目 です(ラッチというとハードウェアの言葉だからソフトでは使わないかも)
1次元配列のほうが速いのは、時間を測った結果そっちのほうが速かったから
・・・というのは半分冗談半分ホントだけども
ポインタのポインタだと、一つ目のポインタの中身を知るためにメモリアクセスし、その値が指す先に再度メモリアクセスして値を取得する
(インデックス計算→メモリアクセス→インデックス計算→メモリアクセス)
1次元配列だと、インデックスの計算を複数回やった後に1度だけメモリアクセスする
(インデックス計算→インデックス計算→メモリアクセス)
この違いが後者のほうが速かったということ
基本的にはパイプライン処理してるプロセッサだとメモリアクセスはストールの原因になるので少ないほうが速い
(x86ってCISC?だけどパイプライン処理してる?よね?あまり詳しくないです)
実際にはほかの要因もいろいろあるはずで、処理時間は最終的には計測してみるのが確実
>>434
UCHAR (*tmpgyou)[][DIM3]は宣言がややこしいですが、配列を指すただのポインタ変数です
なので配列分の領域を持っているわけではないです
先頭アドレスを保持するためのポインタ変数として使ってるので意図通りですね
0436デフォルトの名無しさん
2014/06/11(水) 12:41:13.61ID:QAZZuHs2>ポインタを使ったほうが処理が早い認識でしたが、
>1次元配列だとなぜ早くなるのでしょうか
arr[i][j]で、1次元の要素数をA、
1ポインタのバイト数をBとして、アドレスを求めると、
(i * A + j) * B
この、i * A の掛算が余分なのかな?
ポインタは、p++ インクリメントで、Bバイトずつ進むが、
この時は掛算ではなく、Bずつ加算するので、
シーケンシャルアクセスした方が、キャッシュ乗りもよく速そう
0437デフォルトの名無しさん
2014/06/11(水) 13:19:49.82ID:gc0u05WB最適化すればその掛け算は隠蔽されると思う
一次元配列にする方法の場合、踏み台の配列分のメモリアクセスが減るので
メモリアクセスのコストだけ早くなるんだろうね
cache hit してもそれなりのレイテンシはあるし。
ただ元のコードの柔軟性(callee側はサイズ依存しない)が
無くなるので、微妙な気もする
0438デフォルトの名無しさん
2014/06/11(水) 13:37:07.36ID:IQSYsiwa2重ループ内のprintfデバッグメッセージで
内と外の語彙が同一ってだけかと
成功
大成功
とかすりゃ分かりやすいかもねw
0439436
2014/06/11(水) 14:48:31.92ID:QAZZuHs2for(〜i++){
for(〜j++){
arr[i][j]
}}
こういう2重ループの場合、(i * A + j) * B の、
i * A の部分は、掛算が必要なのでは?
iが、0,1,2〜と変わるから
0440デフォルトの名無しさん
2014/06/11(水) 15:10:11.51ID:CtrbFu71コンパイラによっては(gccなど)、アセンブラ用ソース出力可だから、最適化オプションを変えて出して見ればいい。
0441デフォルトの名無しさん
2014/06/11(水) 15:12:18.16ID:mGD11vxwどこで2重使うのかわからないがなんとなくわかったありがと
0442デフォルトの名無しさん
2014/06/11(水) 15:31:55.21ID:IQSYsiwa機能的にはstrstrの劣化版でしょ
http://www.opensource.apple.com/source/xnu/xnu-792.13.8/libsa/strstr.c
を改悪したものだと思えばいい
0443429
2014/06/11(水) 16:27:13.24ID:BC77khn/コピペしたんですがスペースがうまくコピー出来てませんでした
正しい表示例は、
最終的にabcdefのefの真下にefが表示される、と言ったかんじで、失敗したらptnの文字列が1文字分ずつずれるようにしたいです。
0444デフォルトの名無しさん
2014/06/11(水) 16:44:15.61ID:BC77khn/出力例貼り忘れてました
http://www.dotup.org/uploda/www.dotup.org5120326.png
0445デフォルトの名無しさん
2014/06/11(水) 16:46:59.02ID:XYJSlMo0ttp://codepad.org/kjLe88XM
0446デフォルトの名無しさん
2014/06/11(水) 16:51:59.87ID:mGD11vxwstr系の仕様を認められてるのかわからないから使わずに1重でやってたわ
結果ありきだから速度とかは度外視
0448デフォルトの名無しさん
2014/06/12(木) 05:33:24.07ID:Abgsr/RVC++er…出て来いや!
0449デフォルトの名無しさん
2014/06/12(木) 13:06:28.39ID:u0MLAqu6http://codepad.org/3u1bGzGY
http://codepad.org/vNJ5qzdj
0450デフォルトの名無しさん
2014/06/12(木) 16:02:13.86ID:6KI3I0Lz説明ありがとうございます
よくわかりました
昨日ぎっくり腰になったりして色々もたつきましたが、>>422の変更で問題なく出力されましたし、間に合いました
ちょっと整数演算に直しても上手く行ったので、最初に直した時は私の不手際があったのだと思います
最終的に最初の1/5以上高速化出来ました
本当にありがとうございました!
04511/2
2014/06/12(木) 17:45:43.36ID: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;
}
04522/2
2014/06/12(木) 17:46:17.06ID:25HL/Rbgfor文から抜けて、cが2なら、1とその数でのみで割り切れるということなので素数。
1はc=1になるので含まれない。
って作ったのですが、解答の場合でも代入していって考えました。
代入していってだいたい分かりましたが、考え方は、公約数で1の次に大きな数が2で、
1と入力した数以外に約数がある場合、1番小さい数が2。だから、入力した数の半分まで
ループさせれば、足りる、みたいな感じでしょうか。
解答のほうがforループの回数が半分なので、これが莫大な量になったとき
処理は早くなると思います。やはり、自分の考えでプログラムを書いて正しい答えを出すより、
分かりづらかったり考える必要があっても、最小限の手数で
正しい答えが出せるプログラムも理解していくべきでしょうか?
仕事などをされてる方は、このようにパッと見で少し理解が難しくても、
少しでも速くなるプログラムを書いてる方は多いですか?
0453デフォルトの名無しさん
2014/06/12(木) 18:34:50.13ID:P9Wf1hbp素数の計算で探索空間を半分にするのは常識というか
ほぼ100%そうするコードしかないから、深く考えるようなことじゃない
0454デフォルトの名無しさん
2014/06/12(木) 20:09:35.46ID:TIE2YHiqゲーム作ることを考える。
たまにゲームでなんでこんな簡素な描画なのにこんなにくそ重たいねん。っていうゲームがあると思う。
そういうストレスを削減する意味でも計算オーダーを下げるのは重要。
そのうえで読めるコードを書くのも技術ですよ。
それと、逆算も技術。
0455デフォルトの名無しさん
2014/06/12(木) 20:23:38.21ID:25HL/Rbgなるほどですね。
ありがとうございました。
0456デフォルトの名無しさん
2014/06/13(金) 10:04:52.54ID:eljxZ1z3[2] 問題文(含コード&リンク): http://codepad.org/zOQeEjA6
完全列挙法を用いてTSPを解くプログラムを作成しなさい
グラフの点を全て通って始点に帰ってくる経路の内、距離が最短なものを完全列挙法で導くプログラムです。
このプログラム内では点を都市としています
途中まで作った物がリンクのコードですが、最短の距離を算出するところが上手くかけません
そして順列の書き方がわからなかったのでコピペしたのですが、どう動いているのかがよくわかりません
また、こういう書き方の方が良いというのがありましたら教えていただきたいです
よろしくお願いします
[3] 環境
[3.1] OS: Linux
[3.2] gcc
[3.3] 言語: C
[4] 期限: 2014年6月16日17:00まで
[5] その他の制限:
0457デフォルトの名無しさん
2014/06/13(金) 16:22:01.41ID:M4x6Kn4Sttp://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ぐらいと思ったほうがいい)
・意味が分かりにくい箇所には適宜コメントを入れましょう
0458デフォルトの名無しさん
2014/06/13(金) 18:40:15.90ID:/N84HNYW[2] 問題文(含コード&リンク):
http://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] その他の制限:
自分でも考えてみましたがわかりません。
よろしくお願いします。
0459デフォルトの名無しさん
2014/06/13(金) 22:25:12.70ID:M4x6Kn4Sttp://codepad.org/AYNHHZ3P
アルゴリズムはほぼ参考ページの丸写しです
参考ページ:ttp://fussy.web.fc2.com/algo/algo3-2.htm
0460デフォルトの名無しさん
2014/06/13(金) 22:35:52.71ID:M4x6Kn4Sすみませんが上記は破棄で
0461デフォルトの名無しさん
2014/06/13(金) 22:37:06.35ID:mWNJp1eRルックアップテーブルというのを使ってみた。
http://codepad.org/qbkPBAE5
0462デフォルトの名無しさん
2014/06/13(金) 22:43:41.47ID:mWNJp1eRtype __array[] = {...}
type *array = __arrayで目をつむろうぜ。
0463459
2014/06/13(金) 23:07:16.98ID:M4x6Kn4Sttp://codepad.org/BXC0miZY
無理やりポインタを使うようにしてみた(imageにはかならずpoint経由でアクセス)
>>462
似たような感じで変えてみましたw
0465デフォルトの名無しさん
2014/06/14(土) 11:29:20.51ID:hFdfnZbt思いつくまま書いてもなんとかなった
ポインタを使えってところが微妙に難しいところか
http://codepad.org/Ky7wUZqB
0466デフォルトの名無しさん
2014/06/14(土) 13:11:25.49ID:IGGRlfrQttp://codepad.org/iMJsA8Iz
がんぱって削ってみた
回答ありがとうございます
解決できました
0468デフォルトの名無しさん
2014/06/17(火) 20:25:40.64ID:waqSsQEe[2] 問題文(含コード&リンク):
長いのでこちらにまとめました。
http://codepad.org/WZx26C7D
[3] 環境
[3.1] OS:Windows7
[3.2] Visual Stdio 2010
[3.3] 言語:C++
[4] 期限: ([2014年6月18日12時00まで])
[5] その他の制限:
自分でギリギリまで考えましたが分かりませんでした。
よろしくお願いします。
0469デフォルトの名無しさん
2014/06/17(火) 21:51:23.95ID:uAYqPugm何が分からなかったの?
0470デフォルトの名無しさん
2014/06/17(火) 22:58:58.00ID:waqSsQEe一度最後まで作ったのですが
この課題を出した人にこれでは間違っていると言われてしまいました。
とりあえずソース上げます
0471デフォルトの名無しさん
2014/06/17(火) 23:16:06.68ID:waqSsQEehttp://codepad.org/kSfZ5tUZ
↑これが自分で作ったソースです。
上から課題1.2.3.4になります。
配布された資料とにらめっこしながら作ったのですが
理解が及ばず詰まっているのが現状です。
最終的には処理を全てまとめたいと思っているのですが・・・
0472デフォルトの名無しさん
2014/06/17(火) 23:22:24.15ID:JQ3yohPeバグがあっても自力で見つけられんぞ。
0473デフォルトの名無しさん
2014/06/17(火) 23:25:36.53ID:JQ3yohPe0475デフォルトの名無しさん
2014/06/17(火) 23:41:51.72ID:JQ3yohPe> 0にななった場合1にすれば良いのでしょうか
だめ。8/9 がちゃんと 0.8888... になるようにする。
3と4は見た目問題なさそうに見える。何か不具合あるの?
0476デフォルトの名無しさん
2014/06/17(火) 23:55:46.98ID:waqSsQEe上手く割る為にはどうすれば良いのでしょう。
プログラムを提出する時に画像を見せるのですが
これではダメだと言われたんです。
一応画像を貼ります。
上から1.2.3.4
http://www.dotup.org/uploda/www.dotup.org5132663.png
http://www.dotup.org/uploda/www.dotup.org5132664.png
http://www.dotup.org/uploda/www.dotup.org5132667.png
http://www.dotup.org/uploda/www.dotup.org5132669.png
0477デフォルトの名無しさん
2014/06/18(水) 00:10:22.85ID:a3+GeDDBint/int は int になってしまうから、
double/int か int/double の形にすればいい。
3と4はバブルソートがだめだな。
jの初期値がj=i+jって何だよ。
0478デフォルトの名無しさん
2014/06/18(水) 00:11:18.99ID:FyKrT/+C・「これではダメ」←「メディアンフィルタがかかってないのが一目瞭然だから」だろうね
・ぱっと見だが:3,4,でソートしてるとこの for(j=i+j; はすごく変
0479デフォルトの名無しさん
2014/06/18(水) 00:12:31.18ID:FyKrT/+C0480デフォルトの名無しさん
2014/06/18(水) 00:16:40.15ID:dQXq5s2V>>478
すいません。
図々しいとは思うのですが解決方法を教えてくれませんか?
かれこれ一週間試行錯誤してたのですが期限に達してしまいました・・・
0481デフォルトの名無しさん
2014/06/18(水) 00:17:38.88ID:AXoUiaON#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がエラーになるのです
0482デフォルトの名無しさん
2014/06/18(水) 00:27:58.71ID:FyKrT/+C惜しいな。
void display2(struct syouhin_data syouhin);
(は、struct syouhin_data を使っているから)
その構造体の宣言よりも下の行に持っていけば動くよ。
>>480
スマン俺は寝る。
たぶん for(j=i; だと思うが未確認だし責任は取れん。
他の間違いは探してないし。悪しからず。
0483デフォルトの名無しさん
2014/06/18(水) 00:31:44.82ID:dQXq5s2Vありがとうございますありがとうございます。
もう12時間を切ってしまったあ
0484デフォルトの名無しさん
2014/06/18(水) 00:34:53.37ID:AXoUiaON動かなかった理由も理解出来ました。
教科書が間違っていました。クレーム入れます。
0485デフォルトの名無しさん
2014/06/18(水) 00:45:13.06ID:a3+GeDDB> 動かなかった理由も理解出来ました。
動かないのと、コンパイルできないのとは、区別した方がいいぞ。
0486デフォルトの名無しさん
2014/06/18(水) 00:46:40.10ID:mKlf65Kz何て教科書の何ページ
0487デフォルトの名無しさん
2014/06/18(水) 00:47:07.21ID:dQXq5s2Vやはり上手く割り算できないです
0488デフォルトの名無しさん
2014/06/18(水) 00:54:18.03ID:a3+GeDDB方法1: 9で割るんじゃなく9.0で割る
方法2: (double)をin_imageの前に付ける
方法3: 全部足してから9で割る
0489デフォルトの名無しさん
2014/06/18(水) 01:04:15.09ID:dQXq5s2V上手くできました!
これで1はもう大丈夫でしょうか
0490デフォルトの名無しさん
2014/06/18(水) 01:17:51.17ID:dQXq5s2V凄い今更なのですけど
自分の作ったプログラムは簡単に言うとどういった動作をしてるのでしょう
0491デフォルトの名無しさん
2014/06/18(水) 01:30:35.94ID:a3+GeDDB……ォィォィ……
自分のわかる範囲を説明してみな
俺は寝るけど
0492デフォルトの名無しさん
2014/06/18(水) 01:31:39.06ID:d0o5Ribttp://codepad.org/4elO5klx
tp://www1.cts.ne.jp/~clab/hsample/Sort/Sort1.html
0493デフォルトの名無しさん
2014/06/18(水) 01:42:41.71ID:dQXq5s2Vゴメンなさい。
C言語苦手なんです・・・
とりあえず計算しているんだろうな・・・としか
0494デフォルトの名無しさん
2014/06/18(水) 02:36:44.35ID:dQXq5s2Vどんな処理が行われているのかわからない
誰か助けてください
0495デフォルトの名無しさん
2014/06/18(水) 02:54:24.76ID:8AGe2LGW0496デフォルトの名無しさん
2014/06/18(水) 06:37:26.20ID:9i8t8Hfq1. 元画像(x, y)を中心にした9x9の複数画素の平均値を新規画像の(x, y)に設定。
3. 元画像(x, y)を中心にした9x9の複数画素の中央値(hairetu[4])を新規画像の(x, y)に設定。
その際、元画像の複数画素をコピーしたhairetuにソートを実行。
2, 4についても同様。
処理の共通化と簡易化、コーディングの作法とかも教育現場で担当して欲しいね。
bitmapも画像処理の教材としては疑問。
0497デフォルトの名無しさん
2014/06/18(水) 11:17:27.12ID:9qLbuGjN教師に言いなよそれ。
何も理解できてないのに課題だけ通っても意味がない
0498デフォルトの名無しさん
2014/06/18(水) 12:10:04.78ID:LGYjzaR6オートマトンか?
Life Game、シムシティにも似ているような
0499デフォルトの名無しさん
2014/06/18(水) 23:10:52.83ID:Ls9SsycKhttp://peace.2ch.net/test/read.cgi/tech/1313183984/600
0500デフォルトの名無しさん
2014/06/19(木) 00:51:22.83ID:bX6gAL+1メディアンフィルタって画像処理で使われてるフィルタが有りまして。
0501デフォルトの名無しさん
2014/06/19(木) 07:38:56.43ID:wVtUqKS0[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まで
よろしくお願いします。。。
0502デフォルトの名無しさん
2014/06/19(木) 08:41:47.19ID:TPlHeEcSあと「プログラミングを作る」などという変な言い回しは普通なの?
0503デフォルトの名無しさん
2014/06/19(木) 09:06:19.02ID:T3v2xG5Y0504デフォルトの名無しさん
2014/06/19(木) 13:36:52.62ID:u/NoNxMT0505デフォルトの名無しさん
2014/06/19(木) 13:55:54.90ID:T3v2xG5Y0506デフォルトの名無しさん
2014/06/19(木) 14:01:10.22ID:Di0jt70Xでもこれで、問題文を正確に写したのかという疑問が得られた
0507デフォルトの名無しさん
2014/06/19(木) 14:48:47.19ID:8jNSzAvzコピペですぐ動くように一文字も間違いなく正確に書いてください
おながいします
0508デフォルトの名無しさん
2014/06/19(木) 18:38:09.37ID:nGqFEu9y侮蔑の為に病名を使うのはアッチ系脳。
0509デフォルトの名無しさん
2014/06/19(木) 18:50:49.30ID:BRW9+QBS固有値固有ベクトルは永遠の課題だと思う‥
0510デフォルトの名無しさん
2014/06/19(木) 23:54:47.53ID:NPcUWdPP0511デフォルトの名無しさん
2014/06/20(金) 04:50:17.43ID:4RPq8AiU[1] 授業単元:画像処理
[2] 問題文:
http://codepad.org/NGyKGC2c
[3.1] OS:Windows7
[3.2] Visual Stdio 2010
[3.3] 言語:C++
[4] 期限: ([2014年6月17日00時00まで])
[5] その他の制限: bmpファイルを用いる予定です。
よろしくお願いします。
0512デフォルトの名無しさん
2014/06/20(金) 07:24:04.04ID:kSpxa/vA授業でアルゴリズムの説明あったんだろ?
それ書かないと分からんよ
0513デフォルトの名無しさん
2014/06/20(金) 07:30:43.80ID:4RPq8AiU原理は習ったのですがそれをプログラムで組めません・・・
0514デフォルトの名無しさん
2014/06/20(金) 07:34:04.18ID:4RPq8AiU配布された資料はこれなのですが
正直何を言っているのかわかりません。
http://www.dotup.org/uploda/www.dotup.org5137649.jpg
http://www.dotup.org/uploda/www.dotup.org5137650.jpg
0515デフォルトの名無しさん
2014/06/20(金) 07:46:47.48ID:xom+JU/q0516デフォルトの名無しさん
2014/06/20(金) 07:50:40.57ID:kSpxa/vA基本的には、前の課題と同様のプログラムでいいのでは?
各ドットに対し、for(i=-1; i<=1; i++) for(j=-1; j<=1; j++) の
二重ループでフィルタを適用すればいい
時間ないのでとりあえず。
0517デフォルトの名無しさん
2014/06/20(金) 08:07:00.48ID:eK7ekkfG0518デフォルトの名無しさん
2014/06/20(金) 08:20:21.70ID:4RPq8AiU頑張ってC言語覚えたいです。
>>516
前のプログラムを少しずつ改造すればいいのですか
0519デフォルトの名無しさん
2014/06/20(金) 08:33:29.16ID:xom+JU/qC言語の問題じゃねえ画像処理の基礎の問題
0520デフォルトの名無しさん
2014/06/20(金) 09:44:23.40ID:eK7ekkfG0521デフォルトの名無しさん
2014/06/20(金) 11:48:42.00ID:XgEVX42F[2] 問題文(含コード&リンク):
与えられた零以上の実数(a,b,c,d)と正の実数(e,f)に対して
つぎのロンバーグ表と積分値を求めるプログラムを作成せよ
(分割数:n=2^k≧16,推定回数:m≧3)
I=∫ 1/(a*x^3+b*x^2+c*x+d)dx (e≦x≦f)
ただし、キーボードから(a,b,c,d,e,f)を入力すれば
上記の定積分のロンバーグ表の値と積分値が画面表示
されるようなプログラムを作ること。
[3] 環境
[3.1] OS:win8
[4] 期限: 無期限
過去スレにも同じ問題が挙がっていたみたいですが、解答が消えていたのでどなたかお願いします。
0522デフォルトの名無しさん
2014/06/20(金) 16:48:42.20ID:KiSHxBDS推定回数ってのがよくわからん
nもkもmも問題文中に出てきてないから問題転記してない部分があるんじゃないか
ttp://codepad.org/nZeQHLoV
0523デフォルトの名無しさん
2014/06/21(土) 22:50:55.31ID:0zVEVEqa0524デフォルトの名無しさん
2014/06/22(日) 00:03:07.93ID:dnAV7ml7急にどうした?ダイジョブか?
0525デフォルトの名無しさん
2014/06/22(日) 01:11:44.02ID:QvJqsMa70526デフォルトの名無しさん
2014/06/22(日) 13:35:33.05ID:xdfzAQll[2] 問題文(含コード&リンク): テキストファイルの読みこみ、行頭文字が小文字の場合
http://pastebin.com/RKHNpMwy
大文字に置き換え、変換してファイル出力
[3] 環境: Xcode 5.1.1
[3.1] OS: OSX 10.9
[3.2] コンパイラ名とバージョン: gcc49
[3.3] 言語: C++
[4] 期限: 無期限
[5] その他の制限:
よろしくお願いします。
0527デフォルトの名無しさん
2014/06/22(日) 14:29:26.31ID:LcnID58r今読んだ文字が行末かどうかは判断のしかたわかる?
0528デフォルトの名無しさん
2014/06/22(日) 14:33:51.96ID:xdfzAQll改行文字である\nになったらとかそんな感じでしょうか
0529デフォルトの名無しさん
2014/06/22(日) 14:35:38.95ID:XJXpenaP0530デフォルトの名無しさん
2014/06/22(日) 15:18:59.75ID:R6m2qV6z0以下なら0
255以上なら255ってすればおk?
0531デフォルトの名無しさん
2014/06/22(日) 15:40:08.57ID:LcnID58rうん。その次の文字が行頭だ。
0532デフォルトの名無しさん
2014/06/22(日) 20:31:35.77ID:2aKTDaZk0533デフォルトの名無しさん
2014/06/22(日) 21:25:57.66ID:xdfzAQllwhile(文字全部読み取るまで) {
if(c==\n) {
行頭をなんかに格納
}
}
各行頭文字を変数として取得するのはこんなんでしょうか。
0534デフォルトの名無しさん
2014/06/22(日) 22:07:51.20ID:l/vaCLkNwhile(文字全部読み取るまで) {
if(c==\n) {
行頭をなんかに格納
この時点で行頭は読み込まれていない
}
}
0535デフォルトの名無しさん
2014/06/22(日) 22:16:55.65ID:xdfzAQllそれを大文字/小文字という処理というのは無理でしょうか
0536デフォルトの名無しさん
2014/06/22(日) 22:34:12.27ID:l/vaCLkN最大行数、最大文字数を指定するかしないかでまた変わってくる
0537デフォルトの名無しさん
2014/06/22(日) 22:53:05.24ID:LRekzGzB簡単に出来るよ。
ただ、この要件でキャッシュする必要ないから
無理ではないけど無意味。
元ソースを尊重しベッタベタに書くとこんな感じ
int flg=1;
while( (c = fgetc( fp )) != EOF ){
if(flg) {
if(c>='a' && c<='z') {
printf("%c", c+'A'-'a');
} else {
printf("%c", c);
}
flg = 0;
} else {
printf("%c", c);
if(c=='\n') {
flg=1;
}
}
}
toupperを使えばすっきりするしgets系なら概ね速くなる
sed 's/^\(.\)/\U\1/'
0538デフォルトの名無しさん
2014/06/22(日) 22:56:38.63ID:LRekzGzB可変でいいじゃん
> [行数][文字数]って事ならできるけど
文字数、つまり可変長となり得る文字数の対策が出来てるなら
最大行数、最大文字数なんてちょろいでしょ
0539デフォルトの名無しさん
2014/06/22(日) 23:05:51.49ID:XJXpenaP問題文には「一旦どっかに保管しろ」って条件はないようだけどね。
来た順に出して行って、変換の対象になる奴をいじれば良かんべえ。
http://ideone.com/KtDgz5
0540デフォルトの名無しさん
2014/06/22(日) 23:05:59.59ID:l/vaCLkN[0][0]としか無かったから想像で書いただけだよ
動的確保が出来るのなら可変でいいし、出来ないのなら最大を決めないといけない
出来るかどうか現時点でわからないからな
勝手に出来ると決め付けて可変で答えても出来なかったら無駄だしな
0541デフォルトの名無しさん
2014/06/23(月) 00:04:33.76ID:apnOLU2t細かいコメントありがとうございます。言葉としては
whileでEOFにならない間は
行頭に来たらc(行頭文字)が小文字か判断
大文字に変換、行末に来たら次の行の読み取りを開始
処理をし続けて、という解釈で大丈夫でしょうか。
それと最後にファイル出力なのですが
fp = fopen("output.txt", "w");
fprintf(fp,"%c" ,c);
printf("text export to output.txt\n");
printf("---\n");
fclose(fp);
printf("file close\n");
return 0;
と書くとoutput.txtの中身が[...]となってしまいます。この場合fprintfがおかしいのでしょうか
0542デフォルトの名無しさん
2014/06/23(月) 00:18:38.22ID:apnOLU2tislower(c)で一文字目を判定、toupper(c)が通ったら
すぐnewLineComes=false;で頭文字だけ処理を終わらせて
次のnewLineを読み取っているということで大丈夫でしょうか
// 先鋭化フィルタ
for(y=1;y<YSIZE-1;y++)
for(x=1;x<XSIZE-1;x++)
if(x<2 || x>253 || y<2 || y>253)
out_image[y][x]=in_image[y][x];
else{
wa = in_image[y][x] * 5;
wa-= in_image[y][x-1] + in_image[y][x+1] + in_image[y-1][x] + in_image[y+1][x];
out_image[y][x] = wa;
}
// ラプラシアンフィルタ
for(y=1;y<YSIZE-1;y++)
for(x=1;x<XSIZE-1;x++)
if(x<2 || x>253 || y<2 || y>253)
out_image[y][x]=in_image[y][x];
else{
wa = in_image[y][x-1] + in_image[y][x+1] + in_image[y-1][x] + in_image[y+1][x];
wa-= in_image[y][x] * 4;
out_image[y][x] = wa;
}
それは擬似コードか?
bmp を与えると動作するように記述してくれ
0545デフォルトの名無しさん
2014/06/23(月) 02:27:51.35ID:vG/6kdE8x>253とかXSIZE何処行ったみたいなツッコミならまだしも、
出題文読まずに他人の回答にケチつけてるのか君は…
0546デフォルトの名無しさん
2014/06/23(月) 03:05:00.43ID:0A44UZin>>511
>bmpファイルを用いる予定です。
0547デフォルトの名無しさん
2014/06/23(月) 03:42:09.94ID:vG/6kdE8URL
0548デフォルトの名無しさん
2014/06/23(月) 12:34:10.90ID:HIGf9m9iこれは初心者にありがちなバグだね。ベタすぎ
0549デフォルトの名無しさん
2014/06/23(月) 12:40:01.69ID:0A44UZin理解した、ごめんね
0550デフォルトの名無しさん
2014/06/23(月) 19:56:29.92ID:BmnMrvs4自分で作ってみたのですが
どうでしょう
for(y=0;y<YSIZE;y++){
for(x=0;x<XSIZE;x++){
if(x<1 || x>254 || y<1 || y>254){
out_image[y][x]=in_image[y][x];
}else{
a=in_image[y][x+1]+in_image[y][x-1]+in_image[y+1][x]+in_image[y-1][x]-4*in_image[y][x];/*ラプラシアンフィルタ計算式をaに格納*/
}
if(a<=0){
a=0;
}
else if(a>=256){
a=255;}
out_image[y][x]=a;/*aに格納した値をout_image[y][x]にもどす。*/
}
}
0551デフォルトの名無しさん
2014/06/23(月) 19:57:18.95ID:BmnMrvs4for(y=0;y<YSIZE;y++){
for(x=0;x<XSIZE;x++){
if(x<1 || x>254 || y<1 || y>254){
out_image[y][x]=in_image[y][x];
}else{
a=-in_image[y][x+1]-in_image[y][x-1]-in_image[y+1][x]-in_image[y-1][x]+5*in_image[y][x];/*ラプラシアンフィルタ計算式をaに格納*/
}
if(a<=0){
a=0;
}
else if(a>=256){
a=255;}
out_image[y][x]=a;/*aに格納した値をout_image[y][x]にもどす。*/
}
}
会心の出来だとは思うのですが
0552デフォルトの名無しさん
2014/06/23(月) 20:48:51.69ID:gCMZG5du0553デフォルトの名無しさん
2014/06/23(月) 21:14:19.55ID:BmnMrvs4今気がつきました!
思ったのですがout_imageに戻すときの処理ですが、0と256を忘れてませんか?
for(y=0;y<YSIZE;y++)
for(x=0;x<XSIZE;x++)
if(x<1 || x>254 || y<1 || y>254)
out_image[y][x]=in_image[y][x];
else{
a = in_image[y][x+1]+in_image[y][x-1]+in_image[y+1][x]+in_image[y-1][x];
a -= 4*in_image[y][x];
if(a < 0)
a = 0;
else if(a > 255)
a = 255;
out_image[y][x] = a;
}
0555デフォルトの名無しさん
2014/06/24(火) 00:30:29.52ID:gKXrKGrXコメントとは?
0557デフォルトの名無しさん
2014/06/24(火) 20:10:16.97ID:4MR8qoMd[1] 授業単元:工学情報実習II
[2] 問題文(含コード&リンク):http://i.imgur.com/2IHDmSs.jpgのコースをライントレースカーで最短で走るプログラムを考えなさい。
センサーは5センサーとしセンサー部分の反応プログラムはSwitch文で作成すること
[3] 環境
[3.1] OS: (Windows/Linux/等々)
[3.2] コンパイラ名とバージョン: (MPLAB ide 最新ver)
[3.3] 言語: (C++ ,PIC)
[4] 期限: ([2014年06月25日9:00まで] )
[5] その他の制限: (C++ <pic.h>で走行プログラムを書く)
最短で走る案とそれに伴うプログラムが思いつきません。
よろしくお願いします。
0558デフォルトの名無しさん
2014/06/24(火) 20:12:00.80ID:nNYqUb+/実物の基盤なしでどうやって開発する気だよ。
0559デフォルトの名無しさん
2014/06/24(火) 20:37:57.79ID:4MR8qoMd実機ってこと?
0560デフォルトの名無しさん
2014/06/24(火) 20:40:02.62ID:nNYqUb+/そう。
0561デフォルトの名無しさん
2014/06/24(火) 20:51:01.29ID:4MR8qoMd実機ならあるんだが、今手元にないんだ
0562デフォルトの名無しさん
2014/06/24(火) 20:52:42.96ID:nNYqUb+/いや、他人がその仕様わからないのにどうやって開発するんだ?
0563デフォルトの名無しさん
2014/06/24(火) 21:01:56.98ID:cZTSbkSS仕様書があるんでしょ
0564デフォルトの名無しさん
2014/06/24(火) 21:04:51.94ID:4MR8qoMd手作りだから仕様書なんてないんすよ
とりあえず実機外観のっけとくhttp://i.imgur.com/q0AdXdk.jpg
0565デフォルトの名無しさん
2014/06/24(火) 21:07:52.50ID:nNYqUb+/だいたい俺VCしか触ったことないもん。LOL。
0566デフォルトの名無しさん
2014/06/24(火) 21:08:19.47ID:81HQyHHGセンサーの位置とか取得できる情報の種類とか値の範囲とかは
0567デフォルトの名無しさん
2014/06/24(火) 21:10:06.55ID:81HQyHHG速度・旋回量みたいに制御できるようになってるのかモーターへの出力を直接制御するのかとか
その辺おそらくサンプルプログラムか何かあるんでしょ
0568デフォルトの名無しさん
2014/06/24(火) 21:11:31.19ID:cZTSbkSS各パーツごとの仕様書はあるでしょ?
市販のパーツを組み立てたのではなく
パーツレベルで手作りなの?
0569デフォルトの名無しさん
2014/06/24(火) 21:11:59.66ID:4MR8qoMdセンサーは前面配置だけど取得できる情報って何?
一つ言えるのはデジタル出力ってことぐらいしか手元の資料では分からんな。
0570デフォルトの名無しさん
2014/06/24(火) 21:16:45.51ID:MKS7z3Yf0571デフォルトの名無しさん
2014/06/24(火) 21:21:06.02ID:CuwkEz2Qそもそもどんだけ課題放置してたんだよ
0572デフォルトの名無しさん
2014/06/24(火) 21:24:20.85ID:4MR8qoMdデフォルトプログラム載っけといたよ
http://codepad.org/seEefNUd
0573デフォルトの名無しさん
2014/06/24(火) 21:26:05.50ID:4MR8qoMd>>571
んー。
他の奴で手が回らなかった
0574デフォルトの名無しさん
2014/06/24(火) 21:31:23.36ID:nNYqUb+/0575デフォルトの名無しさん
2014/06/24(火) 21:33:26.36ID:4MR8qoMdタートルグラフィック?
そんなの習ってないんだが
0576デフォルトの名無しさん
2014/06/24(火) 21:34:26.27ID:nNYqUb+/教養だと思ってくれ。
0577デフォルトの名無しさん
2014/06/24(火) 21:36:46.76ID:4MR8qoMdへーい
0578デフォルトの名無しさん
2014/06/24(火) 21:41:29.68ID:81HQyHHGふらふらするならPID制御でも入れる
ふらふらしないならもうそれが最速じゃね
0579デフォルトの名無しさん
2014/06/24(火) 21:44:30.33ID:4MR8qoMdセンサーの感度調整してスムーズに走る
でも、コースショートカットしてもいいから最短を考えろとのことでして
0580デフォルトの名無しさん
2014/06/24(火) 21:52:35.41ID:nNYqUb+/0581デフォルトの名無しさん
2014/06/24(火) 21:52:36.09ID:81HQyHHGデフォルトプログラムにしろショートカットOKにしろ最初から全部仕様や前提や条件を書かなきゃ誰も回答できない
ショートカットってどこまで許されてるの?
どこからスタートなの?赤ラインの上?手前?
何をもってゴールとなるの?赤ラインをタイヤが通過したら?
条件なく最速なんて言ったらライントレースなんてせずその場で小さく旋回してゴールしたら終わり
0582デフォルトの名無しさん
2014/06/24(火) 22:00:51.88ID:4MR8qoMdスタート地点から一旦離脱して元の位置に戻ってきた時点でゴールとする
スタート地点は自由
どこに置いても可
ショートカットは基本センサーが反応して最短距離を走行するのが理想だけどセンサー無視してもおk
仕様に至ってはなんて書けばいいか分からない。
0583デフォルトの名無しさん
2014/06/24(火) 22:01:17.33ID:PCFwbuYgこういうのはトライアンドエラーでなんとかするもの
実物ないと無理
0584デフォルトの名無しさん
2014/06/24(火) 22:07:01.59ID:81HQyHHG581で言ったとおりその場で小さく旋回して1周したら終わりでよくない?
ゴールで止まる必要もないのであれば↓でいいんじゃね
switch(sensors){
// センサ入力からラインの外れ具合により
// 曲がり具合と直進具合を判断する
default:
move_left(); // 左へ1ステップ
break;
}
0585デフォルトの名無しさん
2014/06/24(火) 22:07:37.01ID:4MR8qoMdトライアンドエラーの前にどこをショートカットできるかそれすら思い浮かばない
0586デフォルトの名無しさん
2014/06/24(火) 22:07:46.60ID:949Uh9AG>スタート地点から一旦離脱して元の位置に戻ってきた時点でゴールとする
すげー簡単じゃん
1cmバックして、1cm前進する
0587デフォルトの名無しさん
2014/06/24(火) 22:07:55.55ID:nNYqUb+/0588デフォルトの名無しさん
2014/06/24(火) 22:10:10.26ID:nNYqUb+/0589デフォルトの名無しさん
2014/06/24(火) 22:12:21.78ID:4MR8qoMd画像認識までできない。
というか、あんな小さいひょうたん型コースで画像認識させる意味なくね?
0590デフォルトの名無しさん
2014/06/24(火) 22:13:35.27ID:nNYqUb+/認識してるのは君自身だ。
0591デフォルトの名無しさん
2014/06/24(火) 22:16:11.56ID:81HQyHHG究極のショートカットだけど>>584や>>586じゃダメなの?
その辺の条件は指定されてなくて曖昧なの?
0592デフォルトの名無しさん
2014/06/24(火) 22:18:36.87ID:nNYqUb+/0593デフォルトの名無しさん
2014/06/24(火) 22:19:18.49ID:4MR8qoMd極論はそれでもいいかもしれないですが流石に...
何をもってゴールとするのかが担当から何も言われてないので曖昧です
0594デフォルトの名無しさん
2014/06/24(火) 22:29:31.10ID:nNYqUb+/0595デフォルトの名無しさん
2014/06/24(火) 22:30:15.69ID:81HQyHHGひょうたんのくびれ部分をスタート・ゴール地点として
スタート直後に90度旋回(ステッピングモータどれだけ回したら90度になるかは実測して試す)
ライン(ひょうたんのくびれの逆側)を検出するまで直進
検出したら180度旋回(旋回しすぎるとゴールしなくなるので170度くらいでもいいかも)
ラインを検出するまで直進
90度旋回しつつライントレースすればきれいにゴール
0596デフォルトの名無しさん
2014/06/24(火) 22:35:53.95ID:4MR8qoMdくびれからくびれまで往復すれば確かにゴールになるかと
言ってることは分かるけどプログラムが分からん
0597デフォルトの名無しさん
2014/06/24(火) 22:37:48.23ID:ymkxFoq5まあそのためには最低1周してからショートカットを計算することになるが。
0598デフォルトの名無しさん
2014/06/24(火) 22:52:57.04ID:cZTSbkSS0599デフォルトの名無しさん
2014/06/24(火) 22:54:23.03ID:PCFwbuYg0600デフォルトの名無しさん
2014/06/24(火) 22:55:00.27ID:4MR8qoMd手作りで仕様なんか分かるかよ
特に制御プログラ不得意なのに...
0601デフォルトの名無しさん
2014/06/24(火) 22:59:49.79ID:5U6yDrEOすでにライントレースするロジックになってる気がするが。
光センサは5つもあるの?
0602デフォルトの名無しさん
2014/06/24(火) 23:00:07.24ID:PCFwbuYg演習なら質問すりゃ良いだけだしそれ前提だろ
あと多分日本語が不自由なのは課題出題者じゃない
0603デフォルトの名無しさん
2014/06/24(火) 23:01:49.40ID:4MR8qoMd前は3センサーだったんだけどより検出率を高くしようとしたら5センサーになった
0604デフォルトの名無しさん
2014/06/24(火) 23:01:53.29ID:5U6yDrEOint_subってシンボル名をフレームワーク側で定期的に呼ぶのだろうか。
0605デフォルトの名無しさん
2014/06/24(火) 23:08:43.34ID:5U6yDrEO(1) (2) (3) (4) (5)という光センサの配置だとして、
(2)から(4)の距離が黒線の幅よりも大きいなら、(1)と(5)が役立つケースは少ない。
CPUパワーが低くかったり、急カーブがあった場合に、(2)と(3)がON、あるは(3)と(4)がONのケースを見逃す可能性を見越してるってこと?
正直モータの加減でその辺はどうにかなるんじゃないかなぁ。
そもそもライントレースプログラミングは光センサが1つでどうにかするものが多い。
0606デフォルトの名無しさん
2014/06/24(火) 23:11:37.24ID:4MR8qoMdプログラムの端から端まで理解してるわけじゃないんで、答えれんわ...
すまん
0607デフォルトの名無しさん
2014/06/24(火) 23:17:30.65ID:4MR8qoMd5センサーにしたのはどっかのセンサーが見逃してもサブつまり奥のセンサーが対応して曲がるように5センサーにしてるわけでして。
例
(1)(2)(3)(4)(5)のうち、(2)(3)が反応するはずが反応しなかった場合(1)で対処するみたいな
0608デフォルトの名無しさん
2014/06/24(火) 23:27:46.40ID:WxM8Xv0Vある本の問題で、この文を「y,Y,n,N」以外の場合にするにはどうしたらよいでしょうか?
「y」だけなら動くのですが、複数の条件が上手く扱えず常に真になっちゃって…
0609デフォルトの名無しさん
2014/06/24(火) 23:32:26.03ID:dXh+GD5rif((conf != 'y') && (conf != 'Y') && (conf != 'n') && (conf != 'N')) printf("y/n or Y/Nのいずれかを入力してください。\n");
0610デフォルトの名無しさん
2014/06/24(火) 23:35:41.84ID:5U6yDrEOショートカットをせずに、愚直にライントレースするなら、
(1) move_forwardとmove_right/leftの回数を調整する(move_forward多め)。
(2) ハード仕様上できるのかしらんが、wait_msの時間を短くする。
(3) ハーry)、モータの駆動量を4ステップより多いステップにする。
くらいしかないっぽい。
0611デフォルトの名無しさん
2014/06/24(火) 23:35:51.46ID:WxM8Xv0Vありがとうございます!
ずっと論理和に固執してました…
0612610
2014/06/24(火) 23:48:13.70ID:5U6yDrEO>>578が言うように、PID制御を実装して係数を調整するのがロジック改善として最適だね。
センサー5つだと実装例ないだろうけど。
0613デフォルトの名無しさん
2014/06/24(火) 23:54:16.83ID:4MR8qoMdそのPID制御を実装すると具体的にどうなるん?
調べて見たけど理解してるできん。
0614デフォルトの名無しさん
2014/06/25(水) 00:00:11.04ID:ISX3vtdjPID制御を入れると、カーブの入口付近はギザギザ走行になるが、そのうちカーブに沿ったモータ制御になっていく。
極端な話、円だとそのうちギザギザ走行じゃなくなる。
>>572のプログラムだとカーブでは常にギザギザ走行になる。
左右のモータの回転数を変えられることが必須。
0615デフォルトの名無しさん
2014/06/25(水) 00:06:34.53ID:Jzh1k5/vんー。
あまり入れる価値がなさそうな気がしてならないんだが
用は滑らかさを増すということかな...
0616デフォルトの名無しさん
2014/06/25(水) 00:23:18.50ID:ISX3vtdjライントレースのロジックとしては最強だよ。
カーブが多いと5割くらい時間が変わってくるんじゃないか。
ttps://www.youtube.com/watch?v=n5nk0yMJOT8
0617デフォルトの名無しさん
2014/06/25(水) 00:31:15.34ID:Jzh1k5/v0618デフォルトの名無しさん
2014/06/25(水) 00:32:22.68ID:Jzh1k5/v0619デフォルトの名無しさん
2014/06/25(水) 00:32:25.33ID:AAoe56mb0620デフォルトの名無しさん
2014/06/25(水) 00:41:03.68ID:ISX3vtdjただし、プログラムの改変、サンプリング回数の調整、係数の調整が工数として掛かる(係数調整だけでも結構だるい)。
ハード開発込みの講義だとしたら、コスト単価も意識できると将来役に立つかもな。
0621デフォルトの名無しさん
2014/06/25(水) 08:32:07.43ID:KznGqNfn0622デフォルトの名無しさん
2014/06/25(水) 08:36:14.29ID:KznGqNfn0623デフォルトの名無しさん
2014/06/25(水) 19:25:19.80ID:wig5YSH+[2] 問題文(含コード&リンク):
貪欲法を用いてグラフの全ての点を通る最短閉路長を求めるプログラムを作りなさい。
グラフの点の数、点間の距離は最初に入力させること。
貪欲法の手順は
�@全ての点間の距離を長さ順に並べる
�A空の閉路から始め、点間の距離を短い順に調べ、それが以下の条件を満たすなら閉路に加える
・点の次数が3を超えない
・全ての点を回らない様な閉路を作らない
よろしくお願いします。
[3] 環境
[3.1] OS: Linux
[3.2] gcc
[3.3] 言語: C
[4] 期限: 2014年6月28日17:00まで
[5] その他の制限:
0624デフォルトの名無しさん
2014/06/25(水) 21:13:42.85ID:DxJgguqg0625デフォルトの名無しさん
2014/06/25(水) 23:23:57.10ID:uuSVt8Cj他にもNearest neighbor法やNearest addition法でプログラムを組んでいる最中で、それらとの比較なので大丈夫です
0626デフォルトの名無しさん
2014/06/26(木) 00:02:26.05ID:ipx8s2Bdじゃあそいつらを改良すれば貪欲法にできるよね
0627デフォルトの名無しさん
2014/06/26(木) 19:48:45.06ID:hIqK/FJLそうなんですけどいまいちやり方が思いつかなくて
まず点間の距離を配列に格納して、それを長さが短い順に判定するのかなと思ったんですけど、例えば同じ長さがあった時どっちを選ばせるのかとか
そもそも配列の中身を長さ順に並べ替えるべきなのかとか
教えていただけませんか
0628デフォルトの名無しさん
2014/06/26(木) 20:49:52.95ID:Cm5OpuPA>>・点の次数が3を超えない
って次数3はありってことだよね?
それって閉路にならなくない?
なんか勘違いしてるかな
0629デフォルトの名無しさん
2014/06/26(木) 21:49:06.06ID:svCBA0Nlすいません、次数は3未満ですね
3は無しでした
0630デフォルトの名無しさん
2014/06/27(金) 01:17:38.49ID:mIIoYUoS意外と難しい。合ってるのか分からんけど
http://codepad.org/KxHiIC71
なお点の数は固定で、点間の距離は乱数で決めてる
題意を満たすには、構造体などをmallocで動的に確保すればいい
0631デフォルトの名無しさん
2014/06/28(土) 12:18:19.76ID:UdsgUvF6[1] 授業単元:画像処理
[2] 問題文:ソースコード
http://codepad.org/5RLy9iUt
[3.1] OS:Windows7
[3.2] Visual Stdio 2010
[3.3] 言語:C++
[4] 期限: ([2014年7月1日15時00まで])
[5] その他の制限:ヒストグラムを作りそれをExcelでグラフ化するのが目的です。
一応値は求められているとは思うのですが
それを出力できません。使用する画像はLAX.bmpやgirl.bmpといった有名どころの画像です
0632デフォルトの名無しさん
2014/06/28(土) 17:36:39.28ID:9IkoF3d8なるほど、構造体を使って配列に格納してクイックソートすれば良かったんですね
コメントも多くてすごくわかりやすいです
大変参考になりました
このコード見ながらですけどなんとか作れました
ありがとうございました
0633630
2014/06/29(日) 18:41:25.14ID:s1CDyW9Kあー・・。qsortの比較関数は、(たまたま結果は変わらないけど)、よくなかったね
構造体の比較してるんだからこうでないと。
int comp(struct line *a, struct line *b) {
if(a->dist == b->dist) return 0;
if(a->dist > b->dist) return 1;
return -1;
}
0634デフォルトの名無しさん
2014/06/29(日) 19:02:37.66ID:gs1K0vesreturn a->dist - b->dist;
でいいんじゃない?
0635デフォルトの名無しさん
2014/06/29(日) 19:22:15.85ID:s1CDyW9Kあー、確かにそれでいいですね。なるほど
0636デフォルトの名無しさん
2014/06/29(日) 19:34:18.71ID:gs1K0vesと思ったけど
オーバーフローするな
0637デフォルトの名無しさん
2014/06/29(日) 19:43:35.72ID:tPOi50qg[2] 問題文(含コード&リンク) : マップ上でのシンボルエンカウントシステムを作成
[3] 環境
[3.1] OS: windows
[3.2] コンパイラ名とバージョン: Visual Studio 2010
[3.3] 言語: C
[4] 期限: 2014/06/30 午前10:00
マップを書けてプレイヤーと敵と重なった時に「モンスターが現れた!」と表示されればOKです
期限が明日までなのは本当申し訳ございません、よろしくお願い致します
0638デフォルトの名無しさん
2014/06/29(日) 21:25:40.82ID:g7QOhf2Wローグみたいな文字だけのUIでよいの?それともGUIが必要?
0639デフォルトの名無しさん
2014/06/29(日) 21:31:25.94ID:tPOi50qgコンソールアプリケーション上で動作するだけでいいので文字だけでダイジョブです
0640デフォルトの名無しさん
2014/06/30(月) 08:04:40.79ID:43q2q8K9個人的に欲しいコードをここで他人に書かせようとしてるんだろ
誰がボランティアするかよばーか
0641デフォルトの名無しさん
2014/06/30(月) 09:58:57.89ID:AfjkCyjjガチで宿題だったんだけどもう期限きちゃったから消えます
0642デフォルトの名無しさん
2014/06/30(月) 15:05:01.48ID:OY6iMqoP[2] 問題文(含コード&リンク) : 16進数で入力されたふたつの整数の和と差を計算して、16進数と10進数で出力するプログラムを作成しなさい。
[3] 環境
[3.1] OS: windows8.1
[3.2] コンパイラ名とバージョン: Visual Studio 2013
[3.3] 言語: C++
[4] 期限: 2014/07/01 午前8:00まで
10進数同士の計算方法は分かりますが16進数同士での計算方法及び計算結果の16進数を10進数に変換するところが分かりません。
0643デフォルトの名無しさん
2014/06/30(月) 16:30:10.45ID:sPLHYeev0644デフォルトの名無しさん
2014/06/30(月) 18:35:57.15ID:OY6iMqoP%xっていうのが16進数?
あと、16進から10進に変換されてる部分教えてもらってもいいすか?
0645デフォルトの名無しさん
2014/06/30(月) 19:46:04.52ID:w9GeHa8v出来た。
http://codepad.org/Q9g1ayjs
ハラハラの大冒険なんだぜ
0646デフォルトの名無しさん
2014/06/30(月) 21:24:30.05ID:sPLHYeev16進から10進に変換なんてしてない、CPUは10進で計算しない(しいていうなら出力printfの%d)
16進入力(scanf %x)→CPUで計算(2進とかいわれる)→16進出力(printf %x)、10進出力(printf %d)
0647デフォルトの名無しさん
2014/06/30(月) 23:02:42.37ID:OoeeUvmnstrtolで調べたらいいんでね
0648デフォルトの名無しさん
2014/06/30(月) 23:34:43.68ID:OY6iMqoP>>647
ありがと。
頑張ってみるわw。
0649デフォルトの名無しさん
2014/07/01(火) 19:23:17.82ID:rsNQNidm画像でヒストグラムを初めから求めてはダメなのかい?
0650デフォルトの名無しさん
2014/07/01(火) 22:45:12.56ID:ZD0/KFYR[2] 問題文(含コード&リンク):
http://s2.etowns.slyip.net/~c_cpp_homework/cgi-bin/joyful/joyful.cgi
問題文が長いので上の掲示板に投稿します。
投稿者は650です
[3] 環境
[3.1] OS: Windows8
[3.2] コンパイラ名とバージョン: Visual Stdio 2010
[3.3] 言語: C
[4] 期限: 2014/07/03 13時まで
[5] その他の制限:
自分でも考えてみましたが、よくわかりません.
よろしくお願いします.
0651デフォルトの名無しさん
2014/07/02(水) 02:34:38.96ID:n8Tbw93lnameフィールドが1つだと、アルファベット順ソートが面倒。
nameフィールドを2つ(name1,name2 など)にしても良いのかな。
0652デフォルトの名無しさん
2014/07/02(水) 03:24:16.31ID:t1pcmsUt[2] 問題文(含コード&リンク) : 次のようなデータを扱う4個の変数を宣言して、キーボードから整数値を入力して、入力結果を出力するようなプログラムを作りなさい。
ただし、入力はそれぞれ、「身長=」などと表示した後に続けて入力させるものとする。また、出力もそれぞれ「身長=」などに続けて表示し、改行するものとする。
身長のデータ sintyou
各クラスの人数 ninzuu
各教科の平均点 heikin
都市の人口 zinkou
[3] 環境
[3.1] OS: windows8.1
[3.2] コンパイラ名とバージョン: Visual Studio 2013
[3.3] 言語: C++
[4] 期限: 2014/07/03 午前7:00
授業時間一杯考えたのですがさっぱり分かりません。
よろしくお願いします。
0653デフォルトの名無しさん
2014/07/02(水) 09:03:24.45ID:3cCDtBQQ構造体のメンバは変えないでほしいです
0654デフォルトの名無しさん
2014/07/02(水) 09:26:32.66ID:Zc6Wfmexまあそうだけど、2つの構造体の前後関係を名前で判定する関数を作っておけば、qsortに渡すだけだな。
qsort禁止なら自分でバブルソートなり組んで比較時にその関数呼ぶだけ。
0655デフォルトの名無しさん
2014/07/02(水) 09:29:18.01ID:Zc6Wfmexprintfとscanfの組を4回実行して
scanfを4回実行するだけ
0656デフォルトの名無しさん
2014/07/02(水) 16:43:09.23ID:yz5g0sWi#include<stdio.h>
int main(void){
int sintyou,ninzuu,heikin,zinkou;
printf("入力\n");
printf("身長=");
scanf("%d",&sintyou);
printf("人数=");
scanf("%d",&ninzuu);
printf("平均=");
scanf("%d",&heikin);
printf("人口=");
scanf("%d",&zinkou);
printf("\n結果\n");
printf("身長=%d\n",sintyou);
printf("人数=%d\n",ninzuu);
printf("平均=%d\n",heikin);
printf("人口=%d\n",zinkou);
return 0;
}
0657デフォルトの名無しさん
2014/07/02(水) 16:58:28.35ID:z63CcN3Zttp://ideone.com/lTbY3z
0658デフォルトの名無しさん
2014/07/02(水) 18:28:52.62ID:DNTNWI96ひどい変数名だ。出題者は中学生だな(名推理)
0659デフォルトの名無しさん
2014/07/03(木) 01:35:11.81ID:G4K8x6+jvoid sort(int h[],int i,int n,int *max,int *min){
int j,t;
for(i=0;i<n-1;i++){
for(j=i+1;j<n;j++){
if(h[i]<h[j]){
t=h[i];
h[i]=h[j];
h[j]=t;
}
}
}
*max=h[0];
*min=h[n-1];
}
main(){
int i,num=5,max_h,min_h;
int height[]={178,165,182,123,300};
sort(height,i,num,&max_h,&min_h);
printf("max=%d min=%d\n",max_h,min_h);
}
をcodepadでコンパイルしたら
max=300 min=123
Exited: ExitFailure 16と表示されました。
間違ってる部分が分からないので教えてください。
0660659
2014/07/03(木) 01:41:11.31ID:G4K8x6+jExited: ExitFailure 16と表示される原因を教えてください
0661デフォルトの名無しさん
2014/07/03(木) 01:49:59.32ID:fSGuHXOLprintfの戻り値がmainの戻り値に使われてるんだろ。激しく処理系依存。
0662デフォルトの名無しさん
2014/07/03(木) 01:59:07.90ID:SrSeBeNJありがとうございます
解決できました
0664デフォルトの名無しさん
2014/07/03(木) 04:51:56.11ID:mpJLProE0665デフォルトの名無しさん
2014/07/04(金) 13:10:24.68ID:MiP+bQJe足立区に住んでいるそうだ。
http://inumenken.blog.jp/archives/7002197.html
0666デフォルトの名無しさん
2014/07/04(金) 15:12:23.23ID:UPjF9R78普通の人なら童貞の書いた漫画なんか読みたく無いと思いますよ。
童貞の触った物には触れたく無いですよね。気持ち悪い。
,'. ヽヽ // ヽ
,' ヽ、 ,._='ヘ.! ',
. i 、 ヽ ヽ ''" !! ',
i ヽ `ヽ、 ` 、 ハ /´ i
i ヽ、 二ー 、ヽ |! i _,,,,,,,,_ ノ
. i.ヽ! ヽ ヽ、 ,. ,.-=、、ヽヽ. / !'""ー- ,'
i.!ヽ.ヽ、ヽ、 ヽ、ー-/ !::O:.i ヽ -=/-/ 'T:::エヽ ,'
! ヽヽ ヽ ヽ、. `` ' ー ' '"/ /' i 、 /',
. ! , 〉 、 ヽ ` 、 _ _ /_, ィ´ ! ` ー ´ !
i i ノ ヽ ヽ、 /´ i !
. ', ヽ !、 ヽ ヽ、 ' .,. 、 !、 /
ヽ ヽ.' ', ヽ、、 ヽ、 ,' ', ,イ
ヽ i ', ヽ` 、 ` 、 '-‐‐、 ,.-〈 / i
', ノ 、ヽ ヽ 、`ー 、`ヽ  ̄ ', ! i
".! ! ヽヽ ヽ` ー 、`__ ' " ` -‐ 、 / .! i かく言う私も童貞でね・・・
i .! ヽヽ、 `ヽ、 `` ー-`二ニ二>', !
! i ヽ、 ``ー- 、 _ _ ... ' /
! ヽ、 ヽ ,.  ̄ 、 /
0668桃白白 ◆9Jro6YFwm650
2014/07/07(月) 05:59:34.59ID:XhjfpKh1知ってるそれw 攻殻機動隊でしょ。
いい話だったよね。
0669デフォルトの名無しさん
2014/07/07(月) 06:36:25.92ID:96jMQzaX神山健二の予言的なコンセプトは3作とも秀逸、昨今の国際情勢はなんか神山予言があたりそうな雰囲気じゃん
あと音楽は菅野よう子じゃないとね、最近のやつはどっちもだめだね
0670デフォルトの名無しさん
2014/07/07(月) 10:22:29.72ID:7jUzeIOQこれの正しくない、理由ってなんですか?
0671デフォルトの名無しさん
2014/07/07(月) 10:30:09.35ID:quzxXJFx呼び出される毎に不定な初期値となってる
= 再代入したところで、保持はしない
0672デフォルトの名無しさん
2014/07/07(月) 21:23:07.57ID:JT9yWl9Z1,2,3・・・って表示したいんだろか?
正しくない理由は671さんの言う通りです
staticとすべき(?ところがstaticではない
スタック上に確保した変数(total)が不定
ただ、staticにして初期値を与えれば良い
ってもんでもないかも
それだとスレッドセーフではないし、あまり良い
コードだとは思えない
0673デフォルトの名無しさん
2014/07/08(火) 00:00:03.63ID:xtKDNVE80674デフォルトの名無しさん
2014/07/08(火) 20:00:17.56ID:hLIaJWwe余り大げさな質問ではないのでテンプレ使いません。
スケーリングを仕様してコントラストの改善するプログラムが課題で
作ったのですが
何処かまだ簡略化出来る所が有る気がしてそわそわしてます・・・
どうにかできないでしょうか
0675デフォルトの名無しさん
2014/07/08(火) 20:17:11.48ID:2XtqBTEeいままで違うと思ってたの!?
0676デフォルトの名無しさん
2014/07/08(火) 20:18:55.73ID:qu8l/hUZ>>468,511,631
0677デフォルトの名無しさん
2014/07/08(火) 20:57:35.27ID:hLIaJWwe過去の私とは違う!
課題は終わらせたんだ!
0678デフォルトの名無しさん
2014/07/08(火) 21:20:36.93ID:gmA7CUbf0679デフォルトの名無しさん
2014/07/08(火) 21:43:50.54ID:hLIaJWwe違う違う
0680デフォルトの名無しさん
2014/07/10(木) 01:30:37.84ID:7fc4wVJQtypedef struct{
char name[20];
int height;
int weight;
}student;
student swap(student sato,student tanaka, student max){
if(sato.height>tanaka.height)max=sato;
if(tanaka.height>sato.height)max=tanaka;
return max;
}
main(){
student sato={"Sato",178,64};
student tanaka={"Tanaka",165,69};
student max;
swap(sato,tanaka,max);
printf("%s: height=%d weight=%d\n",max.name,max.height,max.weight);
return 0;
}
戻り値を用いてheightの大きいほうのデータを出力したいのですが表示されません。
初心者以下の自分にはさっぱりなので間違っている部分を教えてください。
0681デフォルトの名無しさん
2014/07/10(木) 01:33:36.79ID:IRdIl+yS戻り値を使ってない点
0682デフォルトの名無しさん
2014/07/10(木) 01:40:59.22ID:7fc4wVJQありがとうございます
戻り値使ってなかったですね^^;
0683デフォルトの名無しさん
2014/07/10(木) 16:23:31.15ID:gPPo7GSh[2] 問題文(含コード&リンク):
�@・キーワードを入力するようにユーザーに促し、キーワードを入力させる(キーワードは「character string」)
・正しく入力されたときは「A」と画面に表示させる
・入力が正しくないときは「B」と画面に表示させる
�A�@を完成させたうえで、入力が正しくないときは、「登録に失敗しました。もう一度正しいキーワードを入力してください。」と表示させ
正しいキーワードが入力されるまで繰り返し入力を促すように拡張する(whileループもしくはdo whileループを使う)
[3] 環境 .
[3.1] Windows 8.1
[3.2] Visual studio 2013
[3.3] C++
[4] 期限:2014年7月16日20:00
講義の内容は文字列処理関数です。
授業中考えてもさっぱりわかりませんでした。
�@と�Aの2つです。よろしくお願いします
0684デフォルトの名無しさん
2014/07/11(金) 02:37:43.18ID:mTredRn+http://codepad.org/jkWNMwGI
0685デフォルトの名無しさん
2014/07/11(金) 09:25:20.02ID:RkLUNntMBと表示してないので不合格
0686デフォルトの名無しさん
2014/07/11(金) 14:00:20.47ID:umYaOgi4使ってるコードをまだ習ってません…
char、print、if、elseなどを使ってやると思うんですが…
0687デフォルトの名無しさん
2014/07/11(金) 14:30:51.48ID:Rhi8lu020688デフォルトの名無しさん
2014/07/11(金) 14:31:13.09ID:B2z/pv99C++ じゃなくて C言語なんだよね?
0689デフォルトの名無しさん
2014/07/11(金) 15:27:25.38ID:NpwKC5U+こうかな。
// �@ http://ideone.com/zJtRAh
// �A http://ideone.com/zdqilV
0690デフォルトの名無しさん
2014/07/11(金) 16:09:16.43ID:qaVTv6bdって決めうちすると、ちょーめんどくさいな
0691デフォルトの名無しさん
2014/07/11(金) 16:47:51.18ID:9lEqN05Lしかしなんで宿題出す奴ってscanf教えたがるの?
0692デフォルトの名無しさん
2014/07/11(金) 17:26:09.45ID:Rhi8lu02scanf使ってできたよー
0693デフォルトの名無しさん
2014/07/11(金) 17:34:37.82ID:Txz9qfxA0694デフォルトの名無しさん
2014/07/11(金) 23:35:05.40ID:Rhi8lu02なんでそれだけ正解だって言い直すのか
>>692も合ってるじゃないか!
0695デフォルトの名無しさん
2014/07/11(金) 23:41:54.76ID:HlACSYaKscanf教えたがることよりも、scanf教える癖にscanfの戻り値の使い方を適当に流す事のほうが気になる。
0696デフォルトの名無しさん
2014/07/12(土) 01:04:53.38ID:/U4E4eER0697デフォルトの名無しさん
2014/07/12(土) 16:07:54.87ID:lIxtjWqv[2] 問題文
�@以下のプログラムを作成しなさい.
文字列を入力して、
その文字列が数字であるかどうか調べる
(符号も対応すること)
(数字は、intの範囲内で)
(0023は、数字として扱う)
実行例)
1234 入力
number 出力
1234abncdef 入力
string 出力
ab^d34x 入力
string 出力
-92837 入力
number 出力
+37 入力
number 出力
[3] 環境 .
[3.1] Windows 8.1
[3.2] Visual studio 2013
[3.3] C
[4] 期限:2014年7月14日0:00
丸投げですがよろしくおねがいします。
0698デフォルトの名無しさん
2014/07/12(土) 16:08:58.76ID:lIxtjWqv[2] 問題文
�A以下のプログラムを作成しなさい.
5件の数字を入力し、上位3位までの
数字を順に表示する
(数字の大きい順)
実行例)
22 入力1
30 入力2
10 入力3
40 入力4
2 入力5
40 30 22 出力
123 入力1
25 入力2
294 入力3
-100 入力4
80 入力5
294 123 80 出力
-20 入力1
-25 入力2
-394 入力3
-50 入力4
-80 入力5
-20 -25 -50 出力
[3] 環境 .
[3.1] Windows 8.1
[3.2] Visual studio 2013
[3.3] C
[4] 期限:2014年7月14日0:00
0699デフォルトの名無しさん
2014/07/12(土) 17:30:17.32ID:/m0mM/Doflex使わないと頭が悪いコードになるね。
http://ideone.com/5C5Yf8
0700デフォルトの名無しさん
2014/07/12(土) 17:31:21.46ID:veA4ls8Kttp://ideone.com/X81qVA
0701デフォルトの名無しさん
2014/07/12(土) 17:35:18.53ID:/m0mM/Do0702デフォルトの名無しさん
2014/07/12(土) 17:40:23.01ID:unKWHDeN>>698 http://ideone.com/tcJ983
0703デフォルトの名無しさん
2014/07/12(土) 17:48:36.18ID:unKWHDeNfgetsだからと言って最後に改行がある前提にはしないほうがよいよ
>>700
「00」がstringになるね
(0023は、数字として扱う)と言ってるから数字にしたほうがよさげではないか
実行例にないから何とも言えないけど
0704デフォルトの名無しさん
2014/07/12(土) 17:56:37.69ID:/m0mM/Dointの範囲でって記述があるからatoiとscanf系が出題者の意図なんだろうね。
0705デフォルトの名無しさん
2014/07/12(土) 17:59:49.80ID:veA4ls8K>>697
手抜き。
< strcat(buf, "0");
---
> strcat(buf, "1");
0706デフォルトの名無しさん
2014/07/12(土) 18:05:15.27ID:unKWHDeN0707デフォルトの名無しさん
2014/07/13(日) 18:16:45.76ID:IpWwiGPd[2] 問題文
3 と 5 または両方を調べるプログラムを作る。
�@数を1からカウントしていく
�Aカウントする上限を尋ねる
�B3の倍数の時、「アホになる」と表示
�C5の倍数の時、「バカになる」と表示
�D3と5の倍数の時、「ボケカス」と表示
[3] 環境 .
[3.1] Windows 8.1
[3.2] Visual studio 2008
[3.3] C
0708デフォルトの名無しさん
2014/07/13(日) 18:32:52.52ID:/A7mwUNZネタお断り
0709デフォルトの名無しさん
2014/07/13(日) 20:14:19.30ID:881ltTtV0710デフォルトの名無しさん
2014/07/13(日) 20:21:27.56ID:7mpUtnIeおまえのアタマのなかでやってろ
持ちこんでくるなボケカス
0711デフォルトの名無しさん
2014/07/13(日) 20:44:04.27ID:5l7F/jSZ0712デフォルトの名無しさん
2014/07/13(日) 21:18:53.94ID:/A7mwUNZそれでググれば山ほど解答例が出てくるから好きなのコピペして出しとけ
ここで回答してもらってもコピペするだけだろ
0713デフォルトの名無しさん
2014/07/13(日) 23:48:47.36ID:6cgxdczx0714デフォルトの名無しさん
2014/07/14(月) 06:39:28.09ID:7GRxvXCW0715デフォルトの名無しさん
2014/07/17(木) 19:27:11.74ID:GZBYDlnm[2] 問題文:英語、理科の点数を整数として入力し、高い方の点数を表示しなさい。
(同じ点数の時はどちらの点数が表示されてもよい。)
[3] 環境
OS: Windows7
言語: C
[4] 期限:急ですが明日中までにお願いします
何卒ご教示お願いします。
0716デフォルトの名無しさん
2014/07/17(木) 19:31:56.41ID:GZBYDlnm[2] 問題文:整数を1つ入力し、その数の倍数を1倍から5倍まで表示させなさい。
(例:入力を2とすると「2 4 6 8 10」と表示)
[3] 環境
OS: Windows7
言語: C
[4] 期限:明日中までにお願いします
0717デフォルトの名無しさん
2014/07/17(木) 20:40:18.50ID:+37EBU2hその課題出されるまでに教わったサンプル全部見せてみろ
0718デフォルトの名無しさん
2014/07/17(木) 20:43:19.91ID:70T+J4W5main()
{
char buf[100];
int eigo,rika;
printf("英語の点数 :");
fgets(buf,100,stdin);
sscanf(buf,"%d",&eigo);
printf("理科の点数 :");
fgets(buf,100,stdin);
sscanf(buf,"%d",&rika);
if( eigo > rika )
printf("\n英語の点数は %d です。\n",eigo);
else
printf("\n理科の点数は %d です。\n",rika);
}
0719デフォルトの名無しさん
2014/07/17(木) 20:46:52.46ID:70T+J4W5main()
{
char buf[100];
int eigo;
printf("整数を入力 :");
fgets(buf,100,stdin);
sscanf(buf,"%d",&eigo);
printf("\n%d %d %d %d %d\n",eigo,eigo*2,eigo*3,eigo*4,eigo*5);
}
0720デフォルトの名無しさん
2014/07/17(木) 20:53:15.60ID:Kqtj7lnastdinはわかるんですが・・・
0721デフォルトの名無しさん
2014/07/17(木) 20:55:58.08ID:GZBYDlnm>>719
さっそくのご回答ありがとうございます。
fgets関数などの関数を使わずに出来る方法はないのでしょうか
0722デフォルトの名無しさん
2014/07/17(木) 21:00:06.01ID:oG7QfsM9stdinの使い方にfgetsは含まれる
>>720-721
fgets以外にも使えない関数があるあろうから使える関数を提示したほうが
0723デフォルトの名無しさん
2014/07/17(木) 21:31:08.18ID:+37EBU2hだから何を習ったかの確認が先なんだよ
0724デフォルトの名無しさん
2014/07/17(木) 21:37:02.55ID:wKNmXy3y整数として入力って前提が破綻してる
0725デフォルトの名無しさん
2014/07/17(木) 23:23:02.79ID:GZBYDlnm0726デフォルトの名無しさん
2014/07/17(木) 23:24:04.83ID:GZBYDlnm[2] 問題文:10個の整数を入力し配列に保存した後、入力された数字の中に
5の倍数が含まれているかを調べ、含まれていた時には「5の倍数が含まれています」
含まれていない時に「5の倍数が含まれていません」と表示するプログラムを作りなさい。
よろしくお願いいたします。
0727デフォルトの名無しさん
2014/07/18(金) 07:35:39.20ID:RMNUzhlRarray[i] % 5 == 0で5の倍数
後は自分でやれば
0728デフォルトの名無しさん
2014/07/18(金) 09:10:27.24ID:+Avqvx3X#include <stdio.h>
main()
{
int i;
double c[10];
for (i = 0; i < 10; i++)
{
printf("整数を10個入力してください.(%d つ目) : ", i+1);
scanf("%lf", &c[i]);
}
if(c[i] % 5 == 0){
printf("5の倍数が含まれています\n");
}
else{
printf("5の倍数が含まれていません\n");
}
return 0;
}
0729デフォルトの名無しさん
2014/07/18(金) 09:38:07.05ID:zESUzG0I結果表示がおかしい
0730デフォルトの名無しさん
2014/07/18(金) 17:00:13.36ID:Q3IJCaloelse 消してprintf("ません"); をメイン内直書きでいい
と思ったらこの書き方だと入力途中に終わるな
forもう一個分けておk
0731デフォルトの名無しさん
2014/07/18(金) 17:22:49.34ID:Q3IJCaloif に for かかってないじゃん
以下に出来る限り再利用したコード
自分で見ても少し気持ち悪いが・・・
あとちゃんとコード見て理解してから出せよ(重要)
//////////////////////////
#include <stdio.h>
int main() {
long long c[10];
for (int i = 0; i < 10; i++) {
printf("整数を10個入力してください.(%d つ目) : ", i+1);
scanf("%li", &c[i]);
}
for (int i = 0; i < 10; ++i) {
if (c[i] % 5 == 0) {
printf("5の倍数が含まれています\n");
return 0;
}
}
printf("5の倍数が含まれていません\n");
return 0;
}
0732デフォルトの名無しさん
2014/07/18(金) 17:34:15.51ID:p8SV1SW4longlongならLもしくはllにしなきゃ
てかなぜわざわざlonglongに変えてバグ入れてんだよ
0733デフォルトの名無しさん
2014/07/18(金) 17:43:54.64ID:Q3IJCalo0734デフォルトの名無しさん
2014/07/18(金) 19:46:29.14ID:RMNUzhlRまぁ予防線の5行目なんだろうが
0735デフォルトの名無しさん
2014/07/18(金) 20:12:29.63ID:DvrVIJUi#include <stdio.h>
#define N 10
#define N2 5
int main()
{
int a[N], i;
for (i = 0; i < N; ++i)
printf("input(%d)=", i),scanf("%d", a + i);
for (i = 0; i < N && a[i] % N2; ++i);
printf("%dの倍数が含まれていま", N2);
printf((i != N) ? "す¥n" : "せん¥n");
return 0;
}
0736デフォルトの名無しさん
2014/07/19(土) 13:18:19.94ID:YxMGBI1k[2] 問題文
以下のプログラムを作成しなさい.
文字列を5つ入力し、その中の
一番小さい文字列を表示
(英数字のみ)
(文字列は、50文字以内)
(英字の大文字と小文字は、
特に考慮しないで、そのまま比較
して良いこととする)
実行例)
abc 入力1
aaaa 入力2
wsdd 入力3
gfd 入力4
xxxd 入力5
aaaa 出力
19dfc 入力1
xuw29 入力2
12k2 入力3
mnnn 入力4
bccd1 入力5
12k2 出力
[3] 環境 .
[3.1] Windows 8.1
[3.2] Visual studio 2013
[3.3] C
[4] 期限:2014年7月21日0:00
前回丸投げした者です。非常に助かりました。解答例を教えてくれた人ありがとうございます。
今回も何問か出題されたのでおねがいします。
0737デフォルトの名無しさん
2014/07/19(土) 13:20:32.71ID:YxMGBI1k[2] 問題文
以下のプログラムを作成しなさい.
ソートされた2つの数字列を入力
*0より大きい整数
*1行に5つの数字(固定)
それらを合わせて、ソートし、
大きい数から3つを表示すること
実行例)
11 21 23 33 35 入力1
24 25 27 32 85 入力2
85 35 33 出力
5 14 33 302 990 入力1
25 31 200 210 500 入力2
990 500 302 出力
21 43 99 100 902 入力1
10 20 30 275 320 入力2
902 320 275 出力
[3] 環境 .
[3.1] Windows 8.1
[3.2] Visual studio 2013
[3.3] C
[4] 期限:2014年7月21日0:00
0738デフォルトの名無しさん
2014/07/19(土) 13:21:48.03ID:YxMGBI1k[2] 問題文
以下のプログラムを作成しなさい.
時間の足し算、引き算の文字列が入力されるので、
その計算結果を表示すること
足し算の場合
HH:MM:SS+HH:MM:SS
引き算の場合
HH:MM:SS-HH:MM:SS
HH:時/MM:分/SS:秒
(各桁は、必ず2桁で、足らない場合は
0で埋める)
(計算結果は、マイナス値を考慮
しなくて良い)
(HH:時は、計算結果でも、99を
超えないと考えて良い)
10:23:30+00:00:53 入力
10:24:23 結果
10:23:30-01:10:40 入力
09:12:50 結果
00:13:20-00:09:55 入力
00:03:25 結果
[3] 環境 .
[3.1] Windows 8.1
[3.2] Visual studio 2013
[3.3] C
[4] 期限:2014年7月21日0:00
0739デフォルトの名無しさん
2014/07/19(土) 13:22:31.73ID:YxMGBI1k[2] 問題文
以下のプログラムを作成しなさい.
1個から10個までの数字列を入力
次に検索する数字を入力
見つかった位置を表示(0始まり)
見つからない場合は、−1を表示
数字は、int型
実行例)
11 22 21 33 15 23 38 入力1
33 入力2
3 出力
5 302 14 33 12 3 入力1
2 入力2
-1 出力
100 入力1
100 入力2
0 出力
[3] 環境 .
[3.1] Windows 8.1
[3.2] Visual studio 2013
[3.3] C
[4] 期限:2014年7月21日0:00
0740デフォルトの名無しさん
2014/07/19(土) 13:23:39.79ID:YxMGBI1k[2] 問題文、ブラックジャックの判定処理を行う
1人目の数字列を入力(1個〜10個まで)
2人目の数字列を入力(1個〜10個まで)
数字は、1から13。
合計が21を超えたら点数は、0点。
1は、1点または、11点として使える。
11以上は10点として数える。
それ以外は、数字がそのまま点数。
勝った方を番号で表示(1 or 2)
引き分けは、2の勝ちとする
実行例)
1 5 8 入力1(14)
5 7 4 入力2(16)
2 出力
13 1 入力1(21)
12 10 入力2(20)
1 出力
13 8 入力1(18)
1 9 入力2(20)
2 出力
1 1 8 入力1(20)
3 4 7 入力2(14)
1 出力
10 8 7 入力1(25)
3 5 8 入力2(16)
2 出力
[3] 環境 .
[3.1] Windows 8.1
[3.2] Visual studio 2013
[3.3] C
[4] 期限:2014年7月21日0:00
0741デフォルトの名無しさん
2014/07/19(土) 14:52:40.95ID:YxMGBI1k[2] 問題文
以下のプログラムを作成すること
英文の回文判定
回文とは、どちらから読んでも
同じ並びになる文章。
1つの英文字列(100文字以内)が入力されるので、
回文であれば、GOODと表示
回文でなければ、NGと表示
*大文字小文字を区別しない
*「?!,. 」を無視する
実行例)
apple 入力
NG 出力
Borrow or rob? 入力
GOOD 出力
Kodak ad? OK! 入力
GOOD 出力
What time is it? 入力
NG 出力
Was it a bar or a bat I saw? 入力
GOOD 出力
[3] 環境 .
[3.1] Windows 8.1
[3.2] Visual studio 2013
[3.3] C
[4] 期限:2014年7月21日0:00
0742デフォルトの名無しさん
2014/07/19(土) 14:53:38.13ID:YxMGBI1kスタートからゴールへ到達可能の場合は
OKを表示、不可能な場合は、NGを表示
1行目の入力:幅と高さの数値
最小は、2x2
最大は、10x10
範囲外は、NGを表示
2行目以降 :迷路データ
*:壁(通行不可)
スペース:道(通行可)
Sスタート位置
Gゴール位置
実行例)
10 8 入力:幅と高さの数値
********** 入力:迷路データ
*S * *
*** ******
* * *
* *** *
* *
* ** G*
**********
OK 出力
10 5 入力:幅と高さの数値
********** 入力:迷路データ
*S *
**********
* G *
**********
NG 出力
[4] 期限:2014年7月21日0:00
0743デフォルトの名無しさん
2014/07/19(土) 15:42:00.02ID:JOHBlJNThttp://ideone.com/OC6c2c
0744デフォルトの名無しさん
2014/07/19(土) 16:10:30.26ID:YxMGBI1kありがとうございます。
実行は1回だけでいいのですが、どこを直せば1回のみの実行になりますか?
0745デフォルトの名無しさん
2014/07/19(土) 16:43:58.85ID:evtkaklt[2] 問題文
�@変数名 kokugo,shakai,rika を整数型で宣言する。(国語、社会、理科)
変数名 goukei,heikinを整数型で宣言する。(合計、平均)
�A「国語の点数=」のように表示し、キーボードよりそれぞれの科目の点数を入力する。
�B3科目の合計を求める。
�Cenumを使うこと
[3] 環境 .
[3.1] Windows 8.1
[3.2] Visual studio 2008
[3.3] C
0746デフォルトの名無しさん
2014/07/19(土) 17:11:01.34ID:JOHBlJNThttp://ideone.com/Do0VgP
0747デフォルトの名無しさん
2014/07/19(土) 17:32:40.69ID:JOHBlJNThttp://ideone.com/Yv9zzn
0748デフォルトの名無しさん
2014/07/19(土) 22:42:29.15ID:UduJbIYF>>737 http://ideone.com/p0qzUI
>>738 http://ideone.com/IMWYc4
>>739 http://ideone.com/nbsKGQ
>>740 http://ideone.com/hIGLVL
繰り返して入力待ちになるので、終了はCtrl+dやCtrl+cで
0749デフォルトの名無しさん
2014/07/20(日) 00:19:49.75ID:1LacJUJjhttp://ideone.com/0Azfgu
0750デフォルトの名無しさん
2014/07/20(日) 00:45:50.39ID:1LacJUJjちょっと簡略化。
http://ideone.com/vqj7sg
0751デフォルトの名無しさん
2014/07/20(日) 00:56:47.60ID:NeEFmqc9繰り返し入力はせずに実行は1回だけにする場合ってどこを書き換えたらいいんですか?
自分の知識じゃ!=EOFを消せばいいと思ってたのですが、それが見当たらないです。
>>740と>>741の問題でいただいた回答で繰り返し処理を消したいです。
0752デフォルトの名無しさん
2014/07/20(日) 00:58:06.88ID:NeEFmqc9皆さんありがとうございます。
0753デフォルトの名無しさん
2014/07/20(日) 01:01:57.36ID:NeEFmqc90754デフォルトの名無しさん
2014/07/20(日) 15:59:10.43ID:dm5MQitE[2] 問題文
点数が999になる迄、点数を入力し、合計、平均、最高点数、最低点数を表示する。
[3] 環境 .
[3.1] Windows 8.1
[3.2] Visual studio 2008
[3.3] C
0755デフォルトの名無しさん
2014/07/20(日) 19:36:07.07ID:GLyw7TqThttp://ideone.com/LA1flU
0756デフォルトの名無しさん
2014/07/20(日) 20:57:34.13ID:1Nspqi4Bありがとうございます
0757デフォルトの名無しさん
2014/07/20(日) 21:58:42.18ID:ipHozrgg[2] 問題文
担当者名が"end"になるまで、担当者名と売上を入力する。
売上合計、平均、最も売上が多い担当者名とその売上、
最も売上が低い担当者名とその売上を表示する。
[3] 環境 .
[3.1] Windows 8.1
[3.2] Visual studio 2013
[3.3] C
0758デフォルトの名無しさん
2014/07/20(日) 23:38:36.90ID:cZMWJOUo0759デフォルトの名無しさん
2014/07/20(日) 23:39:55.55ID:GLyw7TqThttp://ideone.com/ZmvYjI
0760デフォルトの名無しさん
2014/07/20(日) 23:48:17.16ID:KA/DmBuJそれで誤動作する処理がいくつかあったな。
0761デフォルトの名無しさん
2014/07/20(日) 23:51:00.94ID:zVE4QkZ9exitで誤動作するのもどうかと思うけど、アカウントをdeguchiとかにしなかったんかい
0762デフォルトの名無しさん
2014/07/21(月) 00:30:37.45ID:qJ38LHhunslookup で
exit
ってやると終了してしまうw
0763デフォルトの名無しさん
2014/07/21(月) 00:39:53.32ID:W3c/qJsI0764デフォルトの名無しさん
2014/07/21(月) 07:13:32.85ID:n7o+wpYJありがとうございました
0765デフォルトの名無しさん
2014/07/21(月) 09:56:42.62ID:01/h6WGS[2] 問題文:n人分の試験の得点の和と平均を求めるプログラムを作成せよ。
始めに処理するデータの人数nを読み込み、次にn人分の得点を読み込む。
そして、和と平均を求め出力する。
次に、s(90以上)、a(80〜89)、b(70〜79)、c(60〜69)、f(それ以外)
の人数を求めるプログラムを、if else文を使い作成せよ。
ここからが本題なのですが
上記問題のs、a、b、c、fの人数を
関数を使用して*で表すヒストグラムにせよ。
[3] 環境
[3.1] OS: Windows7
[3.3] 言語: C
[4] 期限: 2014年7月17日11:30
[5] その他の制限: 特に無し
よろしくお願いします。
0766デフォルトの名無しさん
2014/07/21(月) 11:02:37.08ID:C8nVEdjt12:00まで延長します。
0767デフォルトの名無しさん
2014/07/21(月) 11:38:49.42ID:ast8VTmN#include <stdio.h>
#define N 128
#define S 5
void p(int *h, int *u, int *l, int n) {
int i, j;
for (i = 0; i < n; i++) {
printf("%3d - %3d| ", l[i], u[i] - 1);
for (j = 0; j < h[i]; j++) printf("*");
printf("\n");
}
}
int main() {
int i, j, n, a[N], h[S] = {0}, s = 0;
int u[S] = { 101, 90, 80, 70, 60 }, l[S] = { 90, 80, 70, 60, 0 };
if (scanf("%d", &n) != 1)
return fprintf(stderr, "invalid input\n"), 1;
if (n >= N || n <= 0)
return fprintf(stderr, "n must be lesser than %d\n", N), 1;
for (i = 0; i < n; i++) {
if (scanf("%d", &a[i]) != 1)
return fprintf(stderr, "invalid input (i = %d)\n", i), 1;
s += a[i];
for (j = 0; j < S; j++) if (a[i] >= l[j] && a[i] < u[j]) break;
if (j == S) return fprintf(stderr, "invalid input (i = %d)\n", i), 1;
h[j]++;
}
printf("sum = %d, ave = %g\n", s, (double) s / n);
p(h, u, l, S);
return 0;
}
0768デフォルトの名無しさん
2014/07/21(月) 14:00:27.19ID:uT1EgMxJありがとうございます。助かりました。
0769デフォルトの名無しさん
2014/07/22(火) 09:25:52.33ID:qPId/3Vu[2] 問題文
6人の学生の点数を読み込み、最高点を表示するプログラムを作成せよ
[3] 環境
[3.1] OS: Windows8
[3.3] 言語: C
よろしくお願いします。
0770デフォルトの名無しさん
2014/07/22(火) 10:59:27.31ID:zl2bJoub[2]問題文
キーボードから整数 0 か 1 、及び任意の長さの文字列を読み込み、それをもとに回文(palindrome)を作って表示するプログラムを作れ。
たとえば、
「0 AB」と入力したら、「ABBA」と表示する。(偶数文字列となる)
「1 mad」と入力したら、「madam」と表示する。(奇数文字列となる)
[3] 環境
[3.1] OS: Windows
[3.2] コンパイラ名とバージョン: 覚えてません
[3.3] 言語: C++
[4] 期限: 7/29
よろしくお願いします
0771デフォルトの名無しさん
2014/07/22(火) 11:27:13.57ID:3nvfBhCd[2] 問題文
10人の学生の点数を読み込み、配布を図のように表示するプログラムを作成せよ
100: *
90 - 99: **
80 - 89: ***
(中略)
0 - 9: *
点数は100点満点とし、人数分だけ * を出力すること
[3.1] OS: Windows8
[3.3] 言語: C
よろしくお願いします。
0772デフォルトの名無しさん
2014/07/22(火) 12:00:39.52ID:XmTqIxPz死ね
0773デフォルトの名無しさん
2014/07/22(火) 12:00:47.16ID:wB6E2V1Bhttp://ideone.com/pPCJty
0774デフォルトの名無しさん
2014/07/22(火) 12:18:54.24ID:5Z4WYQgChttp://ideone.com/ZOaa3I
0775デフォルトの名無しさん
2014/07/22(火) 12:30:03.54ID:5Z4WYQgChttp://ideone.com/5jheni
0776デフォルトの名無しさん
2014/07/23(水) 11:49:01.49ID:CcfFZsxV[2] 問題文
構造体を使って、下記のようになるようプログラムしてください
本のタイトルは、自由につけていいです。貸出OK、貸出中、返却日も自由です
図書名、返却予定年月日を入力しなさい。(終了条件:Ctrl+Z)
C言語読本 2000 8 22
貸し出しOKです。
図書名、返却予定年月日を入力しなさい。(終了条件:Ctrl+Z)
風とともに去りぬ 2000 7 26
貸し出し中です。
[3.1] OS: Windows8
[3.3] 言語: C
よろしくお願いします。
0777デフォルトの名無しさん
2014/07/23(水) 12:08:25.42ID:PLNCXQ+I貸し出し中です。
0778デフォルトの名無しさん
2014/07/23(水) 18:59:55.60ID:Dp+cPJIj1 abcb はaを末尾に加えるとabcbaと回文の奇数文字列となるけれど、こういうのもOKかな。
0779デフォルトの名無しさん
2014/07/23(水) 21:16:17.43ID:fnU24YQn図書の登録・削除は不要?
図書名の部分一致は不要?
貸出処理は不要?
0780デフォルトの名無しさん
2014/07/24(木) 11:06:52.35ID:XgRT2wBp[2] 問題文
目標貯金額と月々の貯金額を入力する。何年何ヶ月で達成するかを表示する。
目標金額が合計金額より多くなるまで次の処理を繰り返す。
月々の貯金額を合計に加える。
.期間に1を加える。
[3.1] OS: Windows8
[3.3] 言語: C
よろしくお願いします。
0781デフォルトの名無しさん
2014/07/24(木) 11:12:21.00ID:SzCSi9rr0782デフォルトの名無しさん
2014/07/24(木) 11:37:28.22ID:Koqju6d+3年生になるまで習わないから
0783デフォルトの名無しさん
2014/07/24(木) 12:02:16.05ID:nK+P1D6K0784デフォルトの名無しさん
2014/07/24(木) 12:22:23.39ID:dgV+vw+i0785デフォルトの名無しさん
2014/07/24(木) 19:30:02.98ID:KpPifszG#include<stdio.h>
int main(void){
int mChokin,tChokin,goukei=0,kikan;
printf("目標貯金金額は?:");
scanf("%d",&mChokin);
printf("毎月いくらづつ貯金する?");
scanf("%d",&tChokin);
for(kikan=0 ;goukei < mChokin; kikan++){
goukei += tChokin;
}
if(kikan < 12){
printf("%dヶ月くらいかかります",kikan);
}else{
if(kikan%12 == 0){
printf("%d年くらいかかります",kikan / 12);
}else{
printf("%d年と%dヶ月くらいかかります",kikan / 12,kikan % 12);
}
}
return 0;
}
0786デフォルトの名無しさん
2014/07/24(木) 20:56:27.83ID:IgucEqQ00787デフォルトの名無しさん
2014/07/25(金) 06:35:21.76ID:N9DVIwI0誰も指摘しない・・・。
「目標金額が合計金額より多くなるまで次の処理を繰り返す。」 は
「合計金額が目標金額より多くなるまで次の処理を繰り返す。」 ですね。
0788デフォルトの名無しさん
2014/07/25(金) 13:34:09.94ID:iw+KWWGd[2] 問題文
正の整数を読み込み、その整数より小さい3の倍数を
全て表示するプログラムを作る
[3] 環境
[3.1] OS: Windows7
[3.3] 言語: C
よろしくお願いします。
0789デフォルトの名無しさん
2014/07/25(金) 13:41:37.22ID:9civv23Gfor(1<n)
if(i % 3 == 0)
0790デフォルトの名無しさん
2014/07/25(金) 13:49:27.06ID:nF2+mOeo0791デフォルトの名無しさん
2014/07/25(金) 13:50:11.62ID:nF2+mOeohttp://ideone.com/xFQZnv
0792デフォルトの名無しさん
2014/07/25(金) 14:49:31.47ID:STzzxRvAありがとうございます
俺はバカか?、死んでしまえ・・・orz
0793デフォルトの名無しさん
2014/07/25(金) 15:48:00.84ID:dIN09tG2i--*3って、どういう意味?
0794デフォルトの名無しさん
2014/07/25(金) 16:23:43.28ID:PJ3o0+4o0795デフォルトの名無しさん
2014/07/25(金) 16:58:21.33ID:+sFZhLrJ読み込んだ正の整数が3の倍数の場合、その値は表示しちゃいけないように読める
("以下" ではなく "より小さい") が、どっちだろう
0796デフォルトの名無しさん
2014/07/25(金) 17:39:35.28ID:N9DVIwI0「より小さい」だろう。そう書いてあるのだから。
0797デフォルトの名無しさん
2014/07/25(金) 18:11:39.30ID:rZVrt2Gwを
> --i;i/=3;
にすればいいのか
0798デフォルトの名無しさん
2014/07/26(土) 10:32:47.08ID:eTCbs3CQ詳しく・・・
0799デフォルトの名無しさん
2014/07/26(土) 14:35:01.23ID:Xdk7ISQK>>792で解決したん違うんか
0800デフォルトの名無しさん
2014/07/26(土) 17:09:15.63ID:As5DovMcint i;
scanf("%d", &i);
for( ; i != 0; i--)
if(i % 3 == 0)
printf("%d\n", i);
return 0;
}
0801デフォルトの名無しさん
2014/07/26(土) 17:34:34.99ID:lNocvsEQ負数を入力されたときどうする?
まあ課題だからいいか。。。
0802デフォルトの名無しさん
2014/07/26(土) 21:51:18.29ID:VW1duq5T0803デフォルトの名無しさん
2014/07/26(土) 23:25:40.54ID:7ysg84QDまあ問題がもともと不備だし。
倍数だから、入力が正でも結果は負も含む。
0804デフォルトの名無しさん
2014/07/26(土) 23:33:34.50ID:44Fg1yWq[2] 問題文
以下のプログラムを作成すること
足し算の式が入力され、数字の部分に一部に、Xが含まれる。
「数字列 + 数字列 = 数字列」の形
「数字列」は、数字 0 から 9 と文字 X の並び
数式が成り立つ X の値で 0-9のどれか1つを表示すること
答えがない場合は、NAを表示すること
2つ以上の答えはないものとする
X は、数式全体の中で必ず1つ以上含まれる
実行例
123+4X6=X79 入力
5 出力
12X+4X6=X79 入力
NA 出力
XX22+89=X2XX 入力
1 出力
[3] 環境 .
[3.1] Windows 8.1
[3.2] Visual studio 2013
[3.3] C
[4]期限 2014年7月28日0時
0805デフォルトの名無しさん
2014/07/27(日) 04:22:22.73ID:6u3fkz2T#include<stdio.h>
int main(void){
int i,q,w,e;
char b[99],*s,*d;
gets(b);
for(i=0;i<=9;++i){
for(s=b,d=b+50;*s;s++)*d++=*s=='X'?'0'+i:*s;
sscanf(b+50,"%d+%d=%d",&q,&w,&e);
if(q+w==e)break;
}
if(9<i)puts("NA\n");else printf("%d\n",i);
return 0;
}
0806デフォルトの名無しさん
2014/07/27(日) 04:23:37.87ID:6u3fkz2T>>804
#include<stdio.h>
int main(void){
int i,q,w,e;
char b[99],*s,*d;
gets(b);
for(i=0;i<=9;++i){
for(s=b,d=b+50;*s;s++)*d++=*s=='X'?'0'+i:*s;
sscanf(b+50,"%d+%d=%d",&q,&w,&e);
if(q+w==e)break;
}
if(9<i)puts("NA\n");else printf("%d\n",i);
return 0;
}
0807デフォルトの名無しさん
2014/07/27(日) 08:41:28.58ID:KvVEK7dm変態改造しました。
http://ideone.com/207jqK
0808デフォルトの名無しさん
2014/07/28(月) 15:10:24.85ID:vFOPYpLF[2] 問題文
担当者はなん人でも構わない、担当者名と売上を入力する。売上合計を求める。各担当の売
上が売上合計の何%になるかの比率の計算を行い、担当者名、売上、比率を表示する。
________________________________
担当者 売上 比率
---------------------
山田 12000 30.0%
鈴木 8000 20.0%
井上 20000 50.0%
合計 40000 100.0%
=====================
[3] 環境 .
[3.1] Windows 8.1
[3.2] Visual studio 2013
[3.3] C
0809デフォルトの名無しさん
2014/07/28(月) 23:00:10.38ID:5V3K7C2Fttp://ideone.com/vlfbdt
0810デフォルトの名無しさん
2014/07/28(月) 23:15:08.54ID:G21RvJ34char format[] = "%s\t%6d\t%10.1f%%\n";
にすれば(書式文字列中に”%%”で”%”を出力で)良かんべえ
0811デフォルトの名無しさん
2014/07/29(火) 06:44:27.87ID:9MYEl5R9[2] 問題文
:午前:午後:夜間
月曜:診療:診療:診療
火曜:休診:診療:診療
水曜:休診:診療:休診
木曜:診療:診療:診療
金曜:診療:診療:診療
土曜:診療:休診:休診
日曜:休診:休診:休診
*表の時間外も休診とする
上記のような病院の診療スケジュールがある
その表をもとに、曜日と時間が入力されるので、
診療時間(診療)であれば、Practiceと表示、
診療時間外(休診)であれば、is closedと表示すること
午前:09:00-12:00
午後:14:00-17:00
夜間:18:00-20:00
曜日の入力値
月曜:0 火曜:1 水曜:2
木曜:3 金曜:4 土曜:5
日曜:6
実行例)
0 10:00 入力
Practice 出力
2 18:30 入力
is closed 出力
5 10:30 入力
Practice 出力
[3] 環境 .
[3.1] Windows 8.1
[3.3] C
0812デフォルトの名無しさん
2014/07/29(火) 06:47:29.42ID:8drM/oKDCだと面倒でいま話題のProlog向きの問題。
0813デフォルトの名無しさん
2014/07/29(火) 09:22:53.82ID:SrETeLhyありがとうございました
0814デフォルトの名無しさん
2014/07/29(火) 12:17:21.58ID:u3aDyX/bhttp://ideone.com/7eNU6t
0815デフォルトの名無しさん
2014/07/29(火) 13:11:01.84ID:H8EUDzLQほほう…
0816デフォルトの名無しさん
2014/07/29(火) 14:53:58.16ID:cLIIU22Tttp://ideone.com/B0NBJc
0817デフォルトの名無しさん
2014/07/29(火) 14:57:53.96ID:eAxIC1+6[2] 問題文
最大20桁の整数同士の加算ができるプログラムを記述しなさい。
(例)
>./プログラム名 12345678901234567890 + 12345678901234567890 >12345678901234567890 + 12345678901234567890 = 24691357802469135780
[3] 環境 .
[3.1] Mac OSX
[3.2] GCC
[3.3] C
[4]期限 2014年7月29日
http://7ujm.net/play/pCalc/pCalc.html
おそらくこのページのように区切って格納していく必要があるとは思うのですが、、、
お助けください。
お願い致します。
0818デフォルトの名無しさん
2014/07/29(火) 16:12:18.34ID:cLIIU22Thttp://ideone.com/z5dBpO
0819デフォルトの名無しさん
2014/07/29(火) 17:59:15.06ID:eAxIC1+6ありがとうございます。
16: error: 'for' loop initial declarations are only allowed in C99 mode
16: note: use option -std=c99 or -std=gnu99 to compile your code
というエラーを吐かれるのですがこれはどういうことでしょうか?
0820デフォルトの名無しさん
2014/07/29(火) 18:20:45.90ID:+2235k/1-std=c99 か -std=gnu99 のコンパイラオプションつけて、C99 でコンパイルしろや
13 行目 for (int k= ... ←これ
こうすりゃ良かろう
7: int ans[N] = {0}, i, j, k;
13: for (k = 0; j--; ++k)
0821デフォルトの名無しさん
2014/07/29(火) 18:32:42.92ID:eAxIC1+6ありがとうございます!
0822デフォルトの名無しさん
2014/07/29(火) 20:38:59.20ID:hvmaQCDP引数で指定
http://codepad.org/uvkBSDc6
0823デフォルトの名無しさん
2014/07/29(火) 20:43:41.03ID:UXe0DLIJ[2] 問題文(含コード&リンク):
キーボードから入力された英文字を全て大文字に変換するプログラム
(原文ままです)
[3] 環境
[3.1] OS: Windows
[3.2] コンパイラ名とバージョン: gcc -o
[3.3] 言語:C
[4] 期限: 2014/07/30の08:30まで
[5] その他の制限: ポインタは習ってないです。あとgets()を使ってほしいとのことです
0825デフォルトの名無しさん
2014/07/29(火) 21:35:31.86ID:s+4NszZehttp://ideone.com/qkEhJE
「while(fgets(buffer,sizeof(buffer),stdin))」を「while(gets(buffer))」
に置き換えればgetsで書けるけど、危険なのでやってはいけない。
1行の長さがbufferのサイズを超えた時、鼻から悪魔が飛び出しても文句を言えない。
http://linuxjm.sourceforge.jp/html/LDP_man-pages/man3/gets.3.html
>この関数は使用しないこと。
>gets() は絶対に使用してはならない。
>gets() を使うのは極めて危険である。
>代わりに fgets() を使うこと。
ボロクソ
0826デフォルトの名無しさん
2014/07/29(火) 22:43:27.99ID:IK963Bq+言いたいことはわかるがポインタ学習前に文字列入力をちゃんとやれっていうのは酷だろ
むしろ、getchar() 使えばいいのにとは思うが
0827デフォルトの名無しさん
2014/07/30(水) 00:30:46.94ID:YaF3atah訂正。本当は「char buffer[9999];」を「unsigned char buffer[9999];」とするか、
「putchar(toupper(buffer[i]));」を「putchar(toupper((unsigned char)buffer[i]));」
としないと間違いだった…けど、これ忘れる奴は(俺含め)多いんだろうなぁ…
charのデフォルトがunsignedな場合(少数派だけど)はやらなくていいし、
toupperとかの説明でunsigned教えられてないならやらなくてもいい。
>>826
ISO C11ではgetsなんて存在しないって事だし、ポインタ学習前なら、
「fgets(文字列用配列変数名,sizeof(文字列用配列変数名),stdin)」
っていう定型文として教えてそのまま使わせとけばいいんでないかな。
意味の説明はポインタを教えてから(関数を教える前)でもいいと思う。
forで回させたかったからgetsなんだろうけど、getchar使えばいいのには同感。
目的からはそっちの方が適してるし、↑みたいなミスも減らせるし。
0828デフォルトの名無しさん
2014/07/30(水) 00:46:51.88ID:4/mNfK2Sで単純にif文使って、ASCII前提なので不正解とか食らう……わけないか
0829デフォルトの名無しさん
2014/07/30(水) 01:18:54.60ID:AZuFzxiw[2] 問題文
2回のの点数(それぞれ0〜100点)を
入力し、次の条件に従って合格(Pass)、
不合格(Failure)を判定すること
両方とも60点以上の場合、Pass
合計が130点以上の場合、Pass
合計が100点以上で、どちらかの試験が
90点以上であればPass
上記以外は、Failure
例)
70 60 入力
Pass 出力
82 11 入力
Failure 出力
[3] 環境 .
[3.1] Windows 7
[3.3] C
0830デフォルトの名無しさん
2014/07/30(水) 01:35:34.20ID:E3eKawnjhttp://ideone.com/LYxx7M
0831デフォルトの名無しさん
2014/07/30(水) 15:45:02.88ID:9Cw8yzhm[2] 問題文
文字配列buffを100バイト確保して、キーボードから繰り返し入力して
その文字列を空白を作り、連結していくプログラムを作ります
キーボードから入力できる文字は30バイトまでです
byeと入力で、終了
[3] 環境 .
[3.1] Windows 8.1
[3.2] Visual studio 2013
[3.3] C
0832デフォルトの名無しさん
2014/07/30(水) 16:45:49.40ID:qwpIAm/nbbb
ccc
bye
aaa bbb ccc
って事か
0833デフォルトの名無しさん
2014/07/30(水) 16:46:56.80ID:AZuFzxiw[2] 問題文
文字列が入力され,
次に表示したい文字の番号が入力されるので、
その番号の文字を表示すること
範囲を超えた場合は、NAと表示する
(番号は、1から始まる)
(文字列は50文字以内)
実行例
abcdfge 入力1
3 入力2
[3] 環境 .
[3.1] Windows 7
[3.3] C
0834デフォルトの名無しさん
2014/07/30(水) 17:10:26.11ID:qwpIAm/n0835デフォルトの名無しさん
2014/07/30(水) 17:26:46.66ID:E3eKawnj0836デフォルトの名無しさん
2014/07/30(水) 17:36:36.66ID:E3eKawnjhttp://ideone.com/ZWL5Nx
0837デフォルトの名無しさん
2014/07/30(水) 17:51:19.51ID:E3eKawnjいきなりbyeってされると領域外アクセスするのでダメコード
デバッグしにくいバグの原因
修正 http://ideone.com/Glm4TK
0838デフォルトの名無しさん
2014/07/30(水) 21:48:12.10ID:m/m5wL1/[2] 問題文(含コード&リンク):
1.以下のデータのアドレスを表示するプログラムを作成しなさい
main関数、argc/argv、外部変数/static変数、オート変数、別関数、別関数のパラメータ
・表示するデータ(変数の型は任意)
2.コマンド引数で指定したファイル(テキストファイル)をコピーするプログラムを作成しなさい
・コマンドイメージ xcp ファイルA ファイルB ※ファイルBがコピー先
・読み込みはfgets()
3.コマンド引数で文字列パターン、検察ファイルを指定し、
文字列パターンが含まれる行の行数数と行全体を表示するプログラムを作成しなさい
・コマンドイメージ xgrep 文字列パターン 検索ファイル
・表示イメージ line = xx、該当行
・読み込みはfgets()
・パターン検索処理は別関数にする
(パラメータ1:ファイル内のレコード、パラメータ2:文字列パターン、返却値はパターン有無)
よろしくお願いします。
[3] 環境
[3.1] OS: Linux
[3.2] gcc
[3.3] 言語: C
[4] 期限: 2014年7月30日09:00まで
[5] その他の制限:
0839デフォルトの名無しさん
2014/07/30(水) 23:02:53.34ID:E3eKawnj1 http://ideone.com/Chax6u
2 http://ideone.com/p4Thlq
3 http://ideone.com/p5OUhY
1はideoneではエラーだが通常は警告のみでコンパイルは通る
関数のアドレスってISO Cで正式にはどうやって表示するんだ・・・
0840デフォルトの名無しさん
2014/07/30(水) 23:08:11.99ID:E3eKawnjだから void* にキャストできないと
なるほどつまりどうしようもないのね
0841デフォルトの名無しさん
2014/07/30(水) 23:12:45.00ID:YaF3atahポインタへのポインタ取ってバイト列として表示、かな?
0842デフォルトの名無しさん
2014/07/30(水) 23:22:31.16ID:E3eKawnjありがとう エラー・警告なくなんかそれっぽくは表示できたがどうなんだろう
http://ideone.com/ePoGpC
0843デフォルトの名無しさん
2014/07/31(木) 00:18:35.16ID:Yhu/r2TQ[2] 問題文
2つの英文字列が入力されるので、
同じ場合は、equal
異なる場合は、different
と表示すること
(但し、大文字小文字の区別しない)
(小テストにアップロードするときは、
stricmp()はエラーになるので、
代わりにstrcasecmp()を使うこと)
(英文字(半角)列の長さは、50文字以内)
実行例
apple 入力1
APPLE 入力2
equal 出力
[3] 環境 .
[3.1] Windows 7
[3.3] C
0844デフォルトの名無しさん
2014/07/31(木) 00:31:19.81ID:RAmyBjAfいや、その方法だと使った整数型の大きさ超えた時に哀しいことになる。
http://ideone.com/p2P4mQ のprintBytesみたいな事をすれば良い、筈。
http://ideone.com/0r39cn
(vid (*)()) でキャストすればいい
0846デフォルトの名無しさん
2014/07/31(木) 17:43:30.14ID:Imss7LOywだけちょっと不満が残ったな
http://ideone.com/t0mtSZ
0847デフォルトの名無しさん
2014/07/31(木) 17:48:20.85ID:Imss7LOyhttp://ideone.com/ckaVzs
0848デフォルトの名無しさん
2014/07/31(木) 18:08:02.36ID:RAmyBjAfなにが違うのか一瞬気づかなかった。
>>845のバカは関数ポインタを関数ポインタにキャストしただけで、
本命はこっそりC99指定外してエラー避けすることの方だったのかww
け,やられたね‥
0850デフォルトの名無しさん
2014/08/02(土) 13:46:13.29ID:8Nv3GFp4[2] 問題文
2つの入力された数字を使って
割り算をした結果を表示すること
(整数)
(割る数が0の場合は、NGと表示)
実行例
5 3 入力
1 出力
120 60 入力
2 出力
33 0 入力
NG 出力
[3] 環境 .
[3.1] Windows 8.1
[3.2] Visual studio 2010
[3.3] C
[4] 期限:2014年8月04日0:00
0851デフォルトの名無しさん
2014/08/02(土) 13:46:47.32ID:8Nv3GFp4[2] 問題文
入力された数字まで、1から順に
表示すること
(入力される数字の最小は、1)
(入力される数字の最大は、20)
実行例
5 入力
1 2 3 4 5 出力
11 入力
1 2 3 4 5 6 7 8 9 10 11 出力
1 入力
1 出力
[3] 環境 .
[3.1] Windows 8.1
[3.2] Visual studio 2010
[3.3] C
[4] 期限:2014年8月04日0:00
0852デフォルトの名無しさん
2014/08/02(土) 13:47:14.12ID:8Nv3GFp4[2] 問題文
2つの数字を入力されるので、
左側の数字が大きい場合は、left
右側の数字が大きい場合は、right
同じ数字の場合は、equal
と表示すること
実行例
1 12
right
10 19
left
5 5
equal
[3] 環境 .
[3.1] Windows 8.1
[3.2] Visual studio 2010
[3.3] C
[4] 期限:2014年8月04日0:00
0853デフォルトの名無しさん
2014/08/02(土) 14:49:10.40ID:iPJXtkq3>>851 http://ideone.com/J1KmHK
>>852 http://ideone.com/qgM3Dl 実行例間違ってるよね?
0854デフォルトの名無しさん
2014/08/02(土) 14:52:06.78ID:8Nv3GFp4ありがとうございます!
0855デフォルトの名無しさん
2014/08/05(火) 10:40:34.17ID:2ysLqjEE[2] 問題文
値引率、単価、数量の金額を算出し表示する
1のケース 5%
2のケース 10%
3のケース 15%
それ以外 0%
switch caseを使用すること
金額=単価×数量×(100−値引率)÷100
[3] 環境 .
[3.1] Windows 8.1
[3.2] Visual studio 2008
[3.3] C
0856デフォルトの名無しさん
2014/08/05(火) 10:43:31.18ID:blG+JkAY入力と出力の具体例を書いてくれると回答が捗るよ
0857デフォルトの名無しさん
2014/08/05(火) 13:07:27.45ID:+y74ON+B0858デフォルトの名無しさん
2014/08/07(木) 09:08:36.15ID:wRwVGT2H[2] 問題文
整数を読み込み、逆から表示するプログラムを作成しなさい
10桁までとします
この時、非負の整数が出てきた場合 「負の数です」 と表示すること
[3] 環境 .
[3.1] Windows 8.1
[3.2] Visual studio 2008
[3.3] C++
0859デフォルトの名無しさん
2014/08/07(木) 11:25:52.64ID:KMZ/LFV4[2] 問題文
スケジューラ
A.B.Cの3つの部屋があって
そのスケジュールを管理するプログラムを作成
予約件数は、10件まで。
予約可能時間は、9:00〜21:00まで
R 予約入力
(例)
R 2014/08/09 10:00 00:30 A
2014/08/09 10:00から10:29までA室を予約
Q 問い合わせ
(例)
Q 2014/08/09 10:00 02:00 A 入力(問い合わせ)
2014/08/09 10:00から11:59までA室は、空いているか?
(実行例)
R 2014/08/09 10:00 00:30 A 入力(予約)
R 2014/08/09 10:00 00:30 B 入力(予約)
Q 2014/08/09 10:00 02:00 A 入力(問い合わせ)
Not empty 出力(先約あり)
R 2014/08/10 10:00 00:30 B 入力(予約)
R 2014/08/10 10:00 00:30 B 入力(予約)
Q 2014/08/12 10:30 01:30 A 入力(問い合わせ)
Free 出力(空き有り)
[3] 環境
[3.1] Windows 8.1
[3.2] Visual studio 2013
[3.3] C
[4] 期限:2014年8月9日0:00
0860デフォルトの名無しさん
2014/08/07(木) 11:26:30.19ID:KMZ/LFV4[2] 問題文
n個の整数を含む集合Sと、
q個の異なる整数を含む集合Tを入力とし、
Tに含まれる整数の中でSに含まれるものの数Cを
出力するプログラムを作成せよ。
入力
1行目にSを表すn個の整数、
2行目にTを表すq個の整数が与えられる。
出力
Tに含まれる整数の中でSに含まれるものの数Cを出力せよ。
条件
n : 10以下
q : 5以下
集合に含まれる整数の値 以上、6未満
実行例)
3 8 4 1 9 2 5 7 6 入力(集合S:n個(9))
1 3 5 10 入力(集合T:q個(4))
3 出力(C)
21 30 5 21 10 39 14 入力(集合S:n個(7))
1 21 10 入力(集合T:q個(3))
2 出力(C)
[3] 環境
[3.1] Windows 8.1
[3.2] Visual studio 2013
[3.3] C
[4] 期限:2014年8月9日0:00
0861デフォルトの名無しさん
2014/08/07(木) 11:28:27.89ID:KMZ/LFV4[2] 問題文
(Run Length圧縮)
文字列が連続した場合、ある規則で文字を置き換え、
文字列を短くすることができます。
例えば、AAAAという文字列の場合、@4Aと表現すれば
1文字分圧縮されます。
この規則で圧縮された文字列を入力して
もとの文字列に復元して終了するプログラムを
作成してください。
ただし、復元した文字列に@文字は出現しないものとします。
原文の文字列は半角の英大文字、英小文字、数字、記号であり100文字以内、連続する文字は9文字以内です。
実行例)
ab@5C1@8050 入力
abCCCCC10000000050 出力
@99+1=1@90 入力
999999999+1=1000000000 出力
[3] 環境
[3.1] Windows 8.1
[3.2] Visual studio 2013
[3.3] C
[4] 期限:2014年8月9日0:00
0862デフォルトの名無しさん
2014/08/07(木) 11:31:50.32ID:KMZ/LFV4[2] 問題文
以下のプログラムを作成しなさい.
○?ゲーム(3目並べ)の勝敗判定を行
○?のどちらかが3つ並んだ方が勝ち
引き分けの場合は、「even」と表示
oが勝った場合は、「winner->o」と表示
xが勝った場合は、「winner->x」と表示
実行例)
oxx 入力
ox 入力
o 入力
winner->o 出力
xxx 入力
oox 入力
oo 入力
winner->x 出力
xxo 入力
oox 入力
xoo 入力
even 出力
[3] 環境
[3.1] Windows 8.1
[3.2] Visual studio 2013
[3.3] C
[4] 期限:2014年8月9日0:00
0863デフォルトの名無しさん
2014/08/07(木) 11:32:22.95ID:KMZ/LFV4[2] 問題文
じゃんけん判定
入力文字列をじゃんけんの手とし、
勝敗を判定すること
入力文字列
goo : グー
choki: チョキ
par : ャpー
ルーャ求F
グーb謔閭pーが強い
パーよりチョキが強い
チョキよりグーが強い
判定表示:
1番めが勝った場合は、「winner-1」と表示
2番めが勝った場合は、「winner-2」と表示
引き分けの場合は、「even」と表示
実行例)
goo choki 入力
winner-1 出力
par choki 入力
winner-2 出力
par goo 入力
winner-1 出力
par par 入力
even 出力
[3] 環境
[3.1] Windows 8.1
[3.2] Visual studio 2013
[3.3] C
[4] 期限:2014年8月9日0:00
0864デフォルトの名無しさん
2014/08/07(木) 12:21:32.24ID:7UtLjkdTあなたの単位無しにしておきますね
0865デフォルトの名無しさん
2014/08/07(木) 14:12:24.51ID:xo/Vmey3非負整数なのに負の数って表示するんだ
0866デフォルトの名無しさん
2014/08/07(木) 14:49:57.94ID:kzu1GcF/ttp://ideone.com/Yi5E4m
0867デフォルトの名無しさん
2014/08/07(木) 18:05:14.53ID:kzu1GcF/ttp://ideone.com/4epplA
0868デフォルトの名無しさん
2014/08/07(木) 23:17:10.26ID:kzu1GcF/http://ideone.com/qp9IiA
0869デフォルトの名無しさん
2014/08/08(金) 10:20:19.78ID:7U8bgHZphttp://ideone.com/cRk8VG
0870デフォルトの名無しさん
2014/08/08(金) 10:22:40.51ID:7U8bgHZp17行目訂正
for (i = 0; i < 8; ++i)
0871デフォルトの名無しさん
2014/08/08(金) 10:49:09.79ID:7U8bgHZphttp://ideone.com/yec3yc
0872デフォルトの名無しさん
2014/08/08(金) 13:04:15.44ID:PZxjFlZMhttp://ideone.com/pLo9Zq
0873デフォルトの名無しさん
2014/08/11(月) 00:32:24.96ID:TP2ds61a片対数グラフで直線だから既に指数関数的増加だった
2014年に、西アフリカでアウトブレイクした潜伏期間延長型エボラの死者は、2014年8月半ばで1000人。
2014年12月上旬で1万人。
この時点で世界規模で空路シャットダウン開始、世界経済大混乱
2015年5月で10万人。
2015年9月で100万人。
この時点で、第二次世界大恐慌発生
2015年大晦日で1000万人。
0874デフォルトの名無しさん
2014/08/13(水) 10:46:03.96ID:YdrUmIgNこの程度の問題も解けないとか
卒業できる見込みなしだな
0875片山博文MZ次期CEO ◆T6xkBnTXz7B0
2014/08/16(土) 17:52:01.71ID:jECCpoje[1] 授業単元:コンピューター整数論
[2] 問題文:
Zを整数全体の集合とする。
Nを0以上の整数全体の集合とする。
a,b,c,d∈Nについて0≦b<aかつ0≦d<cとする。
A={ax+b | x∈Z}、
B={cx+d | x∈Z} であるとき、A∩Bは何か。
トリップつきで連絡が取れれば報酬はWebMoney2000円。
[3] 環境
[3.1] OS:指定なし。
[3.2] コンパイラ名とバージョン:指定なし。
[3.3] 言語:C/C++どちらでも可。
[4] 期限:2014年08月22日23:59まで。
[5] その他の制限:証明や解説を要する。
0876片山博文MZ次期CEO ◆T6xkBnTXz7B0
2014/08/16(土) 18:22:10.42ID:jECCpoje中国の剰余定理だねえ
https://ja.wikisource.org/wiki/%E5%88%9D%E7%AD%89%E6%95%B4%E6%95%B0%E8%AB%96%E8%AC%9B%E7%BE%A9/%E7%AC%AC1%E7%AB%A0/%E4%B8%80%E6%AC%A1%E5%90%88%E5%90%8C%E5%BC%8F
今週は忙しいから来週まで期限を延長してくれない?
0878片山博文MZ次期CEO ◆T6xkBnTXz7B0
2014/08/16(土) 19:05:03.04ID:jECCpoje互いに素でないものも含むので、ちょっと変則だろう。
これができないと「ひらがな電卓」の開発が遅れてしまう。
QZさんならできるかな? 延長を許可する。
0879デフォルトの名無しさん
2014/08/16(土) 19:49:43.03ID:Kbu3F/Gd×忙しい
○無職で頭が足りないので時間をくれ
0880デフォルトの名無しさん
2014/08/16(土) 21:04:15.30ID:ee4Clawm面白そうだから、集合論も整数論も何を求めればいいかも分からない俺が泥臭いクソ解答。報酬いらず。
a == cの場合、b != d で x の解なし。
a == cの場合、b == d で x は ax + b (あるいは cx + d)上の整数全て。
a != cの場合、b != d で x はそれぞれ (d - b) / M の整数全て。
a != cの場合、b == d で x はそれぞれ xは0。
ただし、Mは0以外の整数。
例) a != cの場合、b != d で、a = c + Mとし、
ax + b = cx + d
(c + M)x + b = cx + d
x = (d - b) / M
集合論とかで解くとスカッと公式化できるのかな?
0881デフォルトの名無しさん
2014/08/16(土) 21:26:52.25ID:nQiWsyll0882片山博文MZ次期CEO ◆T6xkBnTXz7B0
2014/08/16(土) 22:22:39.84ID:jECCpojea != cの場合が間違い。
AのxとBのxは別のものなのでそのままでは連立できない。
求めるのはA∩B。
0883デフォルトの名無しさん
2014/08/16(土) 22:38:04.02ID:nQiWsyll完全に削除対象スレ
0884デフォルトの名無しさん
2014/08/16(土) 23:16:04.47ID:ee4Clawm完全に自分の理解不足だったのね。サーセン。
0885デフォルトの名無しさん
2014/08/16(土) 23:23:10.97ID:nQiWsyll0886デフォルトの名無しさん
2014/08/17(日) 01:06:55.48ID:sI1u/7ZzQZが自演でスレを立ててるぞw
http://peace.2ch.net/test/read.cgi/tech/1313183984/769
>互いに素でないものも含む
確かにこれはいやらしいねえ‥
証明とか解説は >>877 で許してもらえませんか?
>>877 の教科書でいうところのDisquisitionesのやりかたをベースにしています。
0888デフォルトの名無しさん
2014/08/17(日) 01:29:03.50ID:s3726XPYdon't mind!
楽しんでください
0889デフォルトの名無しさん
2014/08/17(日) 01:58:04.49ID:s3726XPYもう専用隔離スレを自分で作りましたってば‥
0890デフォルトの名無しさん
2014/08/17(日) 02:15:17.96ID:sI1u/7Zz0891デフォルトの名無しさん
2014/08/17(日) 02:18:44.35ID:ukhq3+mT0892デフォルトの名無しさん
2014/08/17(日) 03:23:59.23ID:s3726XPYあの情熱的な支離滅裂はもう一度読みたいなあ‥
0893デフォルトの名無しさん
2014/08/17(日) 15:32:19.46ID:sI1u/7Zz0894デフォルトの名無しさん
2014/08/17(日) 15:47:36.55ID:wIqNJfGWホンモノの精神障害者だから
0895デフォルトの名無しさん
2014/08/17(日) 18:55:53.84ID:cohciSyw0896デフォルトの名無しさん
2014/08/17(日) 19:18:35.08ID:sI1u/7Zz0897デフォルトの名無しさん
2014/08/17(日) 19:53:54.41ID:IlwmWS75[2] 問題文
四則演算を実行する電卓の作成。
* 被演算子はint型の整数値のみを取り扱う。
- 整数値のオーバフローは考慮しなくて良い。
- 被演算子に(-1)等の負数は考慮しなくて良い。ただし、実行結果は負数となり得る。
* 演算子は+-*/とし、それぞれ加算、減算、乗算、除算とする。除算の結果は商となる。
- 演算子の優先度は*/を高く、+-が低いものとする。同じ優先度の演算子は左から実行すること。
* 括弧()で囲まれた項は先に実行する。例えば、(1 + 2) * 3の結果は9となる。
* 入力と出力は以下に従う。
- スペースはスキップする。1 + 2と1+2は等価である。
- 式の区切りは改行文字とする。
- ctrl-dが入力された場合はプログラムを終了する。
* 以下のエラー処理を検出し、syntax errorと出力する。
- [0-9]()+-/*以外の文字が使われている。
- 括弧()の対応が取れていない。
- 演算子と被演算子の対応が取れていない。例えば、1 + 等。
以下、実行例。
$ ./a.out # 開始
1 + 2 # 入力
3 # 出力
(1 + 2) * 3 # 入力
9 # 出力
1 + 2 * (3 + 4) # 入力
15 # 出力
1 + # 入力
syntax error # 出力
ctrl-d # 入力
$ # 終了
[3] 環境 [3.1] linux [3.2] gcc [3.3] C
[4] 2014/08/22(金)正午まで
[5] その他 C言語標準ライブラリ以外は使用しないこと。文法については制限なし。
0898デフォルトの名無しさん
2014/08/17(日) 20:01:20.72ID:sI1u/7Zz0899デフォルトの名無しさん
2014/08/17(日) 20:02:35.39ID:IqZYxMHD0900デフォルトの名無しさん
2014/08/17(日) 20:08:31.21ID:sI1u/7Zz0901デフォルトの名無しさん
2014/08/17(日) 20:31:44.92ID:/7QE8ZuN0902デフォルトの名無しさん
2014/08/17(日) 21:13:11.94ID:sI1u/7Zzコテつけたり自演したり忙しいね
0903デフォルトの名無しさん
2014/08/17(日) 21:14:59.11ID:LRz7xi0Thttp://ideone.com/JB7vPP
0904デフォルトの名無しさん
2014/08/17(日) 21:15:43.97ID:sI1u/7ZzQZ破れたり〜
0905デフォルトの名無しさん
2014/08/17(日) 21:58:46.26ID:IlwmWS75申し訳ありませんが、flex/bisonあるいはlex/yaccの生成するコードではちょっと・・・。
ちなみにそちらは[a-z]までの識別子を変数として使用できるやつですよね?
0906デフォルトの名無しさん
2014/08/17(日) 22:00:37.99ID:sI1u/7Zz0907デフォルトの名無しさん
2014/08/17(日) 22:23:18.82ID:CXG97/EH0908デフォルトの名無しさん
2014/08/17(日) 22:27:33.25ID:sI1u/7Zz0909デフォルトの名無しさん
2014/08/17(日) 22:34:39.72ID:LRz7xi0T> [a-z]まで
どう扱われるのかを踏まえて
どう定義づけるかってのが役割だから
常識的に考えてそんな制限があったら使い物にならないでしょ?
他と同じで[0x00-0xff]+だよ
0910デフォルトの名無しさん
2014/08/17(日) 22:38:22.23ID:s5s5QylS0911デフォルトの名無しさん
2014/08/17(日) 22:56:10.68ID:sI1u/7Zz0912デフォルトの名無しさん
2014/08/18(月) 00:12:09.58ID:DSQRQPi5昔作りかけたものをちょっとだけ手直ししたものだから
中途半端だし関係ない制約もある
http://ideone.com/Cs7Q4k
制約
・整数はshort範囲のみ対応でそれを超えるとオーバーフロー(syntax errorって出力しちゃう)
中途半端
・16進数も限定的に対応(0xXXXX という4桁のみ対応)
・エラーを分類しようとして番号を振って行っているが作成途中だったため使っていない
・pCrrを見えなくしようとしてしきれていない
0913デフォルトの名無しさん
2014/08/18(月) 00:15:26.58ID:DSQRQPi5・入力文字数80文字まで(まあこれは定義次第で変えれる)
・Ctrl+D以外に、終了用文字列を決めてあり、それと一致しても終了する
(つまり終了文字列の場合はsyntax errorにならない)
0914デフォルトの名無しさん
2014/08/18(月) 00:24:50.77ID:OdlWZdI30915デフォルトの名無しさん
2014/08/18(月) 09:04:22.69ID:lhKU6rNH手抜き
http://ideone.com/Ov8dep
>cat b.c
#include <stdio.h>
int main()
{
printf("%d¥n", @
);
return 0;
}
0916デフォルトの名無しさん
2014/08/18(月) 09:18:50.28ID:aTnCZFOc本当はID嫌なんじゃないの?
0917デフォルトの名無しさん
2014/08/18(月) 12:23:45.28ID:DSQRQPi5自分の昔のソースを開いてキモさに衝撃を受けた
szとかaszってなんだよ
0918デフォルトの名無しさん
2014/08/18(月) 12:43:41.81ID:hOGPcHcB0919デフォルトの名無しさん
2014/08/18(月) 12:47:50.99ID:uVMztZXb0920デフォルトの名無しさん
2014/08/18(月) 13:17:34.80ID:hOGPcHcBHDC hdcMain
PAINTSTRUCT psMain
こういう時どうしてるん
0921デフォルトの名無しさん
2014/08/18(月) 13:20:24.78ID:VT7Okk3TwndMain, dcMain, psMain
Main さんの window, device context, paint struct 型じゃなく用途でぐらいの意識
0922デフォルトの名無しさん
2014/08/18(月) 13:21:53.81ID:OdlWZdI30923デフォルトの名無しさん
2014/08/18(月) 13:25:48.65ID:hOGPcHcB0924デフォルトの名無しさん
2014/08/18(月) 21:55:44.77ID:5cvBvh4z(卒業研究であるアプリケーションを作っていて、実装方法がわからない部分を質問します。)
[2] 問題文:
点A,Bの2つの点があり、これらを原点を中心に回転させます。
A,Bのy座標が同じになるためには何度回転させればよいでしょうか?
http://s1.gazo.cc/up/96613.png
[3] 環境
[3.1] OS:MacOSX
[3.2] コンパイラ名とバージョン:Apple LLVM5.1
[3.3] 言語:C/C++
[4] 期限:12月
[5] 無し
[6] 数学がどうも苦手なので質問させていただきました。
アイディアだけでももらえると嬉しいです。
0925デフォルトの名無しさん
2014/08/18(月) 22:07:55.63ID:9zqJA8S0△ABCにおいて、a=8、b=5、c=7のとき、∠Cの角度を求めなさい。
http://manapedia.jp/images/files/a/5/a541fde6fbb7491093ea2028c542cfa6b8b6d65e1877e50c817809315979031a.jpg
余弦定理より
http://chart.googleapis.com/chart?chf=bg,s,FFFFFF&cht=tx&chl= c ^{2} =a ^{2} %2Bb ^{2} -2ab \cos C
でまずcosCを求めて、その値がキレイであればCの角度がわかりそうですね。
http://manapedia.jp/text/index?text_id=578
0926デフォルトの名無しさん
2014/08/18(月) 22:10:55.64ID:9zqJA8S0http://www.sousakuba.com/Programming/gs_two_vector_angle_1.png
2つのベクトルのなす角度 プログラミング例 (2次元)
http://www.sousakuba.com/Programming/gs_two_vector_angle.html
C言語Tips集 - 2 つのベクトルのなす角を計算する
http://www.c-tipsref.com/tips/math/o_included_angle.html
グラフィックス プログラミング > 2つのベクトルの成す角
http://www.hiramine.com/files/2d_vectorangle_01.gif
http://www.hiramine.com/programming/graphics/2d_vectorangle.html
0927デフォルトの名無しさん
2014/08/18(月) 22:19:08.77ID:DSQRQPi5θ回転後A',B'の直交座標のyが同じになるようにする
つまり以下の式を解く
A'y=B'y
Ar*sin(Aθ+θ)=Br*sin(Bθ+θ)
式の解き方?わかりません
0928デフォルトの名無しさん
2014/08/18(月) 22:46:58.87ID:ywvyTFFJθだけ回した結果 A->B の原点からの角度(線分ABとX軸とのなす角)もθだけ回る
A->B の原点からの角度を求めて: θo
θo = atan( (By-Ay) / (Bx-Ax) )
θo + θ = 0 or 180 になるθが回転角度じゃなイカ
0929デフォルトの名無しさん
2014/08/18(月) 23:21:30.68ID:OdlWZdI30930デフォルトの名無しさん
2014/08/19(火) 00:08:48.75ID:5mas1aYf0931デフォルトの名無しさん
2014/08/19(火) 00:29:35.44ID:MNYlxzwL回答に自信がないのか?
0932デフォルトの名無しさん
2014/08/19(火) 00:51:13.07ID:Sv8fjR130933デフォルトの名無しさん
2014/08/19(火) 14:23:59.70ID:Og8zC6Rj[2] 問題文:
氏名が"end"になるまで、氏名と点数を入力する。データがなくなったら点数の平均を算出
する。平均と各人の点数を比較し、平均より20点以上下回っていたら"***"、10点以上
下回っていたら"**"、1点以上下回っていたら"*"を備考欄に表示する。
_____________________________
氏名 点数 備考
---------------------
井上 70
田口 65 *
佐藤 100
田中 30 ***
=====================
[3.1] Windows 8
[3.2] Visual studio 2008
[3.3] C
0934デフォルトの名無しさん
2014/08/19(火) 14:53:43.93ID:MNYlxzwL0935デフォルトの名無しさん
2014/08/19(火) 18:02:03.30ID:5mas1aYfゆるキャラですか‥そろそろ新しい芸を探さないと‥三項演算子&リカーシブのコラボねたもこの前シクってしまったからなあ‥末尾再帰への無理解を指摘されて数年経つがいまだによくわかってないみたいだし‥
今はこれもまだよくわかっていないテンプレート様にすがってみるか‥マルチスレッドもまだ書きなれてないし‥
差分方程式(漸化式)と連続関数の世界とのつながりもまだよくわからないし‥そうそう,この前久しぶりにやったけど,数論オタクとかも結構いいなあ‥
C# は死んでもやらない‥どっとねっとライブラリ群とか,どうして classpash に準拠しなかったのかとか‥ライブラリこそ全世界統一標準化されるべきだよね‥
C#ネイティブコンパイラを作れ,と強要されたら,ヘルスバーグの後追いは光栄の極み,まだやる気がでるかもしれないが‥だいたいVMの存在価値ってなんだったの?‥
いずれにせよ精神分裂症の特効薬は未だに開発されていないし‥北極と南極の磁極が反転するくらいの天変地異が無い限り無理だろう‥
比較的メジャーな病気なのに,どうして未だに特効薬がないのだろう?
0936片山博文MZ次期CEO ◆T6xkBnTXz7B0
2014/08/19(火) 19:35:28.56ID:uNMWASio差分がΔf(n)=f(n+1)−f(n)ならば
ΣΔf(n)=(f(1)−f(0))+(f(2)−f(1))+
(f(3)−f(2))+…+(f(n+1)−f(n))
=f(n+1)−f(0)
となる。これが差分と和の関係だ。
差分を区間の幅で割れば傾きになる。それの和の極限をとれば積分になる。
0937デフォルトの名無しさん
2014/08/19(火) 20:08:01.18ID:uNMWASio0938デフォルトの名無しさん
2014/08/19(火) 20:36:51.94ID:QRfFbRrlttp://ideone.com/QNNagY
0939デフォルトの名無しさん
2014/08/19(火) 21:00:49.34ID:MNYlxzwL0940デフォルトの名無しさん
2014/08/19(火) 21:03:05.77ID:MNYlxzwL0941デフォルトの名無しさん
2014/08/19(火) 21:16:57.09ID:uNMWASio0942デフォルトの名無しさん
2014/08/19(火) 21:22:10.25ID:dlh50twD0943デフォルトの名無しさん
2014/08/19(火) 21:31:12.03ID:MNYlxzwL誰もお前の成りすまししたりする輩はいないから
0944デフォルトの名無しさん
2014/08/20(水) 08:25:23.08ID:hY37C+OWただのリーマン積分の解析ごくろう
0945デフォルトの名無しさん
2014/08/20(水) 08:28:11.51ID:hY37C+OWhttp://hissi.org/read.php/tech/20140819/TU5ZbHh6d0w.html
お前のQZ愛は入院レベル
0946デフォルトの名無しさん
2014/08/20(水) 09:50:23.55ID:4vpwnDwXエラーばっかりじゃねーか
0947デフォルトの名無しさん
2014/08/20(水) 17:33:23.26ID:ekRS8u1z0948片山博文MZ次期CEO ◆T6xkBnTXz7B0
2014/08/20(水) 19:51:38.06ID:pkgKe/2n0949デフォルトの名無しさん
2014/08/20(水) 20:04:46.41ID:ekRS8u1z0950デフォルトの名無しさん
2014/08/21(木) 09:44:12.64ID:MNO53ERI透明にする方法ないかなぁ・・・
0951デフォルトの名無しさん
2014/08/21(木) 14:10:02.74ID:JsL1zQzE0952デフォルトの名無しさん
2014/08/21(木) 17:02:44.55ID:SpHuFzyWコテを付ける付けないに関わらずバレちゃうもんなwww
0953デフォルトの名無しさん
2014/08/21(木) 19:01:39.82ID:SiLTEdjO0954デフォルトの名無しさん
2014/08/21(木) 19:06:58.63ID:JsL1zQzE0955デフォルトの名無しさん
2014/08/21(木) 20:26:05.76ID:ImdJ7VgvMACアドレスを変えるとIPアドレスも変わるプロバイダならお手軽にIDを変えることができるよ,QZが自治スレ炎上中に実演してたよ
0956デフォルトの名無しさん
2014/08/21(木) 20:27:13.73ID:JsL1zQzE0957デフォルトの名無しさん
2014/08/22(金) 04:48:20.11ID:VxDg5NY4http://hissi.org/read.php/tech/20140821/SnNMMXpRekU.html
0959デフォルトの名無しさん
2014/08/22(金) 17:13:31.14ID:kIg4HjrR0960デフォルトの名無しさん
2014/08/22(金) 17:33:53.78ID:Vf5GJ9qp0961デフォルトの名無しさん
2014/08/22(金) 19:23:23.20ID:VxDg5NY40963デフォルトの名無しさん
2014/08/23(土) 12:45:16.46ID:q/+BPTqG0964デフォルトの名無しさん
2014/08/23(土) 15:59:42.57ID:lZGcDzWA0965デフォルトの名無しさん
2014/08/23(土) 19:41:03.41ID:q/+BPTqG0966デフォルトの名無しさん
2014/08/23(土) 19:46:20.64ID:q/+BPTqG0967デフォルトの名無しさん
2014/08/23(土) 21:04:18.28ID:vo8Kg5N8[email protected]
0968デフォルトの名無しさん
2014/08/24(日) 01:46:15.34ID:pcDH3u1Py∈A∩B
⇔y=ax1+b=cx2+d (x1,x2∈Z)
⇔ax1-cx2=d-b (x1,x2∈Z)
⇔
gcd(a,c)はd-bの約数
かつ
az-cw=d-b
かつ
x1=z+{LCM(a,c)/a}t
x2=w+{LCM(a,c)/c}t
かつ
t∈Z
∴
0<a,cなので
i)gcd(a,c)がd-bの約数ならば
A∩B={az+b+LCM(a,c)t|t∈Z}={cw+d+LCM(a,c)t|t∈Z}
ここでz,wはaz-cw=d-bを満たす任意の数
LCM(a,b)はa,bの最小公倍数
ii)gcd(a,c)がd-bの約数でないならばA∩B=φ
0969デフォルトの名無しさん
2014/08/24(日) 02:04:22.41ID:jlCuRdJhまじでくっせえなあ
0970デフォルトの名無しさん
2014/08/24(日) 03:33:19.65ID:pcDH3u1PA∩B={20996+37795452| z∈Z}
正のものから小さい順に10個
20986,37816438,75611890,113407342,151202794,
188998246,226793698,264589150,302384602,340180054
検証PG
#include <stdio.h>
int main(void){
int a=9876,b=1234,c=7654,d=5678,n,count=0;
___for(n=0;n>=0 && count<10;n++){
______if( ((n-b)%a)==0 && ((n-d) % c)==0 ){
_________count++;
_________printf("%d\n",n);
______}
___}
___return 0;
}
0971デフォルトの名無しさん
2014/08/24(日) 03:34:41.31ID:pcDH3u1Pの間違いだった
0972デフォルトの名無しさん
2014/08/24(日) 04:04:32.42ID:jlCuRdJh>gcd(a,c)はd-bの約数
いいかえると「 b - d は gcd(a, c) の倍数」、というのは、この問題が解を持つ必要十分条件だ。
これを導きだしたのは評価してここまでで10点中の3点
しかしその後がなってない、
解を持つとき、それは必ず次の形になる、
LCM(a, c) × t + α
t は任意の整数
ここでこのαをどうやって定めるかについてはぜんぜん回答がなされていないのでは?
総得点:3/10
0974デフォルトの名無しさん
2014/08/24(日) 11:42:01.65ID:EYMdVqe7片対数グラフで直線だから既に指数関数的増加だった
2014年に、西アフリカでアウトブレイクした潜伏期間延長型エボラの死者は、2014年8月半ばで1000人。←今ココ
2014年12月上旬で1万人。
この時点で世界規模で空路シャットダウン開始、世界経済大混乱
2015年5月で10万人。
2015年9月で100万人。
この時点で、第二次世界大恐慌発生
2015年大晦日で1000万人。
ちなみに
http://ja.wikipedia.org/wiki/2014%E5%B9%B4%E3%81%AE%E8%A5%BF%E3%82%A2%E3%83%95%E3%83%AA%E3%82%AB%E3%82%A8%E3%83%9C%E3%83%A9%E5%A4%A7%E6%B5%81%E8%A1%8C
:「この地域には内戦、政府による搾取、テロが長い間続いており、それによって生まれた恐怖、貧困、猜疑心などがある。エボラは耐え難い騒音に付け加えられた一つのざわめきに過ぎない」
現地では
や る 気 は 皆 無
0975デフォルトの名無しさん
2014/08/24(日) 14:04:31.82ID:gaQQwBox0977デフォルトの名無しさん
2014/08/24(日) 14:42:54.30ID:jlCuRdJh0978デフォルトの名無しさん
2014/08/24(日) 14:59:41.09ID:jlCuRdJhくっさいスレ、早く閉鎖したほうがいい
自演はするわゴミコードは平気で出すし滅茶苦茶
0979片山博文MZ次期CEO ◆T6xkBnTXz7B0
2014/08/24(日) 15:10:20.65ID:CCdy5Qgjhttp://katahiromz.web.fc2.com/mathai/mathnote.pdf
0980デフォルトの名無しさん
2014/08/24(日) 15:20:10.80ID:jlCuRdJhもうこのスレ臭いだけだからたたもう
0981片山博文MZ次期CEO ◆T6xkBnTXz7B0
2014/08/24(日) 15:27:26.02ID:CCdy5Qgjうるせー市ね
0982デフォルトの名無しさん
2014/08/24(日) 15:29:37.13ID:ZJV6C+Ys0983デフォルトの名無しさん
2014/08/24(日) 15:38:37.59ID:jlCuRdJh0984デフォルトの名無しさん
2014/08/24(日) 17:13:43.05ID:aTNt9hlEお前はまっすぐ焼却炉まで歩いていって、ふた開けて中で座ってろ。
0985デフォルトの名無しさん
2014/08/24(日) 19:08:44.58ID:jlCuRdJh>>887 にバグがありましたので修正しました.主要にゼロ割の手当てです.
http://peace.2ch.net/test/read.cgi/tech/1313183984/770
>>979
>すでに解決しています。
>>887 は 8/17 のものですが,少なくとも零割一つとっても致命的,まだ他にもあるかもしれませんし‥
懸賞金の受け取りは辞退します.
pdf できちんとした証明をいただき感謝しています.ぱっと見ですけど,感想を書いてもいいですか?
・定理4 は素因数分解の一意性を前提としているのですが,これは「あたりまえではない」ので証明しておきたいと思うのはマニアックでしょうか?
・定理7 は個人的には,二変数のみで拡張ユークリッドの互除法を経由したいとおもっています.正直なところ,ここが一番難しくて苦しんでいるのです‥‥
・式34 と 式 35 の間の n_i = M / m_i と,いきなり剰余類の割り算を導入していますが,これは m_i が互いに素であることが前提なので,初見では飛躍を感じるだろうと思います.なお私も >>887 でこちらを採用しました.
・定理17 までは例えば >>877 にもあるのですが,それ以降は今回のお題のきちんとした証明ですね.とても参考になります.
0987デフォルトの名無しさん
2014/08/25(月) 01:18:19.12ID:FJ9UQc5Qおっと,よくみると >>986 にも間違いがありました.
× 式34 と 式 35 の間の n_i = M / m_i と,いきなり剰余類の割り算を導入していますが,
普通の割り算でしたね‥
式40, 式41 が肝なんですが‥こう眺めてみると‥やっぱりよくわからないな‥
n_i は m_i をの除く残りのn_1〜n_r のすべての積の最小公倍数なんですが,こんな表現もありなんですね‥
○n_i は m_i をの除く残りのm_1〜m_r すべての最小公倍数
もう寝よう‥
0990デフォルトの名無しさん
2014/08/25(月) 02:11:10.62ID:FJ9UQc5QQZ渾身の大射精キター
このスレ臭すぎ
0991デフォルトの名無しさん
2014/08/25(月) 02:21:10.88ID:famPiloDその時点でかなり無謀だと思うのだが....
0992デフォルトの名無しさん
2014/08/25(月) 02:24:11.73ID:FJ9UQc5Q0993デフォルトの名無しさん
2014/08/25(月) 02:34:00.51ID:5aaZ0ZHF主題は問題を解くことなんですが、今回は自明でないことが多く、証明をつけないといけない(あるいは証明も楽しもう)という趣旨だと思うのです
0994デフォルトの名無しさん
2014/08/25(月) 03:18:16.62ID:FJ9UQc5Qいつもこんな感じで潜伏してるんだろ?
0995デフォルトの名無しさん
2014/08/25(月) 08:00:28.38ID:5aaZ0ZHFhttp://hissi.org/read.php/tech/20140824/amxDdVJkSmg.html
http://hissi.org/read.php/tech/20140825/Rko5VVFjNVE.html
>>980
0996デフォルトの名無しさん
2014/08/25(月) 08:02:14.00ID:5aaZ0ZHF0997デフォルトの名無しさん
2014/08/25(月) 12:07:56.89ID:AbgNdg4zお前QZと友達かよ
0998オナヌ
2014/08/25(月) 12:20:35.37ID:famPiloD7x-4y=1 に整数解がある理由→7x(x=0,1,2,3)を4で割った時の余りが
すべて異なるので4で割って1あまるものがある→7x0=1+4y0となるx0,y0
がある→整数解を持つ
7x(x=0,1,2,3)を4で割った時の余りが異なる理由→余りが同じ0<=x0,x1<=3
(x0≠x1)で7(x0-x1)は4の倍数だが7と4の互いに素なのでx0-x1が
4の倍数だがこれはありえない
7x-14y=2に整数解がある理由→7x-14y=1に整数解があるから2x,2yという
整数解がある
7x-14y=28に整数解がある理由→7,14の最大公約数7で右辺が割れるから
両辺が割れてx-2y=4.最大公約数で割った数同士は互いに素だから
7x-4y=1,7x'-4y'=1を満たす4つの整数x,x',y,y'の関係
7(x-x')=4(y-y')=z
zは7,4の倍数だから7,4の公倍数で、7,4の最小公倍数の倍数
(公倍数は最小公倍数の倍数だから)
z=LCM(7,4)t (tは整数)
∴x'=x+(LCM(7,4)/7)t
0999デフォルトの名無しさん
2014/08/25(月) 12:34:19.07ID:5aaZ0ZHF「7 と 4」とか特定の数ではなくて,もっと一般的な話ができないかな?
a, b, とか文字を使ってさ‥
1000デフォルトの名無しさん
2014/08/25(月) 12:35:20.36ID:Mg2fQQvs10011001
Over 1000Threadもう書けないので、新しいスレッドを立ててくださいです。。。
レス数が1000を超えています。これ以上書き込みはできません。