C/C++の宿題片付けます 166代目
レス数が1000を超えています。これ以上書き込みはできません。
0001デフォルトの名無しさん
2013/10/16(水) 16:51:40.23気に入らない質問やその他の発言はスルーの方向で。
「著作」「違法」「Qz」はNGワード推奨。
【質問者へ】
回答者の便宜のため、質問の際は以下を行うことを推奨します。
・質問は【質問テンプレ】を利用してください。 >>2以降にあります。
・問題文は、出題されたまま全文を書いてください。
・問題文やコードをリンクするときは、一言内容にについて説明をつけましょう。
・計算問題は数式をあげ、どのような計算をするのか詳しく説明してください。
・エラーは、その詳細と発生した行を書きましょう。エラーメッセージはコピペしてください。
・後から問題に付け足しするのはコラー!!です。付け足しは作業を無駄にしがちです。
・なりすましを防ぐため、トリップを使ってください。名前欄に、「#」に続けて任意の文字列を
入力して投稿すると、その文字列を知らない他人に騙られることを防ぐことができます。
0002デフォルトの名無しさん
2013/10/16(水) 16:53:18.02[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つが混んでいる時以外はなるべく使わないで下さい
【C 関数検索 man on WWW】 http://www.linux.or.jp/JM/index.html
【過去ログ検索】 http://chomework.sakura.ne.jp/
【wiki】 http://www23.atwiki.jp/homework/
前スレ
C/C++の宿題片付けます 165代目
http://toro.2ch.net/test/read.cgi/tech/1370255305/
0003デフォルトの名無しさん
2013/10/16(水) 16:53:50.98・宿題の丸投げは問題文の著作権(著作権法 二十三条 公衆送信権)を侵害する。
・問題文には第三者の著作物が含まれている場合ある。
著作権法第三十五条の規定により第三者の著作物が利用されている場合もある。
問題丸投げは同条の規定外なので第三者の権利侵害にあたる
・丸投げを煽るテンプレは著作権侵害の教唆にあたる
・宿題丸投げはカンニングと同等の行為として学則による処罰の対象になる。
・悪質なカンニング行為は偽計業務妨害(刑法 二百三十三条)として捜査の対象になる。
・カンニング行為を煽っているテンプレはその教唆犯(刑法 六十一条)
以上、宿題丸投げスレは違法行為を煽り、テンプレ自体も犯罪行為であることが明確に
なったので、これ以上の継続は無用
0004デフォルトの名無しさん
2013/10/16(水) 16:55:22.12インターネットに投稿している者がいるとの連絡を受けました。
今回の課題は学生の理解を深める為に個別レポートとして出題されたものであり、
問題の解答そのものを丸投げすることは課題の趣旨に反する行為となります。
初回の講義でお話しましたように、ソースコードの書き方には個人差があり、
過去に提出したレポートなどから本人が書いたものかどうか判別することは十分可能です。
他人が書いたソースコードをレポートとして提出することは重大な不正行為に当たります。
提出されたレポートにおいて不正が確認された場合、本学の懲罰規程に従い厳しく処罰されます。
締切りはまだ時間もいくらか残されていますので、
この問題を投稿した、または参考に読んでいる学生には自分の力で
今回の課題に取り組んで頂けることを期待しています。
0005デフォルトの名無しさん
2013/10/16(水) 17:06:30.704 名前:あぼ〜ん[あぼ〜ん] 投稿日:あぼ〜ん
0007デフォルトの名無しさん
2013/10/16(水) 17:33:53.380008デフォルトの名無しさん
2013/10/16(水) 18:30:53.290009デフォルトの名無しさん
2013/10/16(水) 19:09:05.210010デフォルトの名無しさん
2013/10/17(木) 05:18:39.58984 :デフォルトの名無しさん:2013/10/16(水) 13:06:20.87
1 授業単元 プログラミング
2 問題 高さh、質量m、初速度vを入力して、物体の軌跡を計算し、グラフを描画(SVGファイルを出力)する。
http://ideone.com/sKEPtl
変更は受け付けない
0011デフォルトの名無しさん
2013/10/17(木) 14:27:01.45スタート地点のボールが四半円になってませんか?
0012デフォルトの名無しさん
2013/10/17(木) 14:43:43.16だから?
仕様も環境もまともに書かない奴にはこれで十分だ
0013デフォルトの名無しさん
2013/10/17(木) 14:52:20.810014デフォルトの名無しさん
2013/10/17(木) 15:16:54.81なんなの?
0015デフォルトの名無しさん
2013/10/17(木) 21:04:18.01回答に問題がまともかどうかは、別の話
0016デフォルトの名無しさん
2013/10/17(木) 21:05:02.630017デフォルトの名無しさん
2013/10/17(木) 22:37:46.95放物線は二次関数で一発でしょ。
y''=-g を時間で二回積分すればいい。
x'=0だから簡単。
0018デフォルトの名無しさん
2013/10/17(木) 22:55:25.50SVGはただのテキストファイルだぞ?
0019デフォルトの名無しさん
2013/10/17(木) 23:07:51.360020デフォルトの名無しさん
2013/10/18(金) 05:16:35.11だからそこまで言うなら自分が書けばいいだろと。
vcかどうかも、グラフに何が必要かも書いてない。
他人に頼むときにも適当な野郎には、適当な回答で十分だよ。
0021デフォルトの名無しさん
2013/10/18(金) 08:12:35.64しかも軌跡なんだから縦に直線引けば常に正しいはず
0022デフォルトの名無しさん
2013/10/18(金) 08:14:05.190024デフォルトの名無しさん
2013/10/18(金) 09:12:03.15>>10
>初速度v
だから、普通の頭で考えれば、3次元。
演習で簡易な設定なら2次元。
0025デフォルトの名無しさん
2013/10/18(金) 09:33:37.120026デフォルトの名無しさん
2013/10/18(金) 10:32:59.47ちがう
>>10 で正解
>>24 も言ってるように v はベクトル
0027デフォルトの名無しさん
2013/10/18(金) 10:35:02.56問題には「鉛直下向き」と表現されているのだから
ベクトルでも水平成分は0とみなすので縦に直線で良いんよ
0028デフォルトの名無しさん
2013/10/18(金) 10:40:08.14不勉強をお詫びします。
0029デフォルトの名無しさん
2013/10/18(金) 10:48:46.170030デフォルトの名無しさん
2013/10/18(金) 10:57:08.56小学校の先生が言ってた
0031デフォルトの名無しさん
2013/10/18(金) 10:58:48.140033デフォルトの名無しさん
2013/10/18(金) 12:40:21.55その理屈だと、鳥が邪魔する可能性についても記述が無いなw
0034デフォルトの名無しさん
2013/10/18(金) 18:41:43.89鳥がコリージョンを起こしたり、鳥のワーム自動除去機能や、繁殖期における干渉についても記述のほしいところだ
0035デフォルトの名無しさん
2013/10/18(金) 21:34:11.210036デフォルトの名無しさん
2013/10/18(金) 21:45:19.840037デフォルトの名無しさん
2013/10/18(金) 22:41:18.98結局 終端速度で落っこちてくる。
0038デフォルトの名無しさん
2013/10/19(土) 20:18:22.16RFCを参照だなw
0039デフォルトの名無しさん
2013/10/20(日) 03:01:38.45普通の頭ってなんだよw
用語としてなら>>26の言うとおりベクトルであって次元は関係ない
むしろ普通に考えたら水平投射の速さの事だろ
なのに鉛直下向き指定があるから矛盾しないように解釈すると>>21になる
空気抵抗とか鳥は指定ないから考慮したい人だけすればいい
0040デフォルトの名無しさん
2013/10/20(日) 09:16:45.57[2] 問題文(含コード&リンク): 金額を入力してお札のカウントをする。1万はman,5千はgo,千はsenとする。89000円と入力したらman=8 go=1,sen=4になるようにカウントする。
[3] 環境
[3.1] OS: windos8
[3.3] 言語: C
[4] 期限: ([2013 10 20 18時まで
全然分からなかったので、やさしい方教えてください。
0041デフォルトの名無しさん
2013/10/20(日) 09:36:25.69#include <stdio.h>
int main(void)
{
int kingaku, man, go, sen;/* 変数を定義 */
printf("金額=");/* 入力を促すための表示 */
scanf("%d", &kingaku);/* 金額を入力 */
man = kingaku / 10000;/* 1万円札の枚数。manはint(整数)のため、小数点以下は切捨てられる。 */
kingaku = kingaku % 10000;/* 10000で割った余り */
go = kingaku / 5000;/* 5000円札の枚数 */
kingaku = kingaku % 5000;/* 5000で割った余り */
sen = kingaku / 1000;/* 1000円札の枚数 */
printf("man=%d go=%d,sen=%d¥n", man, go, sen);
return 0;
}
0042デフォルトの名無しさん
2013/10/20(日) 09:59:45.66x=89000;
man=x/10000;
go=(x%10000)/5000;
sen=(x%10000)%5000;
解答2.
x=89000;
sen=x/1000;
go=sen/5; sen-=go*5;
man=go/2; go-=man*2;
0043デフォルトの名無しさん
2013/10/20(日) 10:31:56.63ありがとうございます。
#include <stdio.h>
int main(void) {
int kingaku, man, go, sen;
printf("Input Okane->");
scanf("%d", &kingaku);
man=kingaku/10000;
go=(kingaku%10000)/5000;
sen=(kingaku%10000)%5000;
printf("10000[en]=%d\n",man);
printf("5000[en]=%d\n",go);
printf("1000[en]=%d\n",sen);
return 0;
}
このようにやったらsenのあたいが4000になります(-_-;)
どこが違いますか?
0044デフォルトの名無しさん
2013/10/20(日) 10:36:10.510045デフォルトの名無しさん
2013/10/20(日) 10:39:00.96二千円札とかを忘れないで
0046デフォルトの名無しさん
2013/10/20(日) 10:46:04.91時間と位置のグラフなら放物線になるんじゃないの?
0047デフォルトの名無しさん
2013/10/20(日) 10:46:32.48そういうスレだから
嫌なら見るな
0048デフォルトの名無しさん
2013/10/20(日) 11:21:52.32嫌なら見るな
0049デフォルトの名無しさん
2013/10/20(日) 11:53:15.14グラフには縦軸や横軸や単位を書けと小学校の時に習うぞ
0050デフォルトの名無しさん
2013/10/20(日) 13:34:01.690051デフォルトの名無しさん
2013/10/20(日) 13:59:45.94なんで間違いって事になってんの?
0052デフォルトの名無しさん
2013/10/20(日) 16:25:51.240053デフォルトの名無しさん
2013/10/20(日) 16:35:04.20#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <time.h>
#define N 300
int i;
void BubbleSort(int *p,int *q,int *pp,int *qq);
int main (void)
{
int aa=0,bb=0,cc=0,idt[N];
srand((unsigned)time(NULL));
printf("ソート前\n");
for(i=0;i<N;i++)
{
idt[i]=rand()%N;
printf("%4d",idt[i]);
}
printf("\n\nソート後\n");
BubbleSort(&aa,&bb,&cc,idt);
0054デフォルトの名無しさん
2013/10/20(日) 16:35:37.50{
printf("%4d",idt[i]);
}
printf("\nwhile %6d\n",aa);
printf("for %6d\n",bb);
printf("if %6d\n",cc);
return 0;
}
0055デフォルトの名無しさん
2013/10/20(日) 16:36:07.89{
int loop=1,tmp;
while(loop)
{
loop=0;
for(i=0;i<N-1-*p;i++)
{
if(qq[i]>qq[i+1])
{
tmp=qq[i];
qq[i]=qq[i+1];
qq[i+1]=tmp;
*pp++;
loop=1;
}
*q++;
}
*p++;
}
return;
}
0056デフォルトの名無しさん
2013/10/20(日) 16:39:21.92表示するのは速度ともスカラーともベクトルとも言って無くね
0057デフォルトの名無しさん
2013/10/20(日) 16:43:44.470058デフォルトの名無しさん
2013/10/20(日) 17:19:25.84軌跡って言ってんだろ節穴か
0059デフォルトの名無しさん
2013/10/20(日) 17:46:53.48[2] 問題文(含コード&リンク):
10000秒を入力して、2時間46分40秒と表示させるにはどうすればよいですか?[3] 環境
[3.1] OS: windos8
ごめん win8 もってないんだ…
0061デフォルトの名無しさん
2013/10/20(日) 18:01:43.99テンプレ全部書けよw
0062デフォルトの名無しさん
2013/10/20(日) 18:10:50.180063デフォルトの名無しさん
2013/10/20(日) 18:18:09.55http://ideone.com/wqaNSy
0064デフォルトの名無しさん
2013/10/20(日) 18:19:33.02#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <errno.h>
#include <limits.h>
int input_str(char *buf, size_t size) {
if (!buf || !size || !fgets(buf, size, stdin)) return 0;
if ((buf = strchr(buf, '\n'))) *buf = '\0';
else while (getchar() != '\n');
return 1;
}
int input_num(int *num) {
unsigned long val;
char buf[16], *end;
if (!num || !input_str(buf, sizeof buf)) return 0;
val = strtoul(buf, &end, 10);
if (errno == ERANGE || !*buf || *end || val > INT_MAX) return 0;
*num = (int)val;
return 1;
}
int main(void) {
int h, m, s;
printf("何秒?");
if (input_num(&s)) {
h = s / 3600; s %= 3600;
m = s / 60; s %= 60;
printf("%d時間%d分%d秒\n", h, m, s);
}
return 0;
}
0065デフォルトの名無しさん
2013/10/20(日) 19:16:12.59スカラーなら速さ
0066デフォルトの名無しさん
2013/10/20(日) 19:19:34.90int main( int argc, char** argv ){
int sec = 0;
if( scanf("%d",&sec) == 1 ){
printf("%d時間%d分%d秒\n",
sec / (60*60),
( sec / 60 ) % 60,
sec % 60
);
}
return 0;
}
0067デフォルトの名無しさん
2013/10/20(日) 19:20:37.84問題文に記載がないという意味だろ
0068デフォルトの名無しさん
2013/10/21(月) 01:23:21.58高校出てなさそうw
0069デフォルトの名無しさん
2013/10/21(月) 02:20:00.98恥ずかしいやつだな
0070デフォルトの名無しさん
2013/10/21(月) 13:40:57.690071デフォルトの名無しさん
2013/10/21(月) 18:09:53.54http://ideone.com/fdN0fn
0072デフォルトの名無しさん
2013/10/21(月) 18:31:19.42http://ideone.com/jHrd59
0073デフォルトの名無しさん
2013/10/21(月) 18:51:00.850074デフォルトの名無しさん
2013/10/21(月) 19:22:03.980075デフォルトの名無しさん
2013/10/21(月) 19:33:44.890076デフォルトの名無しさん
2013/10/22(火) 00:44:59.16普通にコード書くより手間かかった力作なのは事実だろう。
0077デフォルトの名無しさん
2013/10/22(火) 01:03:24.22こういうのがあるね
0078デフォルトの名無しさん
2013/10/22(火) 01:14:03.12それを見つけてきて出力を整形する手間は59を解く手間と比較して小さいのか?って事だろ。
人によるけど、%dじゃ駄目で全角で吐けってなったあたりでもギリギリ釣り合わない程度じゃない?
0079デフォルトの名無しさん
2013/10/22(火) 01:35:59.01これを使ったと言っているんじゃなく、こういうものがあるということ。
もっと丁寧に探せば、簡単に使えるものが見つかるんじゃないかな?
0080デフォルトの名無しさん
2013/10/22(火) 01:38:05.820081デフォルトの名無しさん
2013/10/22(火) 02:55:03.03その労力、プライスレス
0082デフォルトの名無しさん
2013/10/22(火) 04:42:51.56フォント作者が偉大なのだ
0083デフォルトの名無しさん
2013/10/22(火) 04:58:29.14vflib は今はこちらだね http://www-masu.ist.osaka-u.ac.jp/~kakugawa/VFlib/
0084デフォルトの名無しさん
2013/10/22(火) 10:19:03.680085デフォルトの名無しさん
2013/10/22(火) 12:17:34.37フォントだよねっ!
0086デフォルトの名無しさん
2013/10/22(火) 13:35:10.330087デフォルトの名無しさん
2013/10/24(木) 19:46:40.980088デフォルトの名無しさん
2013/10/25(金) 00:17:57.150089デフォルトの名無しさん
2013/10/25(金) 09:43:01.00[2] 問題文(含コード&リンク):
f(x) = cosx - x^2 = 0 の近似解を求めるプログラムを作り、以下の問題を解け。
なお、二分法を用いること。
a = 0, b = 1 からa, b, c の値を求める。
|b - a| < 10^(−6) の条件を満たすまで実行し、
もしくはこの条件を満たさない場合は30 回実行し、各回のa, b, cの値をまとめる。
[3] 環境
[3.1] OS:Linux
[3.3] 言語:C
[4] 期限:2013年10月26日24:00まで
[5] その他の制限:特にありません。
お願いします。
0090デフォルトの名無しさん
2013/10/25(金) 12:03:44.69二分法ってこうやるんだっけ?
http://ideone.com/7tNmQk
0091デフォルトの名無しさん
2013/10/26(土) 10:03:06.15[2] 問題文(含コード&リンク):
[3] 環境
下のような指定ノードの次にノードを挿入する関数をカーソル版とポインタ版で作成しなさい。
カーソル版
void InsertAfter(List *list, Index idx, const Member *x);
ポインタ版
void InsertAfter(List *list, Node *p, const Member *x);
[3.1] OS: Windows
[3.3] 言語: C
[4] 期限:10/27
0092デフォルトの名無しさん
2013/10/26(土) 14:12:49.25(List・Index・Member・Node)の定義を教えてちょうだい
0093デフォルトの名無しさん
2013/10/26(土) 14:47:06.22挿入時にidx番目に挿入
挿入時にNodeの次or前に挿入
じゃないのか
0094デフォルトの名無しさん
2013/10/26(土) 14:57:18.90想像で物を言うな。いいかげんなやつだな。
0095デフォルトの名無しさん
2013/10/26(土) 15:02:14.48フィールド名がわからないから、定義ないと書けないだけで。
0096デフォルトの名無しさん
2013/10/26(土) 15:16:06.00だから想像だろ。無責任なことを言うな。
0097デフォルトの名無しさん
2013/10/26(土) 16:38:54.36>>91の不足分はこっちでこうなのか?と確認する必要があるだろ
0098デフォルトの名無しさん
2013/10/26(土) 17:03:59.54すみません。
List 線形リストを管理するための構造体。複数のメンバで構成されている。
Index カーソルの型。カーソルは単なる整数値なのでint型の同義語として定義。
Node 線形リストのノードを表すのが高Node。
0099デフォルトの名無しさん
2013/10/26(土) 17:06:00.40推測通りだったわけだが、今どんな気持ち?
0100デフォルトの名無しさん
2013/10/26(土) 17:06:02.32線形リストのノードを表すのが高Node。→線形リストのノードを表すのが構造体Node。
0101デフォルトの名無しさん
2013/10/26(土) 17:08:10.09メンバがたくさんって、メンバは勝手に定義していいのかよ
違うならきちんと定義の中身も書け
0102デフォルトの名無しさん
2013/10/26(土) 17:12:07.760103デフォルトの名無しさん
2013/10/26(土) 17:13:18.92全然違うだろうがw
0104デフォルトの名無しさん
2013/10/26(土) 17:22:09.72Memberはなにを表すの?
List・Index・Member・Nodeのプログラムの定義があるならそれ教えて
0105デフォルトの名無しさん
2013/10/26(土) 17:29:07.58> List 線形リストを管理するための構造体。複数のメンバで構成されている。
「複数のメンバで構成されている。」
暇潰しか
0106デフォルトの名無しさん
2013/10/26(土) 17:44:14.57すみませんMemberについてですが自作のヘッダファイルがありました。
https://www.dropbox.com/s/ipz9hw7abiwa5x3/Member.h
0107デフォルトの名無しさん
2013/10/26(土) 17:45:48.85https://www.dropbox.com/s/ipz9hw7abiwa5x3/Member.h
0108デフォルトの名無しさん
2013/10/26(土) 17:47:32.35なるほど。
List・Index・Nodeはある?
0109デフォルトの名無しさん
2013/10/26(土) 17:58:04.15何度もすみません
それぞれにヘッダファイルありました。
これで大丈夫でしょうか
https://www.dropbox.com/sh/p8egv8tnrmyjr6w/YDRNt2F3fc
0110デフォルトの名無しさん
2013/10/26(土) 18:09:20.27うん、おk。
探せば答えも出てくるんじゃないかと思えてきた。
あとは>>93とこのスレのみんなが頑張ってくれるよ。
0111デフォルトの名無しさん
2013/10/26(土) 19:02:08.640112デフォルトの名無しさん
2013/10/26(土) 19:12:59.100113デフォルトの名無しさん
2013/10/26(土) 19:47:59.00一時的な師弟関係・講師生徒関係の場で教わる側が偉いときってどういう時よ
0114デフォルトの名無しさん
2013/10/26(土) 19:50:53.66ここまで答えさせといて丸投げとか
やっぱり暇つぶしじゃないか
0115デフォルトの名無しさん
2013/10/26(土) 20:37:53.02ゴミが喋ってる…
0116デフォルトの名無しさん
2013/10/26(土) 20:49:23.32下っ端←書く
0117デフォルトの名無しさん
2013/10/26(土) 21:06:14.64AllocNodeとかSetNodeもあるんじゃねぇの?
>>91
>>110
参考書は http://www.sbcr.jp/products/4797366242.html これか。
> 付録1 章末問題の解答
・・・書籍に乗ってる問題そのものだった場合回答も付属してるだろうな。
0118デフォルトの名無しさん
2013/10/26(土) 21:08:23.620119デフォルトの名無しさん
2013/10/26(土) 21:41:54.750120デフォルトの名無しさん
2013/10/27(日) 03:50:48.37ピタゴラスの定理(C*2=A*2+B*2)を題材にした課題を解いて頂けませんか。
入力した斜辺Cの数値から辺Aと辺Bの長さを回答するプログラムを製作しろとのことです。
http://www.dotup.org/uploda/www.dotup.org4614357.png
一応ここまでやりまましたが、斜辺として適当な数字を入力した場合は正しい答えが表示されるのに対して、
本来ならエラーが表示されるべき数字を入力した場合は上の画像のように変な数字が表示されます。
数式の定義が良くないのかと思い、他に「a*a+b*b<c*c」なども試してみましたが、エラーが表示されるようになった代わりに正しい答えが表示されなくなりました。
私ではもう手に負えないので助けてください。
授業単元:プログラミング
問題文:上の説明を参照してください
環境:Mac OSX 10.9 Xcode 5.0.1
言語:C言語
期限:3日以内
制限:特に無し
0121デフォルトの名無しさん
2013/10/27(日) 03:59:15.580122デフォルトの名無しさん
2013/10/27(日) 04:01:14.880123デフォルトの名無しさん
2013/10/27(日) 04:13:02.41uint32_t
65536*65536=0
0124デフォルトの名無しさん
2013/10/27(日) 08:35:22.510125デフォルトの名無しさん
2013/10/27(日) 08:58:45.94すいません、どのように記述すべきか詳しく教えてください。
0126デフォルトの名無しさん
2013/10/27(日) 10:05:44.820127デフォルトの名無しさん
2013/10/27(日) 11:26:08.65[2] 問題文(含コード&リンク):
下のような指定ノードの次にノードを挿入する関数をカーソル版とポインタ版で作成しなさい。
カーソル版
void InsertAfter(List *list, Index idx, const Member *x);
ポインタ版
void InsertAfter(List *list, Node *p, const Member *x);
その章の全例題(演習問題込み)のソースです。
https://www.dropbox.com/sh/tmlnk4mnmduveh8/TW7DEZOIiW
[3.1] OS: Windows 7
[3.3] 言語: C
[4] 期限:10/27〜28
0128デフォルトの名無しさん
2013/10/27(日) 11:58:47.97ttp://ideone.com/s0zzSt
0129デフォルトの名無しさん
2013/10/27(日) 14:59:56.32void InsertAfter(List *list, Index idx, const Member *x)
{
Index i = GetIndex(list);
Index j = Retrieve(list, idx);
SetNode(&list->n[i], x, list->n[j].next);
list->n[j].next = i;
list->crnt = i;
}
void InsertAfter(List *list, Node *p, const Member *x)
{
Node *n = AllocNode();
SetNode(n, x, p->next);
p->next = n;
list->crnt = n;
}
0130デフォルトの名無しさん
2013/10/27(日) 18:27:31.04main() {
char t2[16];
char t1[16];
char s[] = "test-data0123456789";
t2[0] = 'S';
t2[1] = '\0';
int i = 0;
do {
t1[i] = s[i];
} while (s[i++] != '\0');
puts(t1);
puts(t2);
int* ptr = (int*)t1;
printf("%d\n", *ptr);
}
cの課題です
これの出力が
test-data0123456789
789
1953719668
となりますが、なぜputs(t2);がこのような出力になるのでしょうか?
t2は関係ないと思うのですが、、
それと最後の行は全くわかりません
どなたかよろしくお願いします。
0131デフォルトの名無しさん
2013/10/27(日) 19:00:12.58sは'\0'も含めて20文字。
t1のサイズは16文字。
書き込み先が溢れてt2のところにまで書き込まれるんでしょね。
1953719668は16進にすると74736574。
文字にするとtset。リトル何とかで逆になってるんでしょね。
0132デフォルトの名無しさん
2013/10/27(日) 20:05:32.94> } while (s[i++] != '\0');
のループをぬけた時の i の値は?
0133デフォルトの名無しさん
2013/10/27(日) 21:28:13.08動くことは動くんだけど計算式に#とか紛れ込んでておかしく表示される
ちょっとだれか教えてください。
#include<stdio.h>
#include<math.h>
int main(void){
double a,b,c,D,sd,x1,x2,x3;
printf("Input a, b and c ->");
scanf("%lf%lf%lf",&a,&b,&c);
a!=0;
D=(b*b)-(4*a*c);
sd=sqrt(D);
x1=(-1*b+sd)/(2*a);
x2=(-1*b-sd)/(2*a);
x3=(-b)/(2*a);
a!=0;
if(D>0){
printf("Imaginary Root\n");
printf("x=%.3f\n",x1);
printf("x=%.3f\n",x2);
}else if(D==0){
printf("Imaginary Root\n");
printf("x=%.3f\n",x3);
}else{
printf("Imahinary Root\n");
printf("x=%.3f + %.3f\n",(-1*b)/(2*a),sd/(2*a));
printf("x=%.3f - %.3f\n",(-1*b)/(2*a),sd/(2*a));
}
return 0;
}
0134デフォルトの名無しさん
2013/10/27(日) 22:23:56.83doubleは実数で、複素数ではないよ
0135デフォルトの名無しさん
2013/10/27(日) 23:54:04.21>D=(b*b)-(4*a*c);
0136デフォルトの名無しさん
2013/10/28(月) 00:57:03.190137136
2013/10/28(月) 01:16:02.68パケットを16進数で受信するプログラムは作成したのですが、
mapのプログラムがわかりません。
keyをstringで宛先IPアドレスと宛先ポート番号の組み合わせ
値をobject(他のクラスで継承)
のプログラムですお願いします。
0138デフォルトの名無しさん
2013/10/28(月) 01:32:38.70よく>>1-2を読め。
悪いが君の説明では何を作るのかを十分説明できていない。
0139デフォルトの名無しさん
2013/10/28(月) 08:12:07.88「宛先IPアドレスと宛先ポート番号の組み合わせ」をキー
「宛先IPアドレスと宛先ポート番号の組み合わせの現れた回数」を値
とする集合のことじゃないか?
0140デフォルトの名無しさん
2013/10/28(月) 08:16:02.56インターネットに投稿している者がいるとの連絡を受けました。
今回の課題は学生の理解を深める為に個別レポートとして出題されたものであり、
問題の解答そのものを丸投げすることは課題の趣旨に反する行為となります。
初回の講義でお話しましたように、ソースコードの書き方には個人差があり、
過去に提出したレポートなどから本人が書いたものかどうか判別することは十分可能です。
他人が書いたソースコードをレポートとして提出することは重大な不正行為に当たります。
提出されたレポートにおいて不正が確認された場合、本学の懲罰規程に従い厳しく処罰されます。
締切りはまだ時間もいくらか残されていますので、
この問題を投稿した、または参考に読んでいる学生には自分の力で
今回の課題に取り組んで頂けることを期待しています。
0141デフォルトの名無しさん
2013/10/28(月) 08:17:53.270142デフォルトの名無しさん
2013/10/28(月) 11:33:00.06[2] 問題文(含コード&リンク):
テキストファイルを作りそのなかに整数5個数字を入れるそのテキストファイルの中身を出力せよ
input関数とshow関数を作ること
コマンド引数にテキストファイルの名前を入れること
[3] 環境
[3.1] OS: (Windows/Linux/等々) windows
[3.3] 言語: (C/C++/どちらでも可 のいずれか) Cのみ
[5] その他の制限: ぽいんたーまで習っています
ファイルのポインターのところがわからず詰んでいます
お願いします
0143デフォルトの名無しさん
2013/10/28(月) 11:44:38.47テキスト作成、整数書き込みもプログラムがやるの?
0144デフォルトの名無しさん
2013/10/28(月) 12:07:10.33http://ideone.com/pqQ1dN
0145デフォルトの名無しさん
2013/10/28(月) 12:14:35.63言葉足らずでしたがテキストは作成済みで読み込んで表示だけです
>>144
ありがとうございます。
理解できるようにがんばります。
0146デフォルトの名無しさん
2013/10/28(月) 12:47:48.27パケットキャプチャじゃなくて、ソケットプログラム書いてるんだと予想。
0147デフォルトの名無しさん
2013/10/28(月) 13:23:07.96pcapがソケットプログラムじゃないと?
0148136-137
2013/10/28(月) 13:27:55.11>>139ありがとうございます。こちらの検討違いでした。
[1] 授業単元: 通信
[2] 問題文:
�@トラフィックを受信(16進数)->ここは出来た。
�Amapで、
key:宛先IPアドレスと宛先ポート番号の組み合わせ
値:宛先IPアドレスと宛先ポート番号の組み合わせの回数
key毎に値を出力するプログラム
[3] 環境
[3.1] OS:Linux
[3.3] 言語:C++
�Aを今月中に仕上げたいが、全くわかりません。
どなたかお願いします。救済を求めます。
0149デフォルトの名無しさん
2013/10/28(月) 13:44:50.12色々間違えた忘れてくれ
0150デフォルトの名無しさん
2013/10/28(月) 13:50:58.74言ってる意味がよくわからないが・・・こういうことか?
// 初期化時
std::map<std::string,int> received;
// 受信の度に
if( received.count(key) == 0 ){
received[key] = 1;
} else {
received.count[key] += 1;
}
// 全受信完了後
for( std::map<std::string,int>::iterator it = received.begin();
it != received.end();
it++
){
std::cout << it->first << " = " << it->second << std::endl;
}
0151デフォルトの名無しさん
2013/10/28(月) 14:14:48.76[2]AVL木の挿入プログラムを考える。
・AVL木の実装は以下のようにせよ。
struct node{
int key;
int info; /* データを格納する */
struct node *left;
struct node *right;
int balance; /* 1であれば左の部分木が -1であれば右の部分木が高い 0であれば等しい */
};
typedef struct node NODE;
・挿入の実装は以下のようにせよ。
int insert(int target,Datatype info,NODE **p,int *grown){
*grown=0;
新規にノードを追加したならば、grownを1にしてreturn
grownが1なら木の高さが増えたことを意味する。つまり再構成が必要になる場合がある
}
[3]OS: Windows
[3.2]言語:C言語
[4]期限:(2013年10月28日23時59分まで)
[5]その他の制限:特になし
よろしくお願いします。
0152136-137
2013/10/28(月) 14:22:46.90回答ありがとうございます。
この回答に近いものを感じます。
私の問題に対する理解が乏しいゆえ
招いた疑問ですので、私は理解を深めてから
また投稿したいと思います!失礼しました!
0153デフォルトの名無しさん
2013/10/28(月) 15:54:33.95>int info; /* データを格納する */
>int insert(int target,Datatype info,NODE **p,int *grown){
どっち?
0154デフォルトの名無しさん
2013/10/28(月) 15:58:10.42ここだけじゃないや、他にもいろいろとおかしい。
問題や、付属のソースはきちんと写してください。
0155デフォルトの名無しさん
2013/10/28(月) 16:10:12.86問題文を違法アップロードさせる犯罪教唆は今すぐやめろ
0156デフォルトの名無しさん
2013/10/28(月) 17:56:27.78int insert(int target,int info,NODE **p,int *grown){
こっちです
0157デフォルトの名無しさん
2013/10/28(月) 17:58:48.86問題、ソースもこれで全部です
なのでまったくわからず悩んでいます
0158151
2013/10/28(月) 18:01:52.03おそらくこんな感じになると思うのですが・・・
int insert(int target,int info,NODE **p,int *grown){
*grown=0;
if(*p==NULL){
*p=malloc(sizeof(NODE));
(*p)->key=target;
(*p)->info=info;
(*p)->left=NULL;
(*p)->right=NULL;
*grown=1;
}else if(target<(*p)->key){
}else if(target>(*p)->key){
}else{
puts("ERROR!");
}
}
0159桃白白 ◆9Jro6YFwm650
2013/10/28(月) 19:52:29.85おk、よくわかった。
桃白白いま修行中だからリンクが貼れないんだけどこれで。
ideone.com/JdCRlP
0160デフォルトの名無しさん
2013/10/28(月) 20:17:26.81ありがとうございます。
助かりました。
0161デフォルトの名無しさん
2013/10/29(火) 19:24:57.39[2] 問題文(含コード&amp;リンク):
f(x)=cosx-x^2=0の近似解をニュートン法を用いて求めるプログラムを作成し、
以下を実行せよ。
x0 = 1(n = 0) から始めたときの xn+1 の値を求めよ。
|xn+1 − xn| / (|xn |)<10^(-6)を満たすまで実行し
(この条件を満たさない場合は30回実行し)、
各回のxn+1 の値を表にまとめろ。
[3] 環境
[3.1] OS:Linux
[3.3] 言語: どちらでも可
[4] 期限:2013年10月30日am9:00まで
[5] その他の制限: 特にありません。
セントOSを習い始めたばかりで手も足も出ずに困っています。
どなたかよろしくお願いします。
0162デフォルトの名無しさん
2013/10/29(火) 19:33:16.36http://ideone.com/fzD7RP
0163デフォルトの名無しさん
2013/10/29(火) 20:28:48.22表にまとめろってこうやるんかな
http://ideone.com/Db83n8
0164デフォルトの名無しさん
2013/10/29(火) 20:59:54.00ありがとうございます。
表にまとめるのは、
出た値をテキスト化してもよいようなので、
表にまとめず、値だけを出すパターンも教えていただけますか?
何回もすみません、お願いします。
0165デフォルトの名無しさん
2013/10/29(火) 21:35:58.79http://ideone.com/Ahtful
0166デフォルトの名無しさん
2013/10/29(火) 21:38:32.53http://ideone.com/D8WXDa
0167デフォルトの名無しさん
2013/10/29(火) 21:39:34.66http://ideone.com/wnebAV
0168デフォルトの名無しさん
2013/10/29(火) 21:53:04.88http://ideone.com/sjoOaa
0169デフォルトの名無しさん
2013/10/29(火) 22:23:42.31どなたかお願いします…
0170デフォルトの名無しさん
2013/10/30(水) 00:18:02.09static double func(double x)
{
// ここにニュートン法の式を書く
return x;
}
int main (void)
{
int n;
double x, tmp, d;
x = 0.0;
for (n=0; n<30; n++) {
tmp = x;
x = func(x);
printf("%d\t%f\n", n+1, x);
d = (x - tmp) / tmp;
if (d < 0) d = -d;
if (d < 1e-6) break;
}
return 0;
}
0171デフォルトの名無しさん
2013/11/05(火) 21:05:55.22実行結果の出力をqueueを使用し
st1
st2
st3
st4
st5
としなさい。
下のプログラムを改良してください。
[3.3] 言語: C++
#include <iostream>
#include <queue>
using namespace std;
int main(){
queue<string> dataQueue;
string st1,st2,st3,st4,st5;
dataQueue.push(st1);
dataQueue.push(st2);
dataQueue.push(st3);
dataQueue.push(st4);
dataQueue.push(st5);
while( !dataQueue.empty() ) {
cout << "" << dataQueue.front() << endl;
dataQueue.pop();
}
return 0;
}
コンパイルは通るのですが出力されません。
よろしくお願いします。
0172デフォルトの名無しさん
2013/11/05(火) 21:10:48.24st1~5に何か入れないと
0173デフォルトの名無しさん
2013/11/05(火) 21:13:41.65そのソースを改造しろってこと?
http://ideone.com/4ZMpqb
こういうこと?
0174171
2013/11/05(火) 21:17:16.30ありがとうございます。
それだけのことでずっと悩んでました。
0175デフォルトの名無しさん
2013/11/05(火) 21:26:59.12[3] 環境
[3.1] OS:Linux
ソケットプログラムで各パケットのプロトコルを取得して
queueに入れるサンプルプログラムを作ってください。
0176デフォルトの名無しさん
2013/11/05(火) 21:37:05.99プロトコルってどの層のプロトコルよ
それによって書く内容全然違うんだが
0177デフォルトの名無しさん
2013/11/05(火) 21:38:27.65わかんないなら引っ込んでろ
0178175
2013/11/05(火) 21:42:35.32TCP/IPです。
通信終了後ででも構いませんがよろしくお願いします。
0179175
2013/11/05(火) 21:47:26.06トランスポート層?
インターネット層?
とにかく欲しいプロトコルはTCPとUDPです。
IPv6の場合も含めてお願いします。
申し訳ございません親切に。
0180175
2013/11/05(火) 21:48:26.760181デフォルトの名無しさん
2013/11/05(火) 22:33:22.91え?TCP/IPってポート番号での判断じゃないの?
TCPかUDPのどちらかが知りたいということか?
それとももっと高度にパケットのデータ部での判別?
とりあえずソケットから取得するのは書いたけど
処理の流れが全然わからないのでこれ以上は無理
http://ideone.com/U0O6qi
0182175
2013/11/05(火) 23:29:41.30ありがとうございます。
はい。16進数でパケットを収集する際に
p[]がパケットの中身の配列で
p[0]からp[13]までがヘッダ部で
p[14]からp[33]までがデータ部として
p[12]とp[13]でIPv4なのかIPv6なのか判別して
p[23]?でプロトコルの判断をすると思います
そのプロトコルをキューに入れて出力させるプログラムが欲しいのです。
なかなか私の理解力のなさのため何言ってるか理解しがたいと思いますが
どうぞよろしくお願いします。
0183デフォルトの名無しさん
2013/11/06(水) 00:41:22.35理解力のなさっていうか、説明力のなさ。
パケットキャプチャプログラムは普通なら、
ソケットプログラムなんて大雑把な呼び方しないよ。
出題条件によってはパケットの生バイナリファイルだったり、
tcpdumpファイルに対してソレをやれって問題の可能性もある。
出題文を正しくて転写していないのなら正しく転写すべし。
0184デフォルトの名無しさん
2013/11/06(水) 05:00:40.15君、>>136-137か?
>・後から問題に付け足しするのはコラー!!です。付け足しは作業を無駄にしがちです。
これよく読んで、情報小出しにする上に思い込みで説明するのもやめんしゃい
それTCP/IPじゃなくてMACフレームの解析だし、ソケットも全然介してない
http://ideone.com/ovfalF
俺はもうこれでやりまへん
0185デフォルトの名無しさん
2013/11/06(水) 07:54:39.24できないならなら引っ込んでろ。
0186デフォルトの名無しさん
2013/11/06(水) 08:11:51.84パケットの流れの観察から使われているプロトコルを調べるというのは
相当に高度な話しで、参考書かサイトで学習するべきだと思うが。
0187デフォルトの名無しさん
2013/11/06(水) 08:38:00.500188デフォルトの名無しさん
2013/11/06(水) 08:38:04.57そりゃお前の事だろ。
プログラミングどころか、煽りも荒らしも適当で、
一体お前に何ができるんだ。
0189デフォルトの名無しさん
2013/11/06(水) 08:43:20.21お前よりは何でもできる
バカの日本語修正してやる事とか
0190デフォルトの名無しさん
2013/11/06(水) 08:45:21.96現実味がないということ。
0191デフォルトの名無しさん
2013/11/06(水) 09:04:44.03地獄に落ちろ
0192デフォルトの名無しさん
2013/11/06(水) 12:21:13.230193デフォルトの名無しさん
2013/11/06(水) 14:24:50.930194デフォルトの名無しさん
2013/11/09(土) 15:27:12.02[2] 問題文(含コード&リンク):
�@1〜100の整数のうち「6の倍数」の個数を表示するプログラムを作成しなさい、ただし、for文とif文を用いて作成すること
�A1次元配列を用いて5人分の数学の得点を100点満点で入力し、「数学の得点の最小値と最大値」を画面表示、およびファイルに書き出すプログラムを作成しなさい。ただし、書き出し用ファイル名は「sugaku.txt」にしなさい。
[3] 環境
[3.1] OS: (Windows/Linux/等々)windows home vista
[3.2] コンパイラ名とバージョン: (gcc 3.4 VC 6.0等)borland
[3.3] 言語: (C/C++/どちらでも可 のいずれか)C言語
[4] 期限: ([yyyy年mm月dd日hh:mmまで] または [無期限] のいずれか)2013年11月12日02:00まで
[5] その他の制限: (どこまで習っているか、標準ライブラリは使ってはいけない等々)
2か月前からC言語を習い始めました。いまはまだポインタまでの範囲をかじった程度であまり理解もできていません。
とくに制限はありません。
どうかよろしくお願いいたします。
0195デフォルトの名無しさん
2013/11/09(土) 20:15:32.11{
int i,cnt;
for(i=0,cnt=0;i<=100;i++){
if(i % 6 == 0)
cnt++;
}
printf("%d個", cnt);
}
×void main()
○int main()
0197デフォルトの名無しさん
2013/11/09(土) 20:40:12.11×だという根拠を出してくれ
0198デフォルトの名無しさん
2013/11/09(土) 20:43:38.50http://ideone.com/WhPY5e
そうだねえ,C99/5.1.2.2.1 では "or in some other implementation-defined manner." という一節が残されているから
△void main()
○int main()
くらいにしとく,スタートアップの実装しだいだし
0200デフォルトの名無しさん
2013/11/09(土) 20:48:06.94�@if分使ってない
0201デフォルトの名無しさん
2013/11/09(土) 21:14:39.68int f(int d,int i,int n){
return ((i<n)?f(d,i+1,n):0)+((i%d)?0:1);
}
int main(){
if(1)for(;;){printf("%d\n",f(6,1,100));return 0;}
}
0202デフォルトの名無しさん
2013/11/09(土) 21:40:27.94×だという根拠を出してくれ
0203デフォルトの名無しさん
2013/11/09(土) 21:48:20.94int main(void)
{
int point[5], min, max, num, input;
FILE *fw;
for(num=0;num<5;num++) {
printf("%d人目の得点 > ", num + 1); scanf("%d", &input);
if(0 <= input && input <= 100) {
point[num] = input;
if(num == 0) {
min = point[num]; max = point[num];
}
else {
if(point[num] < min) {
min = point[num];
}
else if(max < point[num]) {
max = point[num];
}
}
}
else {
num--;
}
}
printf_s("最少値 = %d\n最大値 = %d\n", min, max);
fopen_s(&fw, "sugaku.txt", "w");
fprintf_s(fw, "最少値 = %d\n最大値 = %d\n", min, max);
fclose(fw);
return 0;
}
0204デフォルトの名無しさん
2013/11/09(土) 21:51:31.19忘れてた
最後のprintf_sとfprintf_sはprintfとfprintfにしてね
0205デフォルトの名無しさん
2013/11/11(月) 22:32:17.38>>198
>>199
>>200
>>201
>>204
>>196
わざわざありがとうございました。
自分でももう一度復習したいと思います。
0206デフォルトの名無しさん
2013/11/12(火) 11:45:56.71[2] 問題文(含コード&リンク):切頂六面体、切頂八面体をプログラムを用いて描け
[3] 環境
[3.1] OS:
[3.2]
[3.3] 言語:指定はありません
[4] 期限: 2013年11月12日 15:00迄
[5] その他の制限: 制限は特にありません、
プロセスごと知ることが出来れば有り難いのですが、
結果のみ(=多面体の図示)でも構いません。
よろしくお願いします。
0207デフォルトの名無しさん
2013/11/12(火) 14:09:33.82http://blog.livedoor.jp/magneo/archives/576312.html
0208デフォルトの名無しさん
2013/11/12(火) 14:27:10.45ありがとうございます!
プログラム自体はないでしょうか…?
厚かましくてすみません。
0209デフォルトの名無しさん
2013/11/12(火) 14:36:08.440210デフォルトの名無しさん
2013/11/12(火) 14:40:13.600211デフォルトの名無しさん
2013/11/12(火) 19:42:36.271.正多面体の書き方
http://www.youtube.com/watch?v=OxVY6nLSSN0
http://ameblo.jp/sansu-suisui/entry-11403626116.html
http://blog.livedoor.jp/afsoft/archives/51249638.html
http://www1.ocn.ne.jp/~km31/sei4.htm
http://www1.ocn.ne.jp/~km31/seitamen.htm
http://www1.ocn.ne.jp/~km31/d3drawings.htm
http://www1.ocn.ne.jp/~km31/seitamen_ouyo.htm
http://www1.ocn.ne.jp/~km31/sph_division.htm
2.頂点の切り方
0212デフォルトの名無しさん
2013/11/13(水) 10:24:54.82ttp://www.tamasoft.co.jp/pepakura/download/polygons/
ttp://www.tamasoft.co.jp/pepakura/
ttp://mitani.cs.tsukuba.ac.jp/polyhedron/
ttp://flashs.goraikou.com/gallery/polyhedron3d/polyhedronFrame.html
ttp://people.freebsd.org/~maho/mxico/Tamentai.html
ttp://homepage1.nifty.com/metatron/zone-20/zone20to.htm
ttp://www.georgehart.com/
ttp://gratrix.net/polyhedra/
ttp://www.mathconsult.ch/showroom/unipoly/
ttp://www.math.technion.ac.il/S/rl/
ttp://www.math.technion.ac.il/S/rl/kaleido/
ttps://github.com/kloffy/kaleido
0213デフォルトの名無しさん
2013/11/14(木) 01:49:53.38[2] 問題文(含コード&リンク):
オンライン海戦ゲーム
10×10マス(A-Jと1-10で指定)のマップ上に戦艦を配置する。
戦艦はゲーム開始時にランダムで配置されるようにする。
配置される戦艦は
・全長4 - 1隻
・全長3 - 2隻
・全長2 - 3隻
とし、縦、横いずれかの向きで配置されるものとする。(マスで重複しないこと)
プレイヤーはサーバに接続し、どちらが先にすべての戦艦を沈没させられるかを競う。
プレーヤー数は2人で、攻撃はターン制で行い、持ち時間は15秒。
戦艦にあたった場合は「*」で表示、外れた時には「-」で表示する。
先にすべての戦艦に攻撃を当てたプレイヤーを勝ちとする。
==イメージ==
[1][2][3][4][5][6][7][8][9][10]
[A] - * * * * - -
[B] - - - - * -
[C] - *
[D] - -
…行数の関係で省略します
[3] 環境
[3.1] OS: windows
[3.2] コンパイラ名とバージョン: borland c++ 5.5.1 , Visual C++ 2013
[3.3] 言語: C
[4] 期限: 2013/11/14/10:45
[5] その他の制限: 一般的な参考書でいうと構造体のあたりまで理解してますが、サーバとの通信の知識が全くありません
0214デフォルトの名無しさん
2013/11/14(木) 02:35:50.10移動できるのかとかどう攻撃するのかとか全く書かれてなくて組みようがないんだけど
0215デフォルトの名無しさん
2013/11/14(木) 03:13:14.70下記URLのコードでetherパケットがダンプできるので、それを利用するといけそう。
イーサパケット以降の判定はtcpdumpが分かりやすい。
http://www.fenix.ne.jp/~thomas/memo/linux_raw_packet/netdump.c
--- netdump.c.org 2001-11-29 18:42:22.000000000 +0900
+++ netdump.c 2013-11-14 03:06:48.669756002 +0900
@@ -207,6 +207,7 @@ print_ethaddr(p)
{
int i;
struct ethhdr *eh;
+ u_short h_proto;
eh = (struct ethhdr *)p;
@@ -218,6 +219,16 @@ print_ethaddr(p)
printf("%02x:", (int)eh->h_dest[i]);
printf("%02x", (int)eh->h_dest[i]);
printf("\n");
+
+ // from ether_print and ether_encap_print in tcpdump
+ h_proto = ntohs(eh->h_proto);
+ switch (h_proto) {
+ case 0x86dd: printf("IPv6\n"); /** do something tcp / udp */ break;
+ case 0x0800: printf("IPv4\n"); /** do something tcp / udp */ break;
+ case 0x0806: printf("ARP\n"); break;
+ case 0x8035: printf("RARP\n"); break;
+ default: printf("%04x\n", h_proto); break;
+ }
}
0216デフォルトの名無しさん
2013/11/14(木) 03:36:14.890217デフォルトの名無しさん
2013/11/14(木) 03:40:49.53すみません。
移動がどういうものかよくわかりませんが、的である戦艦は移動しません。
サーバが配置した戦艦に対し、2人のプレイヤーが交互に攻撃します。
tp://www.sousakuba.com/flash-games/battleship-game.html
↑このサイトの、戦艦マップが1つだけという感じです。
攻撃は、座標指定で行います。
例えば(A,10)や(C,6)と言った感じです。
課題を板書したので書き損じてるところがあると思いますが、よろしくお願いします。
0218デフォルトの名無しさん
2013/11/14(木) 03:44:45.34> ・全長4 - 1隻
> ・全長3 - 2隻
> ・全長2 - 3隻
> とし、縦、横いずれかの向きで配置されるものとする。(マスで重複しないこと)
これ実装するだけでもめんどくせえ。放置がデフォ。
0219デフォルトの名無しさん
2013/11/14(木) 03:45:39.91ごめん海戦ゲーム自体初めて知ったわw
面白そうだから作ってみるよ
0220デフォルトの名無しさん
2013/11/14(木) 04:01:27.12ありがとうございますm(_ _)m
0221デフォルトの名無しさん
2013/11/14(木) 07:38:01.44戦艦が動かない訳がないだろ
こんな海戦ゲームがあるから
日本は戦争に負けたんだよ
0222デフォルトの名無しさん
2013/11/14(木) 08:05:46.200223デフォルトの名無しさん
2013/11/14(木) 08:09:56.14そのサイトのURLリロードするたびに戦艦の配置変わるな
なかなか手が込んでる
0224デフォルトの名無しさん
2013/11/14(木) 10:35:06.37http://www.lutanho.net/svgvml3d/platonic.html
ソース
http://www.lutanho.net/svgvml3d.zip
0225デフォルトの名無しさん
2013/11/14(木) 18:38:10.39[2] 問題文(含コード&リンク):クリップボードの履歴の最新50個を表示するプログラムの作成
[3] 環境
[3.1] OS:Windows
[3.2] コンパイラ名とバージョン:visualstudio2010
[3.3] 言語:どちらでも可
[4] 期限:2013年/11/15 10:00
[5] その他の制限: 特になし
よろしくお願い致します。
0226デフォルトの名無しさん
2013/11/14(木) 21:06:38.14データの種類は区別なしで最新50個?
0227デフォルトの名無しさん
2013/11/14(木) 21:10:40.25テキストのみです。
画像等は含みません。申し訳ありませんでした。
0228デフォルトの名無しさん
2013/11/14(木) 23:53:26.27そんだけの事のような気がするが、まちがってたらご麺。
0229デフォルトの名無しさん
2013/11/15(金) 00:22:06.11Windows APIです。
0230デフォルトの名無しさん
2013/11/15(金) 01:20:14.270231デフォルトの名無しさん
2013/11/15(金) 02:04:34.10クリップボードの内容が変更されたときに WM_CLIPBOARDUPDATE が飛んでくるので
GetClipboardData する
0232デフォルトの名無しさん
2013/11/15(金) 04:24:29.74ありがとうございます。
少し自分なりに頑張ってみます。
0233デフォルトの名無しさん
2013/11/15(金) 13:31:20.250234デフォルトの名無しさん
2013/11/15(金) 21:35:47.60Ctrl+Vをグローバルフックでキャッチして連番で貼り付けられるようにしたりした
貼り付けるたびに数値が増えるようにしたりとか
また似たようなことができればいいんだけど
0235 ◆QZaw55cn4c
2013/11/15(金) 21:47:08.28http://wisdom.sakura.ne.jp/system/winapi/win32/win90.html
http://wisdom.sakura.ne.jp/system/winapi/win32/win92.html
うごくかどうかはしらん
0236デフォルトの名無しさん
2013/11/16(土) 00:51:18.75[2] 問題文(含コード&リンク):ポイント版リスト構造等
https://www.dropbox.com/sh/jj54ga1txj12wxq/gQBHXuod_A
[3] 環境
[3.1] OS:Windows
[3.3] 言語:c言語
[4] 期限:11/23
詳細はリンクにある通りです。よろしくお願いします。
0237デフォルトの名無しさん
2013/11/17(日) 01:36:19.43http://ideone.com/01PdZo
0238デフォルトの名無しさん
2013/11/17(日) 06:21:26.44重複でスレ汚しだが、せっかくなので
http://ideone.com/7UwiWH
>>237
({[と)}]の対応がなかなかスマートにいかないですよね。
strchrがやはり良いのかな。
0239デフォルトの名無しさん
2013/11/17(日) 10:04:18.52http://www.dotup.org/uploda/www.dotup.org4669245.pdf.html
http://www.dotup.org/uploda/www.dotup.org4669248.txt.html
pass: obokata
ついでに、ITを積極的に活用する優秀な学生がいるので表彰するよう一関高専に推薦メッセージを送っておきました
0240デフォルトの名無しさん
2013/11/17(日) 11:10:38.85[2] 問題文(含コード&リンク): http://ideone.com/2viXY6 forかwhileをつかって
[3] 環境
[3.1] OS: (Windows8
[3.2] visual studiopro 2012
[3.3] 言語: (C
[4] 期限: (11月17日18時まで]
だれか教えてくださいよろしくお願いします。
0241デフォルトの名無しさん
2013/11/17(日) 11:23:35.64お、キモくていい感じ。
どんどんやりなさいっ!
0242デフォルトの名無しさん
2013/11/17(日) 11:34:33.39http://www.ichinoseki.ac.jp/office/syllabus/syst/4/S5412.pdf
後期第6週 スタック・キュー
http://www.ichinoseki.ac.jp/office/kisoku/k-gakusoku/gakusoku.pdf
(表彰)
第38条 学生として表彰に値する行為があるときには,表彰することがある。
0243デフォルトの名無しさん
2013/11/17(日) 11:46:31.01学校の公式twitter
http://twitter.com/#!/ichinoseki_nct
0244デフォルトの名無しさん
2013/11/17(日) 12:03:55.770245デフォルトの名無しさん
2013/11/17(日) 14:22:38.12http://ideone.com/AJISBn
0246デフォルトの名無しさん
2013/11/17(日) 14:34:03.470247デフォルトの名無しさん
2013/11/17(日) 14:42:32.800248デフォルトの名無しさん
2013/11/17(日) 15:02:02.49表彰されれば入社後の待遇よくなるよ
就活これからなら有利になること間違いなし!!
0250デフォルトの名無しさん
2013/11/17(日) 17:51:32.61ありがとうございます。
これをfor文のみでやるとどうなりますか?
0251デフォルトの名無しさん
2013/11/17(日) 18:04:13.601から100までの整数で、奇数だけの合計、偶数だけの合計、総合計をもとめよ;
y=5x+8の値をxが0〜10まで、1ずつ増やした時のyの値
10^3+30^3+50^3+70^3+90^3の計算
#include <stdio.h>
typedef enum { EVEN = 0, ODD, ALL } sum_types;
int get_sum(int min, int max, sum_types type){
int i, sum = 0;
for(i=min; i<max+1; i++){
if(type == EVEN || type==ODD) sum += i%2==type ? i : 0;
else sum += i;
}
return sum;
}
int pow_int(int x, int y){
int i, mult = 1;
for(i=0; i<y; i++) mult *= x;
return mult;
}
int main(void){
int i, j, pow_sum = 0;
fprintf(stdout, "1) %d\n", get_sum(1, 10, EVEN));
fprintf(stdout, "2) Odd: %d, Even: %d, All: %d\n", get_sum(1, 100, ODD), get_sum(1, 100, EVEN), get_sum(1, 100, ALL));
fprintf(stdout, "3) y = 5x + 8;\n");
for(i=0; i<=10; i++) fprintf(stdout, "y=%d [x=%d]\n", 5*i+8, i);
for(j=10; j<=90; j+=20) pow_sum += pow_int(j, 3);
fprintf(stdout, "4) 10^3+30^3+50^3+70^3+90^3 = %d\n", pow_sum);
return 0;
}
0252デフォルトの名無しさん
2013/11/17(日) 18:08:37.55forのみでやっとるがな
0253デフォルトの名無しさん
2013/11/17(日) 18:14:21.230254デフォルトの名無しさん
2013/11/17(日) 18:18:31.820255デフォルトの名無しさん
2013/11/17(日) 18:34:44.37そうです。 ifとかelseをつかわないでやることはできますか?
0256デフォルトの名無しさん
2013/11/17(日) 18:54:08.33http://ideone.com/02Tgb4
0257デフォルトの名無しさん
2013/11/17(日) 19:14:10.26当たり前か
0258デフォルトの名無しさん
2013/11/17(日) 19:26:04.21http://ideone.com/9kMPLJ
//使用
//・int変数
//・for文、return文、ブロック文
//・演算子&&、<=、==、%、+、*、=
//・printf関数
//制限
//・三項演算子
//・関数
//・if文
for(j=0;j==0 && 条件;j=j+1)がif(条件)の代わり。
0259デフォルトの名無しさん
2013/11/17(日) 19:32:24.53#include <stdio.h>
int main(void){
int i,a,b,x;
for(a=0,i=0;i<=10;i+=2)
a+=i;
printf("1から10までの整数のうち、偶数の合計=%d\n",a);
for(a=0,i=1;i<=100;i+=2)
a+=i;
printf("1から100までの整数で、奇数だけの合計=%d\n",a);
for(b=0,i=0;i<=100;i+=2)
b+=i;
printf("1から100までの整数で、偶数だけの合計=%d\n",b);
printf("総合計=%d\n",a+b);
for(x=0;x<=10;x++)
printf("x=%d �y=%d\n",x,5*x+8);
printf("10^3+30^3+50^3+70^3+90^3=%d",10*10*10+30*30*30+50*50*50+70*70*70+90*90*90);
return 0;
}
0260デフォルトの名無しさん
2013/11/17(日) 19:56:44.00おいっ!
0261デフォルトの名無しさん
2013/11/17(日) 21:05:50.74・ ・ return 0; ここのところをfor文にするとどうなりますか?
}
0262デフォルトの名無しさん
2013/11/17(日) 21:15:36.59printf("10^3+30^3+50^3+70^3+90^3=%d",10*10*10+30*30*30+50*50*50+70*70*70+90*90*90);
0263デフォルトの名無しさん
2013/11/17(日) 21:19:10.28for(i=10;i<=90;i+=20)
a+=(i*i*i);
printf("%d",a);
0264デフォルトの名無しさん
2013/11/17(日) 21:27:47.71for (i = 10; i <= 90; i += 20) {
for (a = b = 1; a <= 3; a++)
b *= i;
x += b;
}
printf("10^3+30^3+50^3+70^3+90^3=%d\n", x);
0265デフォルトの名無しさん
2013/11/17(日) 22:45:24.18こちらが一番簡単そうなのでこちらにします
ありがとうございました
0266デフォルトの名無しさん
2013/11/17(日) 23:24:15.800267デフォルトの名無しさん
2013/11/17(日) 23:32:16.740268デフォルトの名無しさん
2013/11/18(月) 08:15:23.12ttp://ideone.com/HgaMeC
0269デフォルトの名無しさん
2013/11/18(月) 08:20:07.010270デフォルトの名無しさん
2013/11/18(月) 09:10:10.75ほんとに感謝です。
0271デフォルトの名無しさん
2013/11/18(月) 12:04:04.26いえいえ、どういたしまして。推薦メッセージもっと送ろうか?
一関高専に推薦メッセージを送ろう!!
学校の公式twitter
http://twitter.com/#!/ichinoseki_nct
0272デフォルトの名無しさん
2013/11/18(月) 12:10:48.340273デフォルトの名無しさん
2013/11/18(月) 20:05:30.20#include <stdio.h>
int main(void){
int i;
double t, e = 0;
for (t = i =1; t<1e6;i++) {
e += 1/ t;
t *= i;
printf("n=%d-> e=%.6f\n", i, e);
}
return 0;
}
n=1-> e=1.000000
n=2-> e=2.000000
n=3-> e=2.500000
n=4-> e=2.666667
n=5-> e=2.708333
n=6-> e=2.716667
n=7-> e=2.718056
n=8-> e=2.718254
n=9-> e=2.718279
n=10-> e=2.718282
実行例をn=1->e=2.00000にするにはどこをかえればいいですか?
0274デフォルトの名無しさん
2013/11/18(月) 20:08:16.400275デフォルトの名無しさん
2013/11/18(月) 20:28:45.10誰が何に?
0276デフォルトの名無しさん
2013/11/18(月) 20:35:51.80ありがとうございます。
t,i=1;
e += 1/ t;
t*= i;
while(t<1e6){
printf("n=%d-> e=%.6f", i, e);
i++;
}
今度はwhile文でやりたいのですが、上のようにやったら、エラーになります。
どうすればよいと思います?
0277デフォルトの名無しさん
2013/11/18(月) 20:49:26.550278デフォルトの名無しさん
2013/11/18(月) 21:04:06.36>t,i=1;
0279デフォルトの名無しさん
2013/11/19(火) 00:55:12.29アラシはスルー。
0280デフォルトの名無しさん
2013/11/19(火) 02:39:57.43printf("\b"); か…
0281デフォルトの名無しさん
2013/11/19(火) 09:55:48.110282デフォルトの名無しさん
2013/11/19(火) 18:47:19.64int main(void){
・ ・ int i,a,b,x;
・ ・ for(a=0,i=0;i<=10;i+=2)
・ ・ ・ ・ a+=i;
・ ・ printf("1から10までの整数のうち、偶数の合計=%d\n",a);
・ ・ for(a=0,i=1;i<=100;i+=2)
・ ・ ・ ・ a+=i;
・ ・ printf("1から100までの整数で、奇数だけの合計=%d\n",a);
・ ・ for(b=0,i=0;i<=100;i+=2)
・ ・ ・ ・ b+=i;
・ ・ printf("1から100までの整数で、偶数だけの合計=%d\n",b);
・ ・ printf("総合計=%d\n",a+b);
・ ・ for(x=0;x<=10;x++)
・ ・ ・ ・ printf("x=%d ・y=%d\n",x,5*x+8);
・ ・ printf("10^3+30^3+50^3+70^3+90^3=%d",10*10*10+30*30*30+50*50*50+70*70*70+90*90*90);
・ ・ return 0;
}
これ全部whileでやってみたのですが、できませんどうすればよいですか?
0283デフォルトの名無しさん
2013/11/19(火) 18:52:16.950284デフォルトの名無しさん
2013/11/19(火) 19:04:07.580285デフォルトの名無しさん
2013/11/20(水) 01:33:33.560286デフォルトの名無しさん
2013/11/20(水) 05:58:22.830287デフォルトの名無しさん
2013/11/20(水) 19:03:27.970288デフォルトの名無しさん
2013/11/20(水) 20:28:31.970289デフォルトの名無しさん
2013/11/20(水) 22:24:00.480290デフォルトの名無しさん
2013/11/22(金) 20:26:16.10[2] 問題文(含コード&リンク): 100000
110000
111000
111100
111110
111111
とこのように表示させるプログラム。
[3] 環境
[3.2] visual studiopro 2012
[3.3] 言語: (C )
[4] 期限: (11月23日18時まで]
だれか教えてくださいよろしくお願いします。
出来ればifは使わず、forとwhile文両方お願いします。
0291デフォルトの名無しさん
2013/11/22(金) 20:41:35.74http://codepad.org/bkYyFdTm
0292デフォルトの名無しさん
2013/11/22(金) 20:47:24.71#include <stdio.h>
int main(void)
{
int i;
for(i=0;i<6;i++)
{
printf("%.6s\n", "11111100000"+(5-i));
}
return 0;
}
0293デフォルトの名無しさん
2013/11/22(金) 20:51:33.77ありがとうございます。
elseとか使わずにfor文はfor文、while文はwhile文と分けてやるとどうなりますか?
0294デフォルトの名無しさん
2013/11/22(金) 20:54:41.76http://codepad.org/5viJjxNS
0295デフォルトの名無しさん
2013/11/22(金) 23:28:44.09トリッキー
0296デフォルトの名無しさん
2013/11/22(金) 23:40:16.18簡単なものでいいので、C言語で配列を使ったプログラムお願いします
0297デフォルトの名無しさん
2013/11/22(金) 23:42:38.45#include <stdio.h>
int main()
{
int i, a, b = 100000;
for (a = i = 0; i < 6; i++) printf("%d\n", a += (b /= 10));
return 0;
}
0298デフォルトの名無しさん
2013/11/22(金) 23:45:54.3811000
11100
11110
11111
11111
0299デフォルトの名無しさん
2013/11/23(土) 02:20:35.35むかしからあるチャチャだけど、
#include <stdio.h>
int main(void){
printf("100000\n");
printf("110000\n");
printf("111000\n");
printf("111100\n");
printf("111110\n");
printf("111111\n");
return 0;
}
じゃだめなのかい?
だめなんだろうなぁw
0300デフォルトの名無しさん
2013/11/23(土) 03:04:10.750301デフォルトの名無しさん
2013/11/23(土) 03:12:07.75#include <stdio.h>
int main(void)
{
int a[] = { 0, 1 }, i;
for (i=0; i<sizeof(a)/sizeof(int); i++)
printf("a[i]: %d\n", a[i]);
}
0302デフォルトの名無しさん
2013/11/23(土) 03:14:28.75#include <stdio.h>
int main()
{
char *p;
for (p = "100000\n110000\n111000\n111100\n111110\n111111\n"; *p;) putchar(*p++);
return 0;
}
0303デフォルトの名無しさん
2013/11/23(土) 03:32:43.30#include <stdio.h>
int main()
{
int n=~0777777;
for (; n /= 8;)
printf("%o\n", n & 0111111);
return 0;
}
0304デフォルトの名無しさん
2013/11/23(土) 08:02:52.11int i;
for (i = 0; i < 7; i++) {
ss[i] = '1';
puts(ss);
}
0305デフォルトの名無しさん
2013/11/23(土) 18:46:14.92ダレイクトに分かりやすいコードのほうが開発効率は良い気がしますがね
0306デフォルトの名無しさん
2013/11/23(土) 19:21:12.040307デフォルトの名無しさん
2013/11/23(土) 22:19:42.840308デフォルトの名無しさん
2013/11/23(土) 22:35:42.80中身の品質は負けてるんだろうな
0309デフォルトの名無しさん
2013/11/23(土) 22:57:36.57*
**
***
****
*****
******
*******
********
*********
**********
ってのもいい問題かと
0310デフォルトの名無しさん
2013/11/23(土) 23:11:25.54char ss[11] = {0};
int i;
for (i = 0; i < 10; i++) {
ss[i] = '*';
puts(ss);
}
0311デフォルトの名無しさん
2013/11/23(土) 23:32:37.83int main(void)
{
int i;
for (i=0; i<10; i++)
printf("%s\n", "**********" + 10-1 - i);
return 0;
}
0313デフォルトの名無しさん
2013/11/24(日) 02:44:42.62#include <stdio.h>
int main(int ac, char **av)
{
char num[][8] = {
{ 0x00, 0x1c, 0x26, 0x2a, 0x2a, 0x32, 0x1c, 0x00 },
{ 0x00, 0x08, 0x18, 0x08, 0x08, 0x08, 0x3e, 0x00 }};
int i, j, k, m;
for(i = 0; i < 6; ++i)
for(j = 0; j < sizeof(num[0]) / sizeof(num[0][0]); ++j){
for(k = 0; k < 6; ++k)
for(m = 0x80; m > 0; m >>= 1)
putchar(num[i - k >= 0 ? 1 : 0][j] & m ? '*' : ' ');
putchar('\n');
}
return 0;
}
0314デフォルトの名無しさん
2013/11/24(日) 07:17:59.783項演算子は消せる
#include <stdio.h>
int main(int ac, char **av)
{
char num[][8] = {
{ 0x00, 0x1c, 0x26, 0x2a, 0x2a, 0x32, 0x1c, 0x00 },
{ 0x00, 0x08, 0x18, 0x08, 0x08, 0x08, 0x3e, 0x00 }};
int s[] = { 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1 };
int i, j, k, l, m;
for(i = 0; i < 6; ++i)
for(j = 0; j < sizeof(num[0]) / sizeof(num[0][0]); ++j){
for(k = 0; k < 6; ++k)
for(l = 0, m = num[s[i - k + 6]][j]; l < 8; ++l, m = (m << 1) & 0x0ff)
putchar(" *"[(m & 0x80) >> 7]);
putchar('\n');
}
return 0;
}
0315デフォルトの名無しさん
2013/11/24(日) 08:46:01.380316デフォルトの名無しさん
2013/11/24(日) 09:13:33.47どこかにトリッキーな部分があるの?
0317デフォルトの名無しさん
2013/11/24(日) 09:50:36.930318デフォルトの名無しさん
2013/11/24(日) 10:36:02.07追加の効果(保守性等)を得るために行数は増やしても問題ない。
重要なのはコードの行数ではない。メンテナンス性だ。
って先生が言ってた
0319デフォルトの名無しさん
2013/11/24(日) 10:52:27.190320デフォルトの名無しさん
2013/11/24(日) 12:08:37.12#include <string>
int main()
{
std::string s("**********");
for (auto itr = s.begin(); itr < s.end(); itr++) {
for (auto itr2 = s.begin(); itr2 <= itr; itr2++)
std::cout << *itr2;
std::cout << std::endl;
}
}
0321デフォルトの名無しさん
2013/11/24(日) 13:21:18.02int main()
{
int i, a, b = 100000;
for (a = i = 0; i < 6; i++) printf("%d\n", a += (b /= 10));
return 0;
}
この式をwhileに変換するとどうなりますか?
0322デフォルトの名無しさん
2013/11/24(日) 13:39:06.85int main()
{
int i, a, b = 100000;
while(1){
for (a = i = 0; i < 6; i++) printf("%d\n", a += (b /= 10));
break;
}
return 0;
}
0323デフォルトの名無しさん
2013/11/24(日) 13:40:04.020324デフォルトの名無しさん
2013/11/24(日) 13:43:07.91#include <stdio.h>
int main()
{
int i=0, a=0, b = 100000;
while (i++ < 6) printf("%d\n", a += (b /= 10));
return 0;
}
0325デフォルトの名無しさん
2013/11/24(日) 13:49:09.55ありがとうございます。
0326デフォルトの名無しさん
2013/11/24(日) 13:56:24.030327デフォルトの名無しさん
2013/11/24(日) 16:44:19.890328デフォルトの名無しさん
2013/11/25(月) 08:01:05.04[2] 問題文(含コード&リンク):
a) 4桁の西暦を入力として受け取り
b) その年のすべての日について次の演算を行い
c) 小計 = 年の上位2桁 + 年の下位2桁 + 月 + 日
(例)
20 + 13 + 11 + 25 = 69
d) 各日の小計を大きいものから順に
20131231 = 76
...
20131125 = 69
...
20130101 = 35
のように表示させるプログラムを作りなさい
[3] 環境
言語:C
ライブラリ:Cの標準関数のみを用いること
[4] 期限: (11月25日18時まで]
よろしくお願いします
0329デフォルトの名無しさん
2013/11/25(月) 08:04:17.9020131001 = 44
20130110 = 44
のように年月日を8桁の数字にしたときの大きいものから順に表示してください
0330デフォルトの名無しさん
2013/11/25(月) 09:39:03.45http://ideone.com/hVjX5j
0331デフォルトの名無しさん
2013/11/25(月) 10:36:07.61http://codepad.org/DchMOPgZ
0332デフォルトの名無しさん
2013/11/25(月) 11:02:59.79ファイルにこう書いてあって(0.4102は31桁目から)
ifstream fin ;
double v ;
char buf[31] ;
fin.getline (buf, 31) ;
fin >> v ;
数字が読めないんですがどうすればいいですか?
0333デフォルトの名無しさん
2013/11/25(月) 11:11:46.490334デフォルトの名無しさん
2013/11/25(月) 11:29:37.83ありがとうございました
0335デフォルトの名無しさん
2013/11/25(月) 13:24:31.700336デフォルトの名無しさん
2013/11/25(月) 17:32:31.440337デフォルトの名無しさん
2013/11/25(月) 17:54:32.82fin >> v; の前に fin.clear(); でクリアすれば読める。
istream::get にはそういう動作は無いってこと。
0338デフォルトの名無しさん
2013/11/25(月) 18:52:01.78ありがとうございます。なぜ読めないか理由を含めて理解出来ました。
実際のところ欲しいのは数字だけなので、ignore()なんてのも使えるみたいです。
0339デフォルトの名無しさん
2013/11/26(火) 04:22:10.39結構実力練成と復習の意味があるのね。
他の人はどうするかとか。
0340デフォルトの名無しさん
2013/11/26(火) 05:08:42.060341デフォルトの名無しさん
2013/11/26(火) 06:56:32.79西暦を9999年まで想定するなど、出題の範囲外の思考(雑念)が
必要になったりしないか。
0342デフォルトの名無しさん
2013/11/26(火) 07:38:05.89西暦0000年でも9999年でも動作するメリットがある
しかし順番に出力する際にかなりの部分のCPUリソースが無駄な比較で消費されている
たとえば2013年12月の配列にはpivot==45以上の値しか現れないんだから
そういうのは除外する工夫をすればもっと速くなるだろうね
とか言っておけば良いのか
0343デフォルトの名無しさん
2013/11/26(火) 07:53:18.90不正入力で除外すべきでは?
>順番に出力する際にかなりの部分のCPUリソースが無駄な比較で消費されている
time_t <-> struct tm の相互変換は無駄じゃないのか?
>2013年12月の配列にはpivot==45以上の値しか現れない
46 以上 じゃね?
0344デフォルトの名無しさん
2013/11/26(火) 07:56:45.24一度出力された月日は二度と出力されることは無い訳で、
削除マークを付けて次の比較のときはスキップすればもっと速くなる罠。
0345デフォルトの名無しさん
2013/11/26(火) 08:39:04.04漏れにはおもいっきり片寄ってるように見える
0346デフォルトの名無しさん
2013/11/26(火) 09:57:40.80int main(void)
{
int year, n, i, j, a[13] = {0, 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31};
scanf("%d", &year);
n = year / 100 + year % 100;
if(year % 4 || ((year % 100 == 0) && year % 400)) a[2] = 29;
for(i = 12 + 31; i >= 1 + 1; i--) for(j = 12; j >= 1; j--) if(a[j] && i == j + a[j]) printf("%d%02d%02d = %d\n", year, j, a[j]--, i + n);
return 0;
}
0347デフォルトの名無しさん
2013/11/26(火) 10:23:53.860348デフォルトの名無しさん
2013/11/26(火) 10:35:24.94int main(void)
{
int c = 0, year, n, i, j, a[13] = {0, 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31};
scanf("%d", &year);
n = year / 100 + year % 100;
if(year % 4 || ((year % 100 == 0) && year % 400)) a[2] = 29;
for(i = 12 + 31; i >= 1 + 1; i--) for(j = 12; j >= 1; j--, c++) if(a[j] && i == j + a[j]) printf("%d%02d%02d = %d\n", year, j, a[j]--, i + n);
printf("%d\n", c);
return 0;
}
2013 で c == 504 だけど
c == 365 まで減らせない?
0349デフォルトの名無しさん
2013/11/26(火) 10:53:49.590350デフォルトの名無しさん
2013/11/26(火) 10:55:26.63>>348の修正で
for(j = 12; j >= 1 && i <= j + a[j] + 2; j--, c++)
にしたら453までは減ったけど
365まで減らすのはもっと工夫が必要だと思うが
そこまですると逆に計算量増える気もする
0351デフォルトの名無しさん
2013/11/26(火) 11:00:31.300352デフォルトの名無しさん
2013/11/26(火) 11:01:56.210353デフォルトの名無しさん
2013/11/26(火) 11:02:54.78ローマ皇帝だってことを知ってて突っ込み待ちのレス乞食乙w
0354デフォルトの名無しさん
2013/11/26(火) 11:06:57.24昔のえろいひと
0355デフォルトの名無しさん
2013/11/26(火) 11:10:36.17税金ごまかすためだったか
月末の支払日伸ばすためだったか
0356デフォルトの名無しさん
2013/11/26(火) 14:45:57.430357デフォルトの名無しさん
2013/11/26(火) 14:57:38.59どちらも
2013 のときに 366 行
2012 のときに 365 行
出力されていますね
0358デフォルトの名無しさん
2013/11/26(火) 15:25:01.910359デフォルトの名無しさん
2013/11/26(火) 15:42:15.89#include <stdio.h>
int main(void)
{
int a[366][2] = {0}, b[13] = {0, 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31}, i, j, k, c, m, n, year;
scanf("%d", &year);
if(year % 400 == 0 || (year % 4 == 0 && year % 100)) b[2] = 29;
n = year / 100 + year % 100;
for(i = 31, c = 0; i >= 1; i--, c++) a[i][0] = 1200 + i, a[i][1] = 12 + i;
for(i = 11; i >= 1; i--) {
for(j = b[i]; j >= 1; j--, c++) {
m = i + j;
for(k = c; m > a[k - 1][1]; k--) a[k][0] = a[k - 1][0], a[k][1] = a[k - 1][1];
a[k][0] = i * 100 + j, a[k][1] = m;
} }
for(i = 0; i < c; i++) printf("%d%04d = %d\n", year, a[i][0], n + a[i][1]);
return 0;
}
0360デフォルトの名無しさん
2013/11/26(火) 16:29:41.42sleepソートなら、366回。
0361デフォルトの名無しさん
2013/11/26(火) 17:03:33.89衝突回避用には要素12の配列とかで
0362デフォルトの名無しさん
2013/11/26(火) 17:30:20.93#include <stdio.h>
int main(void)
{
int h[44][13] = {0};
int year, n, i, j, m[13] = {0, 31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31};
scanf("%d", &year);
n = year / 100 + year % 100;
if(year % 4 || (!(year % 100) && year % 400)) m[2]--;
for(j = 12; j >= 1; --j) for(i = m[j]; i >= 1; --i) h[j + i][j] = j * 100 + i;
for(i = 12 + 31; i >= 1 + 1; --i) for(j = 12; j >= 1; --j) if(h[i][j]) printf("%04d%04d = %d\n", year, h[i][j], i + n);
return 0;
}
0363デフォルトの名無しさん
2013/11/26(火) 17:35:46.460364デフォルトの名無しさん
2013/11/26(火) 17:52:00.80int main(void)
{
int h[44][14] = {0};
int m[13] = {0, 31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31};
int c = 0, d = 0, year, n, i, j, k;
scanf("%d", &year);
n = year / 100 + year % 100;
if(year % 4 || (!(year % 100) && year % 400)) m[2]--;
for(j = 12; j >= 1; --j)
for(i = m[j]; i >= 1; --i){
k = j + i;
h[k][j] = j * 100 + i;
if(!h[k][0] || h[k][0] > j) h[k][0] = j;
if(h[k][13] < j) h[k][13] = j;
}
for(i = 12 + 31; i >= 1 + 1; --i)
for(j = h[i][13]; j >= h[i][0]; --j, ++c)
if(h[i][j]) printf("%04d%04d = %d, %d\n", year, h[i][j], i + n, ++d);
printf("%d\n", c);
return 0;
}
0365デフォルトの名無しさん
2013/11/26(火) 18:46:26.92if(!h[k][0] || h[k][0] > j) h[k][0] = j;
毎回成立する(真)ので比較自体無駄
代入だけでいいよ
0366デフォルトの名無しさん
2013/11/26(火) 19:19:30.52もはや printf の前の if(h[i][j]) は不要かと思ったが
取ると可笑しくなるな
0367デフォルトの名無しさん
2013/11/27(水) 07:57:01.23ほんとうにありがとうございました
あと2つは何なんでしょう?
0368デフォルトの名無しさん
2013/11/27(水) 08:06:13.190369デフォルトの名無しさん
2013/11/27(水) 08:20:47.22for (i = 12 + 31; i >= 1 + 1; i--)
for (m = (i >= 12+1) ? 12 : i - 1; m >= 1 && (d = i - m) <= 31; m--, c++)
if (d <= a[m])
printf("%d%02d%02d = %d\n", year, m, d, i + n);
0370デフォルトの名無しさん
2013/11/27(水) 08:40:20.62あともう少し!
0371デフォルトの名無しさん
2013/11/27(水) 08:41:52.86エコカーで省エネですね
わかります
0372デフォルトの名無しさん
2013/11/27(水) 09:30:59.740373デフォルトの名無しさん
2013/11/27(水) 11:07:07.81(d = i - m) <= a[m]
だと何でだめなんだっけ
0374デフォルトの名無しさん
2013/11/27(水) 11:45:18.87>349ー350
阿保ばっかだな
0375デフォルトの名無しさん
2013/11/27(水) 11:56:21.482月が28日までのとき
i=31の時の12/19,11/20,...,3/28,2/29,1/30
の2/29でループを抜けるので1/30が表示されない
>>370
(2/29,)2/30,2/31,4/31,6/31,9/31,11/31
をifで除外してるから、それを効率的なコードでforの条件に加えることができれば...
0376デフォルトの名無しさん
2013/11/27(水) 12:12:32.73もし別の惑星で
太陽系みたいな周期のところに
同じような周期を持つ月を持つ惑星があって
同じような文明の偽人類がいたとして
やっぱり2月が28日29日だったりするのかな
0377デフォルトの名無しさん
2013/11/27(水) 12:20:29.000378デフォルトの名無しさん
2013/11/27(水) 12:28:44.41for (i = 12 + 31; i >= 1 + 1; i--)
for (m = (i >= 12+1) ? 12 : i - 1; m >= 1 && (d = i - m) <= a[m] + feb[m]; m--, c++)
if (d <= a[m])
printf("%d%02d%02d = %d\n", year, m, d, i + n);
コスト減ったかどうかは謎
0379デフォルトの名無しさん
2013/11/27(水) 12:39:16.40int a[13] = {0, 31, 30, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31};
に設定しといて
for(i = 12; i >= 0; --i) feb[i] = a[i];
feb[2] = 29;
if(year % 4 || (!(year % 100) && year % 400)) feb[2]--;
の準備してから
for(m = (i >= 12+1) ? 12 : i - 1; m >= 1 && (d = i - m) <= a[m]; m--, c++)
if(d <= feb[m])
printf("%d%02d%02d = %d\n", year, m, d, i + n);
だとどうかな
準備してるから失格かな
0380デフォルトの名無しさん
2013/11/27(水) 12:42:23.030381デフォルトの名無しさん
2013/11/27(水) 12:45:15.98トータルで比較に回数は確実に減ってるっしょ
0382デフォルトの名無しさん
2013/11/27(水) 12:46:27.250383デフォルトの名無しさん
2013/11/27(水) 12:51:18.150384デフォルトの名無しさん
2013/11/27(水) 12:51:30.30トータルで考えなよ。
1回しか使わないなら、前準備しないのも有り。
0385デフォルトの名無しさん
2013/11/27(水) 12:58:54.95for(j = m; j >= 1; j--) {
if(i == j + a[j]) {
printf("%d%02d%02d = %d\n", year, j, a[j], i + n);
if(--a[j] == 0) m--;
} } }
0386デフォルトの名無しさん
2013/11/27(水) 13:05:51.890387デフォルトの名無しさん
2013/11/27(水) 13:13:10.740388デフォルトの名無しさん
2013/11/27(水) 13:20:33.290389デフォルトの名無しさん
2013/11/27(水) 15:06:19.20http://ideone.com/bxX5sZ
0390デフォルトの名無しさん
2013/11/28(木) 00:22:29.88for (m = (i >= 12+1) ? 12 : i - 1; m >= 1 && ((d = i - m) <= a[m] || m == 2 && i <= 2+30 && (m--, d++)); m--, c++)
printf("%d%02d%02d = %d\n", year, m, d, i + n);
0391デフォルトの名無しさん
2013/12/02(月) 00:27:43.43[2] 問題文(含コード&リンク):http://ideone.com/WaZoDn
[3] 環境
[3.2] visual studio
[3.3] 言語: C
[4] 期限:12/3 12時
0392デフォルトの名無しさん
2013/12/02(月) 01:54:49.43ttp://ideone.com/73bLNY
0393 ◆QZaw55cn4c
2013/12/02(月) 04:31:19.50http://codepad.org/TFERbD9d
0394デフォルトの名無しさん
2013/12/02(月) 13:06:26.20ガウス君の説き方
int sum_gauss(int n){
if(n%2)
return (n+1)/2*n;
else
return (n/2)*(n+1);
}
0395デフォルトの名無しさん
2013/12/02(月) 15:20:12.42if文はいらんぞ
int sum_gauss(int n){ return (n*(n+1))/2; }
0396デフォルトの名無しさん
2013/12/02(月) 15:24:23.53int sum_gauss(int n){
return (n/2 + n%2)*(n+1);
}
0397デフォルトの名無しさん
2013/12/02(月) 16:11:17.281, forを使用したもの
2, 再起を使用したもの
・1〜9の数字を使用
・盤面は9*9マス(3*3のブロックが9つ)
・縦 + 横 + ブロック(3*3)において数字が重複しないようにする
・問題が不正な(問題の時点で重複があった)場合問題が不正と出力
・問題に空行が見つかった場合はその行の値を全て無しとみなす
・読み込みが9行未満で終了した場合はそれ以降の行も値を無しとみなす
・解が100個以上見つかった場合は100個目を出力
・解が見つからなかった場合は解無しと出力
問題の受け取りはテキストから一行ずつ
各行につき9文字+改行
値を指定しない場合はドット'.'を指定する
テキスト内容の例
1........
2........
...3....4
.......1.
....9....
.....7...
.8.......
.........
.........
0398デフォルトの名無しさん
2013/12/03(火) 00:01:56.59[2] 問題文(含コード&リンク):http://ideone.com/arXA0w
[3] 環境
[3.2] gcc3.4
[3.3] 言語: C
[4] 期限:12/3 14時
どなたかお願いします.
0399デフォルトの名無しさん
2013/12/03(火) 00:19:48.070400デフォルトの名無しさん
2013/12/03(火) 00:51:13.53間違いがあるなら修正します。
0401デフォルトの名無しさん
2013/12/03(火) 13:56:03.520402デフォルトの名無しさん
2013/12/04(水) 02:28:40.14暇つぶしのつもりが大作スパゲッティに。
http://ideone.com/2bLzS9
0403デフォルトの名無しさん
2013/12/04(水) 20:23:58.21[2] 問題文(含コード&リンク):
文字列s、pを与えられ文字列sの中の先頭から順に調べpに一致する部分文字列が
見つかったらその部分文字列の先頭を指すポインタを、見つからない場合NULLを返す
SEARCH関数を作る
[3] 環境
[3.1] OS: Linux
[3.2] gcc
[3.3] 言語: C
[4] 2013/12/06までに
[5] その他の制限: 再帰関数で作る。繰り返し文使わない。ライブラリ関数使わない
新たな関数や大域変数を宣言してはいけない。pが空文字列のときはsを返す。
0404デフォルトの名無しさん
2013/12/04(水) 20:31:27.48char* q;
if(*p=='\0')return s;
if(*s=='\0')return NULL;
if(*s==*p){
q=SEARCH(s+1,p+1);
if(q==s+1)return s;}
else return search(s+1,p);
}
>>403です。自分なりに書きましたが例えばsにabcdefg、pもagとすると
bcdefgとなってしまいうまくいきませんでした
この場合NULLのはずですが・・・
0405 ◆QZschizo.ptH
2013/12/04(水) 21:07:38.21http://toro.2ch.net/test/read.cgi/tech/1313183984/751
1)最後まで一致したときに、最初の位置をどうやって返すか?
2)不一致を発見したときにどう巻き戻るか?
を考えると、サブ関数を作ってそれを再帰にする感覚で書く
0406 ◆QZschizo.ptH
2013/12/04(水) 21:18:28.240407デフォルトの名無しさん
2013/12/04(水) 21:20:41.42>サブ関数を作って
>新たな関数や大域変数を宣言してはいけない。
はいアウトー。
0408デフォルトの名無しさん
2013/12/04(水) 21:36:06.53>>405 likeに。10分で書いたからバグってるかも。
#include <stdio.h>
int Match(char* s, char *p){
if (s == NULL) return -1;
if (p == NULL) return -1;
if (*p == '\0') return 1;
if (*s == '\0') return -1;
if (*s != *p) return -1;
return Match(s + 1, p + 1);
}
char* Search(char *s ,char *p){
if (s == NULL) return NULL;
if (p == NULL) return NULL;
if (*s == '\0') return NULL;
if (*s == *p){ if (Match(s, p) == 1) return s; }
return Search(s + 1, p);
}
int main(){
char *bun = "magical girl madoka magika!";
char *s = "madoka";
char *s2 = "sayaka";
char *r = Search(bun, s);
char *r2 = Search(bun, s2);
return 0;
}
0409408
2013/12/04(水) 21:37:01.850410デフォルトの名無しさん
2013/12/04(水) 21:40:08.20char* SEARCH(char* s, char* p){
char* q;
if (*p == '\0')return s;
if (*s == '\0')return NULL;
if (*s == *p){
q = SEARCH(s + 1, p + 1);
if (q == s + 1)return s;
}
return SEARCH(s + 1, p);
}
最後のelse取っただけ
0411 ◆QZschizo.ptH
2013/12/04(水) 21:43:47.24なるほど
0412デフォルトの名無しさん
2013/12/04(水) 21:47:38.37const char* SEARCH(const char *s,const char* p){
___ if(!s||!p||!*s)return 0;
___ if(!*p)return s;
___ if(*s==*p){
___ ___ const char *r;
___ ___ r=SEARCH(s+1,p+1);
___ ___ if(r==s+1)return r-1;
___ }
___ return SEARCH(s+1,p);
}
#include <stdio.h>
int main(){
printf("agc->%s\n",SEARCH("abcdefg","agc"));
printf("abc->%s\n",SEARCH("abcdefg","abc"));
printf("def->%s\n",SEARCH("abcdefg","def"));
return 0;
}
0413デフォルトの名無しさん
2013/12/04(水) 21:48:52.49もう終わっちゃったか。
ちょっと汚い方法だが、2つくっつけたぜ。
これで文句ないだろう。ただ、デバッグほとんどしてない。
#include <stdio.h>
char* Search(char *s ,char *p ,int Mode){
if (s == NULL) return NULL;
if (p == NULL) return NULL;
if (Mode == 0){
if (*s == '\0') return NULL;
if (*s == *p){ if (Search(s, p,1) != NULL ) return s; }
return Search(s + 1, p,0);
}
else{
if (*p == '\0') return (char*)0xDeadBeef;
if (*s == '\0') return NULL;
if (*s != *p) return NULL;
return Search(s + 1, p + 1,1);
}
return NULL;
}
int main(){
char *bun = "magical girl madoka magika!";
char *s = "madoka";
char *s2 = "sayaka";
char *r = Search(bun, s,0);
char *r2 = Search(bun, s2,0);
return 0;
}
0414デフォルトの名無しさん
2013/12/04(水) 22:10:11.94引数増やすのはありなのかなぁ…
っていうかPuella Magiってタイトルロゴにかいてあるだろー!
0415デフォルトの名無しさん
2013/12/04(水) 22:14:38.900416デフォルトの名無しさん
2013/12/04(水) 22:33:06.84仕様が不明確なのでそこを突きました。汗
まどかはまだにわかファンなのでそこまで書いてあるとは思わなかった。
謝罪してお詫びする。
0417デフォルトの名無しさん
2013/12/04(水) 22:46:21.49自分もニワカだし謝罪されてしまうと身の置き場ががが。
あとついでにmagicaらしい。kaだと思ってたorz
0418デフォルトの名無しさん
2013/12/05(木) 00:08:56.85{
static char *ss = s, *pp = p;
return
(!*p) ? ss :
(!*s) ? NULL :
(*s != *p) ? SEARCH(++ss, pp) :
SEARCH(++s, ++p);
}
0419デフォルトの名無しさん
2013/12/05(木) 00:53:01.90return s&&p?*p?*s?((*p==*s)&&(s+1==search(s+1,p+1)))?s:search(s+1,p):NULL:s:NULL;
}
0420デフォルトの名無しさん
2013/12/05(木) 00:55:15.04http://ideone.com/t49wAw
char *search(char *s,char *p){
return s&&p?*p?*s?((*p==*s)&&(s+1==search(s+1,p+1)))?s:search(s+1,p):NULL:s:NULL;
}
0421デフォルトの名無しさん
2013/12/05(木) 00:58:54.31error: initializer element is not constant
static char *ss = s, *pp = p;
^
0422デフォルトの名無しさん
2013/12/05(木) 03:29:09.19[2] 問題文(含コード&リンク):
問題�@(戻り値が無い場合の引数あり)
円錐の半径rと高さhを入力し、円錐の体積を求めるプログラムを作りなさい。
ただし、main関数で円錐の半径rと高さhの入力を行い、円錐の体積の計算と表示はtaisekiという
関数で行うこと。
また、円周率は3.14を使用すること。
>>422に続きます
0423デフォルトの名無しさん
2013/12/05(木) 03:29:56.89問題�A(戻り値がある場合の引数あり)
円錐の半径rと高さhを入力し、円錐の体積を求めるプログラムを作りなさい。
ただし、main関数で円錐の半径rと高さhの入力と計算された円錐の体積の表示を行い、
円錐の体積の計算はtaisekiという関数で行うこと。
>>424に続きます
0424デフォルトの名無しさん
2013/12/05(木) 03:54:47.56void taiseki1(int r, int h)
{ // 問題�@
printf("体積は%fです", r * r * h * 3.14 / 3);
}
double taiseki2(int r, int h)
{ // 問題�A
return r * r * h * 3.14 / 3;
}
int main(void)
{
int r, h;
printf("半径を入力して下さい>"); scanf("%d", &r);
printf("高さを入力して下さい>"); scanf("%d", &h);
taiseki1(r, h); // 問題�@
printf("体積は%fです", taiseki2(r, h)); // 問題�A
}
0425デフォルトの名無しさん
2013/12/05(木) 10:47:23.480426デフォルトの名無しさん
2013/12/05(木) 18:31:37.900427デフォルトの名無しさん
2013/12/05(木) 19:18:40.36[1] 授業単元:C言語
[2] 問題文(含コード&リンク):
http://ideone.com/zF5weB
[3] 環境
[3.1] OS: (Windows/Linux/等々) Windows Vista Home
[3.2] コンパイラ名とバージョン: (gcc 3.4 VC 6.0等) borland
[3.3] 言語: (C/C++/どちらでも可 のいずれか)C
[4] 期限:2013年12月12日02:00まで
[5] その他の制限:
今回の宿題は「配列」「関数」「ポインタ」 辺りの知識を使うそうです。
問題�@と�Aはそれぞれ別です。
とくに制限はありませんが引数のありなし等をよくご確認して頂ければ幸いです。
>>424の方はせっかくやっていだたいたのに申し訳ありません
よろしくお願い致します。
0428デフォルトの名無しさん
2013/12/05(木) 19:20:59.77>>424提出してハネられたの?
0429デフォルトの名無しさん
2013/12/05(木) 19:32:21.75>>424 はどうだったのか、何か問題があるのか
きちんと対応するのがスジでしょ。
0430デフォルトの名無しさん
2013/12/05(木) 20:12:22.48ひどすぎるわ
0431デフォルトの名無しさん
2013/12/05(木) 20:15:10.160432デフォルトの名無しさん
2013/12/05(木) 20:16:21.410433デフォルトの名無しさん
2013/12/05(木) 20:17:43.66礼儀を覚えたほうがいい
0434デフォルトの名無しさん
2013/12/05(木) 20:20:34.820435デフォルトの名無しさん
2013/12/05(木) 20:21:36.13転載しかできない奴には何を聞いても欲しい答えに届かない
0436デフォルトの名無しさん
2013/12/05(木) 20:36:49.51解答なんかしねーよカスが
0437デフォルトの名無しさん
2013/12/05(木) 20:49:40.920438デフォルトの名無しさん
2013/12/05(木) 20:53:42.91違う。問題はすぐ解けるが、以前解いた人に対するレスポンスはどうなのよ。
うまく行ったの?いかなかったらなんでいかなかったの?
0439デフォルトの名無しさん
2013/12/05(木) 20:55:34.44>>424を自分で2つに分けるんだ
0440デフォルトの名無しさん
2013/12/05(木) 21:08:04.10要約すると、わかりませんってことですね?
0441デフォルトの名無しさん
2013/12/05(木) 21:10:31.66現状説明してもわからないのにどうやって解答説明しようかなぁ。
重大問題だなぁ。
0442デフォルトの名無しさん
2013/12/05(木) 21:24:42.55#if MONDAI == 1
void taiseki(int r, int h)
{ // 問題�@
printf("体積は%fです", r * r * h * 3.14 / 3);
}
#elif MONDAI == 2
double taiseki(int r, int h)
{ // 問題�A
return r * r * h * 3.14 / 3;
}
#else
# error "MONDAI は 1 か 2 にしてくれ."
#endif
int main(void)
{
int r, h;
printf("半径を入力して下さい>"); scanf("%d", &r);
printf("高さを入力して下さい>"); scanf("%d", &h);
#if MONDAI == 1
taiseki(r, h); // 問題�@
#elif MONDAI == 2
printf("体積は%fです", taiseki(r, h)); // 問題�A
#else
# error "同上."
#endif
}
0443デフォルトの名無しさん
2013/12/05(木) 21:26:27.870444デフォルトの名無しさん
2013/12/05(木) 22:21:45.19メイク、テストの仕方のわからんのでは?w
そのまんま、提出するんですね。まぁいい・・・のか。
0445デフォルトの名無しさん
2013/12/05(木) 22:47:15.170446デフォルトの名無しさん
2013/12/05(木) 22:48:17.640447デフォルトの名無しさん
2013/12/05(木) 22:51:14.26出題者を呼んで来い
0448デフォルトの名無しさん
2013/12/05(木) 23:00:11.710449デフォルトの名無しさん
2013/12/06(金) 12:06:23.58死ねよクズ共
0450 ◆QZaw55cn4c
2013/12/06(金) 12:35:30.26心配しなくても、書くことが好きな人間なら近づかないと思うよこんな糞スレに
え,逆?逆?
0451デフォルトの名無しさん
2013/12/06(金) 12:45:52.100452デフォルトの名無しさん
2013/12/06(金) 13:39:15.33朝鮮人はちょっと黙ってて
0453デフォルトの名無しさん
2013/12/06(金) 17:59:40.72abbdeと入力すると→e→d→c→b→a
[3] 環境
[3.1] OS Mac
[3.2] コンパイラ名 gcc -o
[3.3] 言語: C
よろしくお願いします。
0454230
2013/12/06(金) 18:37:51.43こんな感じでいいのか?デバッグほとんどしてないから提出前に確認してネ!
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
typedef struct List{
struct List* Next;
int value;}List;
int main(){
static const int Len = 1024;
char str[1024] = {0, };
int Num = 0;
List *L = NULL, *N = NULL;
int i = 0;
fgets(str, Len, stdin);
Num = strlen(str);
if (str[Num - 1] == '\n'){
str[Num - 1] = '\0';
Num--;}
L = calloc(Num+1, sizeof(List));
for (i = 0; i < Num; i++){
L[i].value = str[i];
L[i + 1].Next = &L[i];
}
L[0].Next = NULL;
N = &L[i-1];
while (N != NULL){
printf("%c", N->value); if (N->Next != NULL)printf(" -> ");
N = N->Next;
}
free(L);
return 0;}
0455デフォルトの名無しさん
2013/12/06(金) 18:42:56.40とりあえず、>>230氏とは関係ないのでアシカラズ。
0456デフォルトの名無しさん
2013/12/06(金) 18:45:21.680457デフォルトの名無しさん
2013/12/06(金) 18:51:30.90このスレだけ見てるわけじゃないんだよ。
こんなことでイチイチ絡んでたら身がもたないぞ。
0458デフォルトの名無しさん
2013/12/06(金) 18:57:27.070459デフォルトの名無しさん
2013/12/06(金) 18:58:01.120460デフォルトの名無しさん
2013/12/06(金) 19:24:20.93で検索してみたが
自分が購読してるスレでは
ここしか出て来なかった
4/17 とか 7/5 とかに大量に 230 が居たwww
0461デフォルトの名無しさん
2013/12/06(金) 19:26:50.470462230
2013/12/06(金) 19:31:03.520463デフォルトの名無しさん
2013/12/06(金) 19:41:31.130464220
2013/12/06(金) 21:04:58.560465デフォルトの名無しさん
2013/12/06(金) 21:41:33.270466デフォルトの名無しさん
2013/12/06(金) 21:49:12.150467デフォルトの名無しさん
2013/12/06(金) 22:11:28.610468デフォルトの名無しさん
2013/12/06(金) 22:42:27.880469デフォルトの名無しさん
2013/12/07(土) 12:52:02.69是非解いてみてください。
http://vivi.dyndns.org/tech/cpp/ex-1.html
0470デフォルトの名無しさん
2013/12/07(土) 20:13:32.05[2] 問題文(含コード&リンク): 1から3まで0.2ずつ増やしてその平方根の値を示す
0.0 0.2 0.4 0.6
0
1
2
3
4
こんな感じで表示させるプログラムができないです。皆さんの力を貸してください。
[3] 環境
[3.1] OS: (Windows
[3.2] コンパイラ名とバージョン: (visual studio 2012
[3.3] 言語: C
[4] 期限: ([2013年12月8日12:00まで] または
[5] その他の制限: (for文 math関数まで習いました。)
0471470
2013/12/07(土) 20:22:57.86とっとと解答つくれキモオタども
0472デフォルトの名無しさん
2013/12/07(土) 20:23:14.88こんな感じってのがさっぱり分からん
0473デフォルトの名無しさん
2013/12/07(土) 20:24:05.050.0 0.2 0.4 0.6 0.8
1.0 1.2 1.4 1.6 1.8
2.0 2.2 2.4 2.6 2.8
3.0
この合計の平方根でいいの?
0474デフォルトの名無しさん
2013/12/07(土) 20:31:45.44各値(0<=3;+=0.2)の平方根を表示するのか
例題の4は何なのか
謎だらけで解きようが無い
0475デフォルトの名無しさん
2013/12/07(土) 20:38:41.000476デフォルトの名無しさん
2013/12/07(土) 20:44:18.22こんな感じです。
0.0 0.2 0.4 0.6 0.8
0 ? ? ? ? ?
1 1.000
2
3
4
0477デフォルトの名無しさん
2013/12/07(土) 20:46:00.170478デフォルトの名無しさん
2013/12/07(土) 20:46:12.31解いてもらえなくてもいいならいいが
「こんな感じ」じゃなくて「これ」で頼む
0479デフォルトの名無しさん
2013/12/07(土) 20:50:34.37yx 0.0 0.2 0.4 0.6 0.8
1
2
3
4
sqrt(x + y)って事でいいのか?
0480470
2013/12/07(土) 21:05:12.58どーせ使えねえ糞解答なんでしょ
0481デフォルトの名無しさん
2013/12/07(土) 21:09:28.331から3まで0.2ずつ増やしてその平方根の値を示すだけです。
0482デフォルトの名無しさん
2013/12/07(土) 21:27:27.91自分で選んだ道だろ
できないならやめろよ今すぐ
0483デフォルトの名無しさん
2013/12/07(土) 21:41:31.40>>470と>>476の4は何?
>>476の1.000は何?
0484デフォルトの名無しさん
2013/12/07(土) 21:46:39.60#include <stdio.h>
#include <math.h>
int main()
{
int i,j;
printf(" 0.0 0.2 0.4 0.6 0.8 1.0\n");
for (i = 1; i < 3; i++) {
printf("%d ", i);
for (j=0; j <= 10; j+=2) {
printf("%.2f ", sqrt(i+(double)j/10));
}
printf( "\n");
}
return 0;
}
こんな感じか?
0485デフォルトの名無しさん
2013/12/07(土) 21:47:43.931.00 , 1.000000
1.20 , 1.095445
1.40 , 1.183216
1.60 , 1.264911
1.80 , 1.341641
2.00 , 1.414214
…
って感じかと思ったが表みたいなやつの意味がわからん
0486デフォルトの名無しさん
2013/12/07(土) 22:07:27.96でいいはず
って言ってる間に解けるな
#include <iostream>
#include <cmath>
using namespace std;
double div=1.0;
while(div<=3.0){
cout<<div<<"\t"<<sqrt(div)<<endl;
div+=02;
}
こんな感じでw
0487デフォルトの名無しさん
2013/12/07(土) 22:22:18.510488470
2013/12/07(土) 22:30:02.87つーか、邪魔しないでよ
0489デフォルトの名無しさん
2013/12/07(土) 22:36:29.44ttp://codepad.org/p7cOXEZH
0490デフォルトの名無しさん
2013/12/07(土) 22:46:58.930491デフォルトの名無しさん
2013/12/07(土) 23:15:15.950492デフォルトの名無しさん
2013/12/07(土) 23:29:59.08鬼の首でもとったようなドヤ顔・・・
0493デフォルトの名無しさん
2013/12/07(土) 23:34:00.800494デフォルトの名無しさん
2013/12/07(土) 23:35:21.730495デフォルトの名無しさん
2013/12/08(日) 00:08:31.11それって自分の顔ちゃうんか
0496デフォルトの名無しさん
2013/12/08(日) 00:41:57.130497デフォルトの名無しさん
2013/12/08(日) 01:08:31.92それに加えて471みたいなのまで涌いてるとか始末が悪い。
とりま、出題者がクソで問題文自体がクソだったとしても、
依頼者が勝手に補完するともっとクソになる実例ですね。
0498デフォルトの名無しさん
2013/12/08(日) 02:37:51.580499デフォルトの名無しさん
2013/12/09(月) 11:27:44.25>・なりすましを防ぐため、トリップを使ってください。
を無視している以上沸いてくるのはしょうがない
0500デフォルトの名無しさん
2013/12/09(月) 15:06:48.130501デフォルトの名無しさん
2013/12/09(月) 16:09:32.900502デフォルトの名無しさん
2013/12/09(月) 16:46:05.97ID必須だと思う
0503デフォルトの名無しさん
2013/12/09(月) 18:18:32.00c/c++なんて学ぶだけ時間の無駄
0504デフォルトの名無しさん
2013/12/09(月) 19:46:22.00http://news.mynavi.jp/news/2013/12/09/347/
0505♯tttam
2013/12/09(月) 22:28:37.45[2] 問題文(含コード&リンク):
キーボードから正負の整数をデタラメに入力し、整数のみを配列に格納し、その個数が5個になったら入力を受け付けず、その5つの正の整数を和と平均を求めるプログラムを作れ、平均は小数点以下一位まで求めろ
[3] 環境
[3.1] OS:Windows7
[ 3.2] コンパイラ名とバージョン:gcc
[3.3] 言語:C
[4] 期限: 12月20日
[5] for文にif文で負の数を受け付けないようにすればいいんでしょうか?
よくわかりません
0506デフォルトの名無しさん
2013/12/09(月) 22:49:08.780507デフォルトの名無しさん
2013/12/09(月) 23:04:34.37#include <stdio.h>
int main(void){
int sum=0, count=0, i=0;
while(count<5){
printf("input number>");
scanf("%d",&i);
if(0<i){
sum+=i;
count++;
}
}
printf("sum=%d ,ave=%.1f\n",sum,(double)sum/5.);
return 0;
}
0508デフォルトの名無しさん
2013/12/09(月) 23:12:35.28http://ideone.com/JfXUO5
0509デフォルトの名無しさん
2013/12/10(火) 02:16:07.20・整数のみを配列に格納
・その個数が5個になったら
・その5つの正の整数
負の数が一つでも入力されたら正の整数の数が足りなくて続行不能。
問題が↓だったら配列に格納する前の段階で負数を除外すればいいだけだけどなぁ…
キーボードから正負の整数を入力し、入力された値のうち正の整数のみを配列に格納し、
その個数が5個になったら入力を終了し、その5個の正の整数の和と平均を求めるプログラムを作れ。
平均は小数点以下一位まで求めろ。
0510デフォルトの名無しさん
2013/12/10(火) 03:21:11.52ttp://ideone.com/OAGAUM
こんでいいの?
0511♯tttam
2013/12/10(火) 07:51:07.62本当にありがとうございました。
0512デフォルトの名無しさん
2013/12/10(火) 17:37:58.36最近はprecisionしか使ってない。
0513デフォルトの名無しさん
2013/12/10(火) 19:00:31.77自分なりにプログラムしてみたのですが、上手くいかなかった為、もう一度質問させていただきます。
[1] 授業単元:プログラミング演習
[2] 問題文(含コード&リンク):クリップボードの履歴の最新50個を表示するプログラムの作成(テキストのみ)
[3] 環境
[3.1] OS:Windows
[3.2] コンパイラ名とバージョン:visualstudio2010
[3.3] 言語:どちらでも可(できればC++)
[4] 期限:2013年/12/12 23:59
[5] その他の制限: 特になし
後々exeにして自分で使えるようにしたいので、出来ればC++でお願いしたいです。
よろしくお願い致します。
0514デフォルトの名無しさん
2013/12/10(火) 23:59:21.77そもそもOS自体クリップボードの履歴なんて取ってないから常駐必須だってのもわかってなさそう。
色々と絶望的にプログラミングに向いてないんじゃないか、君。
0515デフォルトの名無しさん
2013/12/11(水) 01:50:17.52コミュ障か?
>>513
クリップボードはWin32APIスレ向け
0516デフォルトの名無しさん
2013/12/11(水) 02:49:53.45C++でCの資産使えないとかスキル足りないにも程があるぞお前。
0517デフォルトの名無しさん
2013/12/11(水) 06:50:32.290518デフォルトの名無しさん
2013/12/11(水) 09:55:30.61コレは恥ずかしいw
0519デフォルトの名無しさん
2013/12/11(水) 10:20:16.060520デフォルトの名無しさん
2013/12/11(水) 11:45:56.14ここは「オレの欲しいプログラムをねだるスレ」じゃねーぞ 乞食
0521デフォルトの名無しさん
2013/12/11(水) 13:49:07.25C++でゲームを作るにはどうすればいいですか。
0522デフォルトの名無しさん
2013/12/11(水) 15:49:16.22ここは、宿題スレだ。
ついでに言えば、質問内容も大ざっぱすぎる
0523デフォルトの名無しさん
2013/12/11(水) 16:33:29.17ゲームの作り方を知ることだ
0524デフォルトの名無しさん
2013/12/11(水) 16:49:27.69間違えないように
0525デフォルトの名無しさん
2013/12/11(水) 17:13:28.250526デフォルトの名無しさん
2013/12/11(水) 18:03:17.80データとアルゴリズムを知ってどうやってゲームシステムに結びつけるかの手法を考える。
0527デフォルトの名無しさん
2013/12/11(水) 18:54:18.880528デフォルトの名無しさん
2013/12/11(水) 19:05:37.650529デフォルトの名無しさん
2013/12/11(水) 19:06:54.66基礎で 300時間
必要最低限のプラットフォーム関連で 500時間
設計、アルゴリズムで 1000時間
実際のゲーム制作規模により?時間
10時間/日 勉強し続けて半年後にようやく制作に手をつけられるレベル
いい師がいるなら 3倍速くらいですすむから
金があって時間が惜しいなら高い講習をうけるという手もある
0530デフォルトの名無しさん
2013/12/11(水) 19:22:00.040531デフォルトの名無しさん
2013/12/11(水) 19:31:03.56GUIだと、プラットフォームのカオスに触れて挫折しかねない。
しかも、他人に合わせることも揃えて覚えないといけないのでかなり大変。
0532デフォルトの名無しさん
2013/12/11(水) 19:41:22.10ただゲームが作れるようになりたいってだけじゃC入門で躓いて荒らしになるのがオチ
0533デフォルトの名無しさん
2013/12/11(水) 23:56:54.450534デフォルトの名無しさん
2013/12/12(木) 00:17:42.520535デフォルトの名無しさん
2013/12/12(木) 01:07:46.83roguelikeならむしろCUIのが風情があるのでとりあえず死ぬとこまではふつーにやりますよ
もちろん少数派なのは百も承知だけんど
0536デフォルトの名無しさん
2013/12/12(木) 01:37:42.98プリンセスサクリファイスみたいなエロRPG作りたかったけど無理そうだな
0537デフォルトの名無しさん
2013/12/12(木) 01:45:56.87素材用意できるんなら、Cなんかに学習コスト使わず適当なゲームエンジンでも使えばいいんじゃね
3DならUnity、紙芝居ならonscripterあたり
0538デフォルトの名無しさん
2013/12/12(木) 01:56:48.40そういうものが作りたかったらC言語なんて低級なもの選んでないで、もっと簡単に絵が出るような言語を選ぶべき。
0539デフォルトの名無しさん
2013/12/12(木) 01:58:07.160540521
2013/12/13(金) 01:41:56.17古くからあるネタなんで笑って貰えるかと...
nifty フォーラム時代からあるC++FAQ ネタでした。
0541デフォルトの名無しさん
2013/12/14(土) 10:56:05.970542デフォルトの名無しさん
2013/12/15(日) 05:20:05.28よろしくお願いします。
[1] システムプログラム
[2] 一般の実行プログラムである/usr/bin/lessを子プロセスとして起動して、pipeを通して子プロセスの標準入力にデータ(複数行のテキスト)を渡すプログラムを作りなさい。
[3] 環境
[3.1] Fedora19
[3.2] gcc 4.8.2
[3.3] c
[4] 2013/12/18
[5] fork,pipe,dupについて習っているところです。
0543 ◆QZaw55cn4c
2013/12/16(月) 03:10:23.14来週まで待ってくれないか?
先に紹介した http://toro.2ch.net/test/read.cgi/tech/1381909900/235 のリンク先をチェックしているが問題が発生している‥‥
InvalidateRect() だけでは WM_PAINT が発生しない状況(UpdateWindow()してる‥‥)があって困惑中.もう見切りをつけようとは思っているが,たぶんエディットコントロール方面でさらに泥沼にはまる予定だ‥‥
http://codepad.org/kky37ici cited & partly changed http://wisdom.sakura.ne.jp/system/winapi/win32/win92.html
きだあきら氏の本って今でも手に入りますか?
0544デフォルトの名無しさん
2013/12/17(火) 20:23:34.12質問ではなく宿題の丸投げと良います
0545デフォルトの名無しさん
2013/12/17(火) 20:37:56.36「ふつうのLinuxプログラミング」の12章の内容。
何故か259頁から263頁までが欠けてるので手伝えない。
0546デフォルトの名無しさん
2013/12/17(火) 22:15:41.370547デフォルトの名無しさん
2013/12/18(水) 00:16:21.75http://ideone.com/S4MKWy
0548デフォルトの名無しさん
2013/12/18(水) 00:16:42.38#include <stdio.h>
#include <unistd.h>
int main(void) {
int ret, pipefd[2];
pid_t cpid;
if (pipe(pipefd) < 0)
return 1;
cpid = fork();
if (cpid < 0)
return close(pipefd[0]), close(pipefd[1]), 1;
if (cpid == 0) {
close(pipefd[0]);
ret = write(pipefd[1], "Hello, World", 12);
close(pipefd[1]);
return ret < 0 ? 1 : 0;
} else {
close(pipefd[1]);
if (dup2(pipefd[0], STDIN_FILENO) < 0)
return 1;
execl("/usr/bin/less", "", NULL);
return close(pipefd[0]), 1;
}
}
0549デフォルトの名無しさん
2013/12/18(水) 00:18:17.09fork() || execl("/usr/bin/less", "", 0)
0550デフォルトの名無しさん
2013/12/18(水) 11:20:50.43親で実行してるくね?
0551デフォルトの名無しさん
2013/12/18(水) 21:41:03.27つくって誰が使ってくれるよw
0552デフォルトの名無しさん
2013/12/18(水) 21:48:20.630553デフォルトの名無しさん
2013/12/18(水) 21:52:00.590554デフォルトの名無しさん
2013/12/18(水) 22:23:41.050555デフォルトの名無しさん
2013/12/19(木) 03:01:25.56完全にスレチ
0556デフォルトの名無しさん
2013/12/19(木) 12:14:55.200557デフォルトの名無しさん
2013/12/19(木) 19:13:45.07ソースコードお願いします…
0558デフォルトの名無しさん
2013/12/19(木) 19:49:05.130559デフォルトの名無しさん
2013/12/19(木) 21:50:25.120560デフォルトの名無しさん
2013/12/19(木) 22:15:09.270561デフォルトの名無しさん
2013/12/19(木) 22:22:45.90がわかりませぬ。どなたか教えてください。
0562デフォルトの名無しさん
2013/12/20(金) 00:12:01.51あってるかなあ
http://ideone.com/Jl0BBs
0563デフォルトの名無しさん
2013/12/20(金) 01:45:04.89ちょっと難しくなると、「宿題は己でやらないと意味が無い」なんてイミフ
なあおりの癖にw
0564デフォルトの名無しさん
2013/12/20(金) 01:47:05.63何もおかしくない
0565デフォルトの名無しさん
2013/12/20(金) 01:53:55.38さくっと分かる問題なら、暇つぶし用途の即レスがつきやすいってだけよね
なんも不自然に感じないす
0566 ◆QZaw55cn4c
2013/12/20(金) 06:26:34.79それは俺のせりふだお前がいうな馬鹿野郎
0567デフォルトの名無しさん
2013/12/20(金) 09:10:03.080568デフォルトの名無しさん
2013/12/20(金) 12:35:02.400569デフォルトの名無しさん
2013/12/20(金) 13:23:28.050570デフォルトの名無しさん
2013/12/20(金) 13:30:58.430571デフォルトの名無しさん
2013/12/20(金) 13:46:39.26負なら終了で
for (n = 0; n < MM; n++) {
scanf("%lf", &data[n]);
if (data[n] < 0) break;
}
0572デフォルトの名無しさん
2013/12/27(金) 12:26:18.59char c='\0';
char p1='\0';
printf("文字を入力:");
while(1){
scanf("%c",&p1);
if(p1=='\0'){break;}
printf("test%c",p1);
}
以下略
}
で例えばaとか打つとtestatestと出てループ抜けれません
空文字読み込んだらループ抜けるはずなんですが
ご教授おねがいします
0573デフォルトの名無しさん
2013/12/27(金) 13:14:46.47普通「空文字」なんて言わないし、空文字列とNUL文字(\0)がごっちゃになってるんだろ。
普通の文字列はNUL文字で終端されていて、1文字目(序数0)にNUL文字が来る様な本文0文字の文字列が「空文字列」。
scanfの%cはstdinから文字を読むけど、stdinは文字列では無くコンソールなどのストリームやファイルが実体。
ストリームやファイルはNUL文字終端の文字列ではないので意図的にNUL文字を入力しない限りNUL文字は出てこない。
改行は改行文字として、空白は空白文字として、ファイルの終了(場合によってはCtrl+Z)はEOFとして入力される。
stdinから何らかの条件で複数文字を取り込んで文字列として加工した時に始めてNUL文字で終端された文字列が出てくる。
例えばgetsとかscanfの%sとかfgetsとかそのへん使うとコンソール入力をNUL文字で終端された文字列として読むことが出来る。
文字列を入力するループにして空文字列で終了するように修正するか、
文字を入力するループのまま改行文字などで終了するように修正するか、
文字を入力するループのままNUL文字をなんとか入力して終了させるか、
文字を入力するループをEOFで終了するように修正してEOFを入力して終了させるか、好きな修正法を選ぶといい。
0574デフォルトの名無しさん
2013/12/27(金) 14:25:04.83ありがとうございました
0575デフォルトの名無しさん
2013/12/27(金) 15:18:49.461回目の入力aは正常になるが
2回目以降の入力待ちが発生しないからループが無駄になるぞ
0576デフォルトの名無しさん
2013/12/27(金) 15:45:08.5252回なら1を、53回なら0を出力するプログラムお願いします…
1回1回判定するのではなく、一気に何回か入力し、一気に判定を出力するものでお願いします
(0を入力したら終わりです)
入力できるのは1989〜5000です
0577デフォルトの名無しさん
2013/12/27(金) 17:06:40.790578デフォルトの名無しさん
2013/12/27(金) 18:03:24.82その職場ではどういう意味になるの?
'\0'のこと?""のこと?
0579デフォルトの名無しさん
2013/12/27(金) 19:19:33.01"" です。長さゼロの文字。
0580579
2013/12/27(金) 19:23:06.830581デフォルトの名無しさん
2013/12/27(金) 19:55:50.02文脈があれば大抵は空の文字列だって判るから実用上は問題ないのかも。
問題が起きるのはその辺の概念を整理できてない初心者がそれ聞いたとき。
0582デフォルトの名無しさん
2013/12/28(土) 12:36:42.960583デフォルトの名無しさん
2014/01/02(木) 17:09:55.23[2] 問題文(含コード&リンク):
図のように,左右から,直線上を走る球が画面中央で衝突し,
跳ね返る動画を作りなさい.
但し,円の直径を質量として描画する
[3] 環境
[3.1] OS: Windows
[3.2] Visual Studio 2010
[3.3] 言語:C++
[4] 期限:2014/01/07
[5] 表示画面の作成はできます。
衝突後速度の計算結果の画面表示もできます。
物体1と2に初速度と質量を与えて反発係数を入力すると
PICT画面に動画が表示されるようにプログラムしたいです。
[6]参考画像
http://viploader.net/ippan/src/vlippan327255.png
http://viploader.net/ippan/src/vlippan327256.png
0584デフォルトの名無しさん
2014/01/02(木) 20:53:03.28未来のITドカた乙
向いてないから来るな
0585デフォルトの名無しさん
2014/01/02(木) 21:06:00.060586デフォルトの名無しさん
2014/01/03(金) 01:15:04.350587デフォルトの名無しさん
2014/01/03(金) 03:50:53.76よくわからんが計算できて表示できるならやればいいだろ
何をやって欲しいのかわからん
0588デフォルトの名無しさん
2014/01/03(金) 05:45:03.85文字列を並べ替える問題とかなら
レスつくがこの手の問題は放置される可能性は極めて高い
0589デフォルトの名無しさん
2014/01/03(金) 09:00:32.29「問題文(含コード&リンク):」に書かれている内容を満たすコードなんて無数に考えられるんだけど、
既に存在しているコードを想定した問題出されてもエスパー以外は答えようが無いって理解できない?
>>588
それ以前で依頼に不備があるから回答不能だろが。
問題自体はその手の問題よりも温いくらいだと思うが。
0590デフォルトの名無しさん
2014/01/03(金) 09:38:39.48http://f.xup.cc/xup6ekfkgmp.jpg
お願いします
0591デフォルトの名無しさん
2014/01/03(金) 14:05:17.12void swapnum(int *num2, int *num1)
{
printf("入れ替え後\n");
printf("num1 = %d\n", *num1);
printf("num2 = %d\n", *num2);
}
0592デフォルトの名無しさん
2014/01/03(金) 15:40:25.281枚目
addValue(num1, num2, &result);
addValue(int num1, int num2, int *result){
*result = num1 + num2;
}
指摘は自分でどうぞ
0593デフォルトの名無しさん
2014/01/03(金) 16:41:04.61{
int temp=*num1;
*num1=*num2;
*num2=temp;
}
0594デフォルトの名無しさん
2014/01/03(金) 16:52:38.53じゃあ、その不備とやらをしてきして、その解決策まで示してあげれば。
0595デフォルトの名無しさん
2014/01/03(金) 18:03:48.000596デフォルトの名無しさん
2014/01/03(金) 18:41:06.50この人サリーとアン課題が解けるか微妙な人な気がするわ。
0597デフォルトの名無しさん
2014/01/03(金) 20:43:36.540598デフォルトの名無しさん
2014/01/04(土) 02:02:13.35このスレは昔からそういう連中がたくさんいた
0599デフォルトの名無しさん
2014/01/04(土) 02:43:04.50高度な人が出入りするわけない
0600デフォルトの名無しさん
2014/01/04(土) 03:34:50.14こういう問題はむしろ二個の玉の座標を単位時間毎に計算してそのプログラムをまず貼り、
描画の方は別の人が担当すればいいような気がする
玉の描画は問題の本質じゃないもん
0601デフォルトの名無しさん
2014/01/04(土) 05:31:19.39原文ママ?この辺なんとなく出題者も頭悪そうに見える
0602デフォルトの名無しさん
2014/01/04(土) 07:16:03.540604デフォルトの名無しさん
2014/01/04(土) 08:31:29.200605デフォルトの名無しさん
2014/01/04(土) 09:15:30.860607デフォルトの名無しさん
2014/01/04(土) 11:11:34.14結局はできねーんだろhw
0608デフォルトの名無しさん
2014/01/04(土) 11:27:54.970609デフォルトの名無しさん
2014/01/04(土) 11:45:59.41[2] 問題文(含コード&リンク):
宿題の丸投げをします。
http://www.dotup.org/uploda/www.dotup.org4784506.jpg.html
http://www.dotup.org/uploda/www.dotup.org4784512.jpg.html
[3] 環境
[3.1] OS: Windows8
[3.2] コンパイラ名とバージョン: VisualStudioPro2012
[3.3] 言語: C
[4] 期限: ([2014年1月5日18:00まで]
[5] その他の制限: (関数まで習っております。)
0610デフォルトの名無しさん
2014/01/04(土) 12:22:02.07http://www.dotup.org/uploda/www.dotup.org4784512.jpg
リンク貼るならコッチを貼れよ
0611デフォルトの名無しさん
2014/01/04(土) 12:48:03.18大学の名誉にかかわるよね
0612デフォルトの名無しさん
2014/01/04(土) 12:50:18.74高専レベルですらない
0613デフォルトの名無しさん
2014/01/04(土) 13:18:54.27教官がここで答えて、それと同じコードを提出してきた奴を落第にするというトラップはありですか?
0614デフォルトの名無しさん
2014/01/04(土) 13:29:24.682つ目のやつはバツがついているやつができてるのか?
0615デフォルトの名無しさん
2014/01/04(土) 13:30:14.960616デフォルトの名無しさん
2014/01/04(土) 13:45:06.55Nクイーン問題を解くプログラムを作成せよ.
但し,Nクイーン問題とは,N行N列のマスの中に,N個のクイーンを,どのクイーンも互いに効きが当たらないように並べる問題である.但し,チェス盤の中で,クイーンは縦,横,斜めに関してどこまでも進むことができると仮定する.
0617デフォルトの名無しさん
2014/01/04(土) 14:00:02.89名誉?
0618デフォルトの名無しさん
2014/01/04(土) 14:29:03.61http://toro.2ch.net/test/read.cgi/tech/1313183984/553
0619デフォルトの名無しさん
2014/01/04(土) 14:43:58.00制限
・インクルードはstdio.hのみ
・main実行開始から、出力間までの時間が1秒未満
・実行ファイルサイズ 50KB未満
0620デフォルトの名無しさん
2014/01/04(土) 15:10:55.200621デフォルトの名無しさん
2014/01/04(土) 15:20:55.81計算途中の数値は、下4桁で充分。
0622デフォルトの名無しさん
2014/01/04(土) 15:43:05.91質量の単位系との換算が出来ない件なら
最初から質量の単位をpxにすればいい。
0623デフォルトの名無しさん
2014/01/04(土) 16:27:36.530624デフォルトの名無しさん
2014/01/04(土) 16:55:04.77for(count=1,x=2014;count<=2014;count++,x=x%10000){
x = 2014 * x;
}
0626デフォルトの名無しさん
2014/01/04(土) 16:58:13.32スレタイをよく読めよ
何言語だよ、それ?
0627デフォルトの名無しさん
2014/01/04(土) 17:08:34.04624ならC/C++のように見えるしコンパイルしてみても問題ないが。
「,」の使い方を知らなかったの?
0628デフォルトの名無しさん
2014/01/04(土) 17:13:27.170629デフォルトの名無しさん
2014/01/04(土) 17:14:21.17どこコンパイラだよw
0630デフォルトの名無しさん
2014/01/04(土) 17:18:21.63それより累乗がよくわかってないのが問題
0631デフォルトの名無しさん
2014/01/04(土) 17:23:03.25じゃあもう自力でやれば
0632デフォルトの名無しさん
2014/01/04(土) 17:31:52.03質問側はちょっとでもミスがあると、難癖つけるくせにわ
0633デフォルトの名無しさん
2014/01/04(土) 17:34:09.970634デフォルトの名無しさん
2014/01/04(土) 17:46:35.18・全て自力でやるか
・ヒント貰ってそっから考えるか
前者でいいならここくるなよ
0635デフォルトの名無しさん
2014/01/04(土) 17:56:51.86#include <stdio.h>
int main(void)
{
int i, x;
x = 1;
for(i=0;i<2014;i++) {
x *= 2014;
x %= 10000;
}
fprintf(stdout, "2014 ** 2014 = %d (mod 10000)\n", x);
return 0;
}
0636デフォルトの名無しさん
2014/01/04(土) 18:30:42.960637デフォルトの名無しさん
2014/01/04(土) 18:32:46.44int main(void)
{
int i, x, m[10000] = {0};
for (i = x = 1; i <= 2014; i++) {
x = (x * 2014) % 10000;
if (m[x])
i = 2014 - ((2014 - i) % (i - m[x]));
m[x] = i;
}
printf("%d\n", x);
return 0;
}
0638デフォルトの名無しさん
2014/01/04(土) 19:01:40.74C++スレでぼこぼこにされたからってここで晴らさなくても
0639デフォルトの名無しさん
2014/01/04(土) 19:29:41.75なんでこんなことするんかね
0640デフォルトの名無しさん
2014/01/04(土) 19:38:49.60もっといいコードをさらしてみなよ
0641デフォルトの名無しさん
2014/01/04(土) 20:04:32.630642デフォルトの名無しさん
2014/01/04(土) 20:21:55.31しかも自演してるしw
0643デフォルトの名無しさん
2014/01/04(土) 20:24:01.410644デフォルトの名無しさん
2014/01/04(土) 21:16:09.65アワレww
0645デフォルトの名無しさん
2014/01/04(土) 21:20:40.150646デフォルトの名無しさん
2014/01/04(土) 21:28:29.36普通の人間は公開オナニーを「しない」
0647デフォルトの名無しさん
2014/01/04(土) 21:42:10.420648デフォルトの名無しさん
2014/01/04(土) 21:52:48.570649デフォルトの名無しさん
2014/01/05(日) 04:39:33.36http://ideone.com/KnsNUH
>>619
http://ideone.com/IcP2rS
0650デフォルトの名無しさん
2014/01/05(日) 04:41:36.56http://ideone.com/KnsNUH
>>619
http://ideone.com/IcP2rS
0651デフォルトの名無しさん
2014/01/05(日) 04:52:36.55http://toro.2ch.net/test/read.cgi/tech/1357191974/
には、公開オナニーと罵られるのを承知でコードを書き続ける者達が集っているようだね
0652デフォルトの名無しさん
2014/01/05(日) 05:32:57.98バカは無理すんなw
0653デフォルトの名無しさん
2014/01/05(日) 06:04:57.991 :デフォルトの名無しさん:2014/01/04(土) 02:38:02.18 この板はプログラムを作る人のための板です。
あらゆる質問はまずすれ立てるまでもない質問はここでスレにしてください。
その他、お勉強ページへのリンクスレ、
推薦図書・必読書スレ
もあります。
質問スレが充実してしまったおかげでム板全体が低能のたまり場になってしまった。
原点に立ち返りプログラム板をプログラムを作る人のための板に戻そう。
26 :停止しました。。。:停止真・スレッドストッパー。。。( ̄ー ̄)ニヤリッ
0654デフォルトの名無しさん
2014/01/05(日) 08:16:19.12>>1 の
>あらゆる質問はまずすれ立てるまでもない質問はここでスレにしてください。
自体が日本語になっていないし‥
馬鹿がたてたスレは当然スレストがかかって当然
0655デフォルトの名無しさん
2014/01/05(日) 09:10:16.142ch全体については知らないが、
ム板は質問者のエネルギーで辛うじて生き永らえているということでしょう。
0656デフォルトの名無しさん
2014/01/05(日) 21:43:05.15読んでて面白くないからね。ツイッターに流れていくよ。
今や、ム板で活発なスレは10もないんしゃないか。どれもC/C++関係のスレね。
0657デフォルトの名無しさん
2014/01/05(日) 22:13:26.48この板はプログラムを作る人のための板です。
あらゆる質問はまず”すれ立てるまでもない質問はここで”スレにしてください。
その他、お勉強ページへのリンクスレ、
推薦図書・必読書スレ
もあります。
プログラム・ソフトの使い方は PC 初心者板やソフトウェア板へ。
ウイルス、ハッキング・クラッキングを求めるような発言は禁止です。
Javascript は Web 制作板、CGI は Web プログラミング板へ。
業界談義、愚痴はプログラマ板へどうぞ。
ゲーム関係の話題はゲーム製作板へどうぞ。
ネタ、板とは関係の無い話題はご遠慮ください。
0658デフォルトの名無しさん
2014/01/05(日) 22:24:27.79[2] 問題文(含コード&リンク):
>>583
[3] 環境
[3.1] OS: Windows
[3.2] コンパイラ名とバージョン: (gcc 3.4 VC 6.0等)
[3.3] 言語:C++
[4] 期限: 2014/01/10 24:00まで
[5] その他の制限: 特に指定なし
再び同じ問題について質問です。
自分でも考えてみましたがどのように説明したらいいのかわかりません。
問題文については出題されたままですが
プログラムを作成していただける方で意味のわからないことがあれば教えてください。
>>603はご指摘のとおりだと思います。
http://viploader.net/ippan/src/vlippan327341.png
0659デフォルトの名無しさん
2014/01/05(日) 22:44:54.190660デフォルトの名無しさん
2014/01/05(日) 22:48:19.790661デフォルトの名無しさん
2014/01/05(日) 23:12:57.97あのなあ・・・球の描画は後回しにして、0.01秒毎くらいに二つの球の座標をまず計算してみ?
それが出来れば後は簡単だから
0662デフォルトの名無しさん
2014/01/05(日) 23:14:35.21難しいというのは計算でしょうか?
衝突の計算とXY座標の表示の方法はわかっています。
今、悩んでいるのは
�@円の大きさを質量を入力したボックスから取得した値で決定したものをどう表現するか?
pDC-<Eillpse(x0,y0,x1,y1);
x0,y0,x1,y1の座標を固定でなく表現すればいいとは思うのですが。
�A�@での円が描画できたとして、その位置が時間や速度に関係して場所が変化し
衝突後に反対向きに動いていく座標の変化を表すプログラムの表記方法。
>>658の参考画像にあげた考え方をどうプログラムにするか。
です。
説明能力不足で申し訳ないです。
http://viploader.net/ippan/src/vlippan327344.png
0663片山博文MZコスモ ◆T6xkBnTXz7B0
2014/01/05(日) 23:32:46.150664デフォルトの名無しさん
2014/01/06(月) 01:18:50.48Kはマクロでとりあえず1.0にして後で調整
半径rを求める式 double r=sqrt(M/K/pi);
中心座標(物理)は変数 double x,y;
物理座標→ピクセル値変換 int pxl(double x) { return (int)(1.0*x+0.5); } 1.0は係数、後で調整
直径のピクセル値 int D = pxl(2.0*r);
左上の座標 int x0=pxl(x-r), y0=pxl(y-r);
右下の座標 int x1=x0+D, y1=y0+D;
円の描画 pDC->ellipse(x0,y0,x1,y1);
0665デフォルトの名無しさん
2014/01/06(月) 01:24:51.170666デフォルトの名無しさん
2014/01/06(月) 09:45:37.580667デフォルトの名無しさん
2014/01/06(月) 11:13:41.960668デフォルトの名無しさん
2014/01/06(月) 14:16:38.18「表示画面の作成はできます。」
って部分が出題時点で与えられた環境に含まれてるようにしか見えないし、
> 問題文については出題されたまま
って大嘘だろ。
0669デフォルトの名無しさん
2014/01/06(月) 18:41:12.060670デフォルトの名無しさん
2014/01/06(月) 22:23:44.71これが一番面白かった
0671デフォルトの名無しさん
2014/01/07(火) 00:01:56.60ありがとうございます。
>>670
なにが面白いのですか?
講義で習った通りの書き方ですが、大文字のEが面白いということでしょうか?
小文字が一般的なのですか?
こちら講義の内容だけが知識の全てなのでわかりにくい書き方でしたら申し訳ありません。
0672デフォルトの名無しさん
2014/01/07(火) 00:40:39.410673デフォルトの名無しさん
2014/01/07(火) 01:03:27.05なるほど、そこですか。
テキストからコピペだったのでただの打ちミスかと思います。
ご指摘ありがとうございました!
0674デフォルトの名無しさん
2014/01/07(火) 01:11:58.740675デフォルトの名無しさん
2014/01/07(火) 11:12:18.960676デフォルトの名無しさん
2014/01/07(火) 11:21:07.040677デフォルトの名無しさん
2014/01/07(火) 13:58:55.34int main(void)
{
double a, b, c; char d;
printf("数字 演算子 数字 を入力してください。\n");
printf("例 12.4 * 4.0\n");
scanf("%lf %c %lf", &a,&d,&b);
//dの値により、加算、減算、乗算、除算を分岐して計算
printf("答えは %f です。\n");
return 0;
}
という課題が出たのですが
どのように分岐するのでしょうか?
0678デフォルトの名無しさん
2014/01/07(火) 14:01:33.32ans = a + b;
else if ...以下略
0679デフォルトの名無しさん
2014/01/07(火) 14:03:38.72double min(double a, double b){ return a - b;}
double mal(double a, double b){ return a * b;}
double div(double a, double b){ return a / b;}
double (*func_tbl)(double a, double b)[] = {add, min, mal, div};
func_tbl[d];
0680デフォルトの名無しさん
2014/01/07(火) 14:30:59.56回答ありがとうございます
参考にしながらやってみたのですが
これであっているでしょうか?
#include <stdio.h>
int main(void)
{
double a, b, c; char d; float ans;
printf("数字 演算子 数字 を入力してください。\n");
printf("例 12.4 * 4.0\n");
scanf("%lf %c %lf", &a,&d,&b);
//dの値により、加算、減算、乗算、除算を分岐して計算;
if( d == '+') { ans = (a + b);
printf("答えは %f です。\n",ans);
} else if ( d == '-') { ans = ( a - b );
printf("答えは %f です。\n",ans );
} else if ( d == '*') { ans = ( a * b );
printf("答えは %f です。\n",ans );
} else if ( d == '/') { ans = ( a / b );
printf("答えは %f です。\n",ans );
}
return 0;
}
0681デフォルトの名無しさん
2014/01/07(火) 14:50:19.89int main(void)
{
double a, b, c; char d;
printf("数字 演算子 数字 を入力してください。\n");
printf("例 12.4 * 4.0 \n");
scanf("%lf %c %lf", &a, &d, &b);
//dの値により、加算、減算、乗算、除算を分岐して計算
if( d == '+') {
c = ( a + b );
printf("答えは %f です。\n",c);
} else if( d == '-') {
c = ( a - b );
printf("答えは %f です。\n",c);
} else if( d == '*') {
c = ( a * b );
printf("答えは %f です。\n",c);
} else if( d == '/') {
c = ( a / b );
printf("答えは %f です。\n",c);
}
return 0;
}
なんどもすいません
直してみました
0682デフォルトの名無しさん
2014/01/07(火) 15:21:40.51#include<limits.h>
double add(double a, double b){ return a + b; }
double mal(double a, double b){ return a * b; }
double minus(double a, double b){ return a - b; }
double div(double a, double b){ return a / b; }
int main()
{
char d = '*';
double val;
double (*func_tbl[CHAR_MAX])(double,double);//={add,mal,minus,div};
func_tbl['+']=add;
func_tbl['*']=mal;
func_tbl['-']=minus;
func_tbl['/']=div;
val = func_tbl['*'](6,9);
printf("6 %c 9 = %lf\n", d, val);
return 0;
}
0683デフォルトの名無しさん
2014/01/07(火) 15:43:43.36switch使ってみた
#include <stdio.h>
int main(void)
{
double a, b, c; char d;
printf("数字 演算子 数字 を入力してください。\n");
printf("例 12.4 * 4.0 \n");
scanf("%lf %c %lf", &a, &d, &b);
//dの値により、加算、減算、乗算、除算を分岐して計算
switch (d) {
case '+': c = ( a + b ); break;
case '-': c = ( a - b ); break;
case '*': c = ( a * b ); break;
case '/': c = ( a / b ); break;
default : printf("演算子が不正\n"); return 0;
}
printf("答えは %f です。\n",c);
return 0;
}
0684デフォルトの名無しさん
2014/01/07(火) 16:12:12.040685デフォルトの名無しさん
2014/01/07(火) 16:17:51.530686デフォルトの名無しさん
2014/01/07(火) 16:40:21.55むしろ、PHPこそ今日における至高であり、それ以外は大学の怠慢なのだ
0687デフォルトの名無しさん
2014/01/07(火) 16:59:35.040688デフォルトの名無しさん
2014/01/07(火) 18:00:32.860689デフォルトの名無しさん
2014/01/07(火) 18:08:03.780690デフォルトの名無しさん
2014/01/07(火) 18:57:33.34みつを
0691デフォルトの名無しさん
2014/01/07(火) 19:00:44.730692デフォルトの名無しさん
2014/01/07(火) 20:20:59.32crypt動かんバージョンリリースしたりする言語だけどな。
0693デフォルトの名無しさん
2014/01/07(火) 20:45:17.99そういう時、自分でゴリゴリ書いているの?
0694デフォルトの名無しさん
2014/01/07(火) 20:47:58.04別言語のだったとしても書き換えればいいだけ
0695デフォルトの名無しさん
2014/01/07(火) 21:49:39.640696696-1 ◆v.TAYcWkbs
2014/01/07(火) 22:07:18.39[2] 問題文(含コード&リンク): データファイル(rep_data.txt)には「学籍番号、科目A、科目B、科目Cの各点数」が
順に学籍番号順に並んでいる。そのデータファイルをもとにキーボードから入力された学籍番号の
学生の成績(含:3科目の合計点の順位)を表示するプログラムを作れ。
探索は二分探索法を使いソートにはクイックソートを使うこと。
表示は以下のようにすること。
Input A Student Number: 14【Enter】
Ranking : #269 /*最高得点は1位とせよ.*/
Subject A : 86
Subject B : 59.1
Subject C : 220.42
Total : 365.52
0697696-2 ◆v.TAYcWkbs
2014/01/07(火) 22:10:32.60科目 A の得点は int 型,科目 B,C の得点は double 型で扱うこと.
合計点が同じになる学生はいないということは既知とせよ.
データの人数は 1000 人であることもわかっているとせよ.
学籍番号には抜けがある.学籍番号が存在しない場合は,”No data”と表示するようにせよ.
雛型 (121.c) を用いよ.main 関数は完成しているので,main 関数内で呼び出している関数を作成せよ.
[3] 環境
[3.1] OS: Linux
[3.2] コンパイラ名とバージョン:gcc
[3.3] 言語:C
[4] 期限: 2014年01月09日21:00まで
0698デフォルトの名無しさん
2014/01/07(火) 22:20:00.490699692-3 ◆v.TAYcWkbs
2014/01/07(火) 22:21:32.68>>2の一番上のアップローダ(C/C++の宿題片付けます アップローダ)に乗っけときました。(No.1319,No.1321)
長くなり連投してしまいましたがどちらさまかどうかお願いします...
0700デフォルトの名無しさん
2014/01/07(火) 22:30:30.23http://ideone.com/XpSO9A
0701 ◆v.TAYcWkbs
2014/01/07(火) 22:31:20.85コンパイルしたときの表示結果がこうなるようにということです。
>>696で言えば
Input A Student Numberを14と入力した際は以下のような値になるということです
0702デフォルトの名無しさん
2014/01/07(火) 22:32:02.26http://ideone.com/RkFiiI
0703デフォルトの名無しさん
2014/01/07(火) 22:32:53.01http://ideone.com/0tgDYH
0704デフォルトの名無しさん
2014/01/07(火) 22:34:13.03http://ideone.com/V9DYJV
0705 ◆v.TAYcWkbs
2014/01/07(火) 22:47:00.270706デフォルトの名無しさん
2014/01/08(水) 00:02:16.49のっけときましたじゃなくてurlくらい貼れば?
0707デフォルトの名無しさん
2014/01/08(水) 06:19:53.70お前らPHPerならPHP5.3.7(2011年)の超有名バグぐらい知っとけ。
こんなんPHP触らん奴でもITニュース見てれば知ってるバグだぞ。
参考
http://it.slashdot.jp/story/11/08/24/0758215/ PHP 5.3.7に重大なバグ、strncatの罠にはまる
http://bakera.jp/ebi/topic/4507
0708デフォルトの名無しさん
2014/01/08(水) 07:40:46.950709デフォルトの名無しさん
2014/01/08(水) 07:45:05.58愛とperlの残りカス
0710デフォルトの名無しさん
2014/01/08(水) 07:57:31.02それとも初回の実行結果を2度目以降は表示してるだけ?
0711デフォルトの名無しさん
2014/01/08(水) 09:04:07.65投稿があった時に一度だけ実行して、
実行結果と出力をdbに保存してるよ
後は保存結果を表示するだけ
0712デフォルトの名無しさん
2014/01/08(水) 09:37:04.72> Wed Jan 8 01:25:26 2014
0713デフォルトの名無しさん
2014/01/08(水) 13:04:58.17よろしくお願いします。
[1] 授業単元:数理学
[2] 問題文(含コード&リンク):
ナビエ-ストークス方程式から導かれるカオス的振舞を示す非線形方程式としてローレン
ツ方程式
dx/dt = -px + py
dy/dt = -xz + rx - y
dz/dt = xy - bz
がある(p; r; b は定数)。
p = 10; r = 28; b = 8=3 としローレンツ方程式のx; y; z を
オイラー法を用いて求めよ。
初期値をx(0) = 1:0; y(0) = 1:0; z(0) = 1:0、時間刻みをdt = 0:02 と
して、t = 0 からt = 40 まで解き(x; y; z) を図示しなさい。
余力のある人は、2 次のルンゲ・クッタ法や4 次の
ルンゲ・クッタ法を用いて同じ計算をし、プログラムとグラフを
レポートに含めて提出してください。なお、オイラー法を用いた計算と
ルンゲ・クッタ法を用いた計算の考察があると良い。
[3] 環境
[3.1] OS:Linux
[3.2] コンパイラ名とバージョン: (gcc 3.4 VC 6.0等)
[3.3] 言語:どちらでも可
[4] 期限: 2014年1月14日18:00
[5] その他の制限: とくにありません
0714デフォルトの名無しさん
2014/01/08(水) 13:42:35.800715デフォルトの名無しさん
2014/01/08(水) 14:32:55.73手も足もでないって脳に腫瘍でもできてるのか?
0716デフォルトの名無しさん
2014/01/08(水) 14:39:39.01dxdt = -px + py; dydt = -xz + rx - y; dzdt = xy - bz;
dt=0.02;
for(t=0; t<=40; t++){
// eurler method
fprintf(fp, "%lf %lf %lf %lf\n", t, x, y, z);
}
fclose(fp);
0717デフォルトの名無しさん
2014/01/08(水) 14:42:50.76while(t<=40){
t += dt;
}
0718デフォルトの名無しさん
2014/01/08(水) 15:11:37.770720デフォルトの名無しさん
2014/01/08(水) 15:38:16.65どなたか教えて下さい。
0721デフォルトの名無しさん
2014/01/08(水) 15:39:11.43ありがとうございます。
どうかよろしくお願いします。
0722デフォルトの名無しさん
2014/01/08(水) 16:14:58.61知っているがバカの宿題を解いてやるために、
微積をわざわざ思い出すような時間を割きたくない
0723デフォルトの名無しさん
2014/01/08(水) 16:20:44.95716,717のベースがあって課題が解けないって
まともに演習を受けてたと思えないんだけど
0724デフォルトの名無しさん
2014/01/08(水) 16:35:31.95while(t < t_max){
dx += ddx;
x += dx;
t += dt;
}
こんな感じ。QZがtemplateに再起を使って解いたら見直す。
0726デフォルトの名無しさん
2014/01/08(水) 16:44:23.990727デフォルトの名無しさん
2014/01/08(水) 16:46:03.980728デフォルトの名無しさん
2014/01/08(水) 17:25:49.430729デフォルトの名無しさん
2014/01/08(水) 17:31:49.79銀行とか、お絵かき教室とかね。
ノータリンでも脳味噌つかわないとろには就職してたし、
面接官ともフィーリングが合ってたよ。
0730デフォルトの名無しさん
2014/01/08(水) 17:58:31.21スレタイを声に出して読んでみ
0731デフォルトの名無しさん
2014/01/08(水) 18:29:36.140732デフォルトの名無しさん
2014/01/08(水) 18:41:16.35『具体的に解答のどこがうんこか指摘できないようでは』 云々
0733デフォルトの名無しさん
2014/01/08(水) 19:59:13.09crypt実装は何の関数も使わずにできるだろ
0734デフォルトの名無しさん
2014/01/08(水) 20:00:37.94F欄大生を片付けますって意味だろ
0735デフォルトの名無しさん
2014/01/08(水) 20:54:38.82dx = (-p*x + p*y)*dt;
dy = (-x*z + r*x - y)*dt;
dz = (x*y - b*z)*dt;
x+=dx;
y+=dy;
z+=dz;
printf("%f\t%f\t%f\t%f\n", t,x,y,z);
}
0736デフォルトの名無しさん
2014/01/09(木) 09:30:27.49GUIは頑張ってね。
ttp://ideone.com/qu0xNi
0737デフォルトの名無しさん
2014/01/09(木) 19:49:24.56リストの後方から前方向へレコードをたどるのを
容易にするのはどんなレコードにすればいいでしょうか?
ハッシュと切り離して考えるとして、リストを前からたぐったり後ろからなぞったりするんなら、両方向にポインタを張る「双方向リスト」がよさそうだ
0739デフォルトの名無しさん
2014/01/09(木) 23:35:59.370740デフォルトの名無しさん
2014/01/09(木) 23:37:01.57その用法については人によってバラバラって感じがするなぁ。
わしだけ?
0741デフォルトの名無しさん
2014/01/10(金) 01:21:29.06ハッシュも一意なやつと衝突可能なやつがあるから使い分けだと思うよ。
個人的には配列とハッシュは相性いいと思う。
ハッシュをインデックスにして初期の検索をしてそこから綿密に検索すれば多少オーダー下げれる。
ただし単純なチェイン法ではなく、ひとつのチェインの中で入れ替えとかいろいろ細工がしたいのかと
私も小細工に手を染めたことがあるが、いまいちぱっとしなかった、というか「ハッシュ関数による計算量のΟ(1)化」という大義を見失ってしまった
0743デフォルトの名無しさん
2014/01/10(金) 10:15:30.730744デフォルトの名無しさん
2014/01/10(金) 22:20:56.300745 忍法帖【Lv=2,xxxP】(1+0:5)
2014/01/12(日) 17:02:39.47[3] 環境
[3.1] OS: Windows 7 Pro 64bit
[3.2] Visual C++ 2010
[3.3] 言語:C++
[4] 期限: できれば本日中に
[コメント]
まだ勉強を始めたばかりなのですが、実数で躓いています。
よろしくお願いします。
0746デフォルトの名無しさん
2014/01/12(日) 17:12:28.110747デフォルトの名無しさん
2014/01/12(日) 17:59:27.41double a;
scanf("%lf", &a);
printf("%lf\n", a*a*a);
return 0;
}
0748デフォルトの名無しさん
2014/01/12(日) 18:00:22.430749デフォルトの名無しさん
2014/01/12(日) 18:38:38.38C99では後付でOKとなった<printf() の 書式指定子における "%lf"の存在
0751デフォルトの名無しさん
2014/01/12(日) 18:59:16.29C++は?
0752デフォルトの名無しさん
2014/01/12(日) 19:02:28.210753デフォルトの名無しさん
2014/01/12(日) 19:05:08.380754デフォルトの名無しさん
2014/01/12(日) 19:15:38.19#include <iterator>
int main(){std::cout<<[](float x){return x*x*x;}(*std::istream_iterator<float>(std::cin));return 0;}
0755デフォルトの名無しさん
2014/01/12(日) 22:55:05.90[3] 環境
[3.1] OS: Windows 7 Pro 64bit
[3.2] Visual C++ 2010
[3.3] 言語:C++
[4] 期限: できれば本日中に
[コメント]
まだ勉強を始めたばかりなのですが、実数で躓いています。
よろしくお願いします。
0756デフォルトの名無しさん
2014/01/12(日) 23:20:27.38これいいなww
0757デフォルトの名無しさん
2014/01/13(月) 00:00:13.41面白いし便利だけど、なんか古いC/C++とは違う思想があるんだなって感じるわ
JavaScriptとかでこんな書き方するけど、ラムダ式は言語をこう変えたりするのか・・・
0758 忍法帖【Lv=2,xxxP】(1+0:5)
2014/01/13(月) 00:24:49.66ありがとうございます。
確かに動くんですけど、想像していたのとちょっと違いました。
多分色々とおかしいと思うんですけど、どこを直したらいいか教えてください。
#include <stdio.h>
int main()
{
float x = 0;
printf("%f=");
scanf_s("%f", &x);
printf("xの3乗 = %f*%f*%f\n");
return 0;
}
0759デフォルトの名無しさん
2014/01/13(月) 00:38:54.78//printf("%f=");
printf("x=");
scanf_s("%f", &x);
//printf("xの3乗 = %f*%f*%f\n");
printf("xの3乗 = %f\n",x*x*x);
0760 忍法帖【Lv=2,xxxP】(1+0:5)
2014/01/13(月) 00:49:17.88助かりました。
%の意味を勘違いしていたことに気が付きました。
ありがとうございます。
0761デフォルトの名無しさん
2014/01/13(月) 01:10:19.690762デフォルトの名無しさん
2014/01/13(月) 01:12:54.190763デフォルトの名無しさん
2014/01/13(月) 01:15:14.733乗根なら powf(x, 1.0f/3)
0764 忍法帖【Lv=2,xxxP】(1+0:5)
2014/01/13(月) 07:04:02.08このfor文をwhile文にする場合はどうしたらいいんでしょうか?
#include <stdio.h>
int main( void )
{
int i,j;
printf("叫びたい数を入力:");
scanf_s("%d", &j);
for (i = 0; i < j; i++)
{
printf("どんと来い");
}
printf("\n");
return 0;
}
0765デフォルトの名無しさん
2014/01/13(月) 08:03:32.760766 忍法帖【Lv=2,xxxP】(1+0:5)
2014/01/13(月) 08:08:26.95ありがとうございました。
0767デフォルトの名無しさん
2014/01/13(月) 10:28:51.09[2] 問題文http://ideone.com/NFSCh2
[3] 環境
[3.1] OS:Windows
[3.3] 言語:c言語
[4] 期限:1月14日15時まで
0768デフォルトの名無しさん
2014/01/13(月) 10:40:06.11ふむり、QZ!!!!!出番ですよおおおおおおお!!!!
0769デフォルトの名無しさん
2014/01/13(月) 12:42:38.01こういう演習って偏差値いくらぐらいの大学なんだろう
0770デフォルトの名無しさん
2014/01/13(月) 12:49:35.550771デフォルトの名無しさん
2014/01/13(月) 12:55:05.11大学のカリキュラムに合わせるようならIT業界へ進むな
0772デフォルトの名無しさん
2014/01/13(月) 13:03:18.00もう一回冬休みが来るっていうのもいいぞ
0773デフォルトの名無しさん
2014/01/13(月) 13:15:51.240774デフォルトの名無しさん
2014/01/13(月) 14:16:52.84それとも、とりあえずコンパイルってのが悪癖なんだろうか
0775デフォルトの名無しさん
2014/01/13(月) 16:27:37.39応用で不毛な事やっててbcc使わせてるあたりろくな情報系ではないけど簡単すぎないのが不思議
F欄ではなさそうだけどB以上では考え辛いし専門ならレベル低くてもカリキュラムはもう少し実用的だろうし
わからん
0776デフォルトの名無しさん
2014/01/13(月) 17:01:46.84http://ideone.com/YDlXIq
0777デフォルトの名無しさん
2014/01/13(月) 17:07:00.25>専門ならレベル低くてもカリキュラムはもう少し実用的
それはどうか?
>>767 は基本的なソートを網羅しているから専門学科の初歩級だろうね、交換ソート、ていうのはバブルソートのことかな?
0778デフォルトの名無しさん
2014/01/13(月) 17:07:54.96偏差値50未満のE欄理系でも似たような課題でたぞ
>>776
もしかすると770みたいなアホが大手に入って君に命令するんだよ?
0779デフォルトの名無しさん
2014/01/13(月) 17:21:49.270780デフォルトの名無しさん
2014/01/13(月) 18:00:25.70網羅てwww仕事でこんなの書いたら干されるぞw
あと専門って専門学校のつもりだった
>>778
だからFではなくB以上でもない中途半端な辺だろうねって
絞れないの理由は課題の難易度設定と杜撰な授業環境がミスマッチな感じがしただけ
でも実は授業の板書コピペ課題だったとかならありうるか
778のいうE欄理系はコンパイラ何使ってた?
0781デフォルトの名無しさん
2014/01/13(月) 18:56:12.61うちはgcc
>仕事でこんなの書いたら干されるぞ
いやいや、バブルソートは論外としても、選択ソートや挿入ソートはお仕事でも場面によってはありだと思うよ
たとえば、クイックソートでは要素数が十分に減ったら選択ソートや挿入ソートに切り替える、というのは必ずやる。
要素1とか2まで細かくに再帰するコストのほうが高いからね
0783デフォルトの名無しさん
2014/01/13(月) 18:59:03.450784デフォルトの名無しさん
2014/01/13(月) 19:00:45.64脳味噌腐らせないために訓練だと思ってた
0785デフォルトの名無しさん
2014/01/13(月) 19:01:40.02リストのソートとかじゃない?
0786デフォルトの名無しさん
2014/01/13(月) 19:06:50.340787デフォルトの名無しさん
2014/01/13(月) 19:12:45.91ある日、Javaやc++、Perlには、そういったライブラリは
既にあるって知って驚愕したよね?
そして、B欄以上の大学生どころか高校生ですらトップコーダーに
参加しているって知って絶望したよね?
0788デフォルトの名無しさん
2014/01/13(月) 19:22:29.84プログラマに憧れて「ソートや二分木を毎日書いていた」とか臭すぎる。
タイピング速度を競ったり、何分でテトリス書けただの、
自分ではプログラマの力量を示してるつもりで、
単に反復運動する習性を発表しただけのパターン。
いかにコードを書かないかのレベルに至ってない。
0789デフォルトの名無しさん
2014/01/13(月) 19:27:03.560790デフォルトの名無しさん
2014/01/13(月) 19:33:19.84新人研修だな
0791デフォルトの名無しさん
2014/01/13(月) 20:04:37.92守・破・離だ。反復を否定したら破も離もないよ。
0792デフォルトの名無しさん
2014/01/13(月) 21:21:06.920793デフォルトの名無しさん
2014/01/13(月) 21:37:40.73手動かさないと書けるものも書けなくなるよ。
0794デフォルトの名無しさん
2014/01/13(月) 21:46:07.53何が楽しくてIT業界に入るの?
0795デフォルトの名無しさん
2014/01/13(月) 22:01:04.600796デフォルトの名無しさん
2014/01/13(月) 22:08:56.94ふわっと仕様変更来た時に「できません」って言ってろ
そこで何故?って聞かれて説明できてかつ相手を納得させられるあなたは素晴らしい
0797デフォルトの名無しさん
2014/01/13(月) 22:11:03.410798デフォルトの名無しさん
2014/01/13(月) 22:31:37.950799デフォルトの名無しさん
2014/01/13(月) 23:11:19.10B = 0
C[2][4] ={'A','B','C','D'}
{'うんこ','ちんこ','カーチャン','たかし'}
for (i=0;i<5;i++) {
for (j=0;j<5;j++){
A += 1
}
if ( A % 2 == 0) {
B +=1
}
}
A = A % B
printf("答え:%c",&C[A][B])
友達から出題されました。
なんか、絶対コードが間違ってると思うのですが
正しいと言いはります。
訂正してもらえませんか。
0800デフォルトの名無しさん
2014/01/14(火) 00:51:43.54ありがとうございました!
0801デフォルトの名無しさん
2014/01/14(火) 04:04:25.82どっからエディタ縛りの話が出てきたんだ・・・?
0802デフォルトの名無しさん
2014/01/14(火) 16:17:45.79bccって、ボーランドとかFreeのIDEつかってそう
エディタのキーバインドすら身に付かない。糞の役にも立たない演習
0803デフォルトの名無しさん
2014/01/14(火) 16:23:37.090804デフォルトの名無しさん
2014/01/14(火) 17:31:08.410805デフォルトの名無しさん
2014/01/14(火) 18:42:41.20ていうか只の憶測だったのかよ
0806デフォルトの名無しさん
2014/01/14(火) 19:20:57.69俺もBCPadを使ってると予想したぞ
宿題コードの頭でbccなんて使ってるからな
Emacsやvi使うようなら、せめてcygwin入れるだろうし
0807デフォルトの名無しさん
2014/01/14(火) 22:40:17.47どの業界に生きてるのか知らないけどそれが本当ならその会社では働きたくない
0808デフォルトの名無しさん
2014/01/14(火) 22:51:42.36https://en.wikipedia.org/wiki/Quicksort
Optimizations
Two other important optimizations, also suggested by Sedgewick and widely used in practice are:
(略)
Use insertion sort, which has a smaller constant factor and is thus faster on small arrays,
for invocations on small arrays (i.e. where the length is less than a threshold k determined experimentally).
0809デフォルトの名無しさん
2014/01/14(火) 23:33:21.270810デフォルトの名無しさん
2014/01/15(水) 01:43:05.11でも knuth はへんてこなアセンブラを強要するからなあ‥‥
0811デフォルトの名無しさん
2014/01/15(水) 13:23:44.720812デフォルトの名無しさん
2014/01/15(水) 19:54:22.24コテに影響されて正常な判断ができないようでは‥‥適性に乏しいと言わざるを得ない
第一そのコテは割れている
0813デフォルトの名無しさん
2014/01/16(木) 02:10:54.780814デフォルトの名無しさん
2014/01/16(木) 21:23:03.21%c,%s,%d,%x,%X,%oなどに対応したのですが、%12dや%+dなどの実装の方法が分からないのでどなたかご助力お願いします。ソースコード中のprint_string,print_char,print_intなどはアセンブリ言語を用いてシスコールで実装しているものです。
http://ideone.com/XafXzm
[3] 環境
[3.1] OS:ubuntu
[3.2] mips-gcc
[3.3] 言語:c言語
[4] 期限:1月21日まで
0815デフォルトの名無しさん
2014/01/16(木) 21:29:44.090816デフォルトの名無しさん
2014/01/16(木) 22:26:04.550817デフォルトの名無しさん
2014/01/17(金) 00:51:17.96そうなんですけどそのやり方が分からないのです
0818デフォルトの名無しさん
2014/01/17(金) 00:52:55.25apt-file search printf.c
だから、まんま答えが乗ってるじゃないか
0819デフォルトの名無しさん
2014/01/17(金) 00:55:07.010820デフォルトの名無しさん
2014/01/17(金) 01:02:33.560821デフォルトの名無しさん
2014/01/17(金) 01:05:42.21コンパイラ演習的なものはやらされないのかな?
0822デフォルトの名無しさん
2014/01/17(金) 01:09:31.020823デフォルトの名無しさん
2014/01/17(金) 01:16:32.26https://www.opensource.apple.com/source/shell_cmds/shell_cmds-170/printf/printf.c
printf.cってこれですよね?
>>821
自分は来年ですね
0824デフォルトの名無しさん
2014/01/17(金) 01:26:12.97大学のカリキュラムに合わせてプログラミングを学ぶと、ろくな企業に就職できない
0825デフォルトの名無しさん
2014/01/17(金) 01:31:43.20統計はあるの?
0826デフォルトの名無しさん
2014/01/17(金) 01:35:39.780827デフォルトの名無しさん
2014/01/17(金) 01:39:25.49統計はないが証人ならいるぞ
はやいこと、どの業界へ進むか決めたもん勝ち
0828デフォルトの名無しさん
2014/01/17(金) 01:43:14.50従軍慰安婦じゃないんだからさぁw
客観的に評価できる形で頼みます
0829デフォルトの名無しさん
2014/01/17(金) 04:14:12.37ぶっちゃけるとカリキュラムの範囲以外はほとんど実務だと役に立たない
やっぱり情報業界はまだ未熟だから現場を直接参考にしてるんだよね
だから基本的に教えられたことやるだけでいいぞ、応援してる
0830デフォルトの名無しさん
2014/01/17(金) 05:09:42.610831デフォルトの名無しさん
2014/01/17(金) 12:32:16.93こういうホワイトカラーな職場って数が少なくって、
中の人たちも反骨精神がないから市場から淘汰されていく姿が目に浮かぶ
0832デフォルトの名無しさん
2014/01/18(土) 12:19:08.74[3] 環境
[3.1] OS:Linux
[3.2] コンパイラ名とバージョン: gcc
[3.3] 言語: C
[4] 期限: 1/21
課題の量が多いのやってくださった方に5000円報酬として差し上げようと思っています
ネットワークについての課題です
興味ある方はメールください
0833デフォルトの名無しさん
2014/01/18(土) 12:29:19.10http://toro.2ch.net/test/read.cgi/tech/1313183984/
0834デフォルトの名無しさん
2014/01/18(土) 14:43:52.59仕事としてなら全然足りない
0835デフォルトの名無しさん
2014/01/18(土) 14:46:35.210836デフォルトの名無しさん
2014/01/18(土) 14:51:21.440837デフォルトの名無しさん
2014/01/19(日) 10:58:03.43[3] 環境
[3.1] OS: Windows 7 Pro 64bit
[3.2] Visual C++ 2013
[3.3] 言語:C
[4] 期限: 明日
[コメント]
ここに
#include <stdio.h>
int main()
{
int a, b[6];
for(a = 0 ; a < 6 ; a++)
{
printf("整数を入力:= ");
scanf_s("%d", &b[ia);
}
/* 表示 */
for(a = 0; a < 6 ; i++)
printf("%d\n", b[i]);
}
0838837
2014/01/19(日) 11:02:50.31途中で送信してしまいました。
[2] 配列の大きさ6で、それを超えると受け取れないようにする。また負の数を入力した場合、入力処理を中断する。
[3] 環境
[3.1] OS: Windows 7 Pro 64bit
[3.2] Visual C++ 2013
[3.3] 言語:C
[4] 期限: 明日
[コメント]
ここまではできたんですが,負の数で中断させる方法がうまくいきません。
breakを使うんではないか、とは思いますがどこにどのように入れていいのかがよくわかりません。
よろしくお願いします。
#include <stdio.h>
int main()
{
int a, b[6];
for(a = 0 ; a < 6 ; a++)
{
printf("整数を入力:= ");
scanf_s("%d", &b[a]);
}
/* 表示 */
for(a = 0; a < 6 ; i++)
printf("%d\n", b[i]);
}
0839デフォルトの名無しさん
2014/01/19(日) 11:14:20.19for (a = 0 ; a < 6 ; a++)
{
printf("整数を入力:= ");
scanf_s("%d", &b[a]);
if (b[a] < 0) return 0;
}
0840デフォルトの名無しさん
2014/01/19(日) 12:08:56.39ありがとうございました。
ifを使えばいいんですね。
もう少し勉強してみます。
0841デフォルトの名無しさん
2014/01/19(日) 23:33:26.65[2] 問題文 http://ideone.com/W68lkj
[3.1] OS:Windows
[3.3] 言語:c言語
[4] 期限:1月24日15時まで
よろしくお願いします。
>シェル・クイック・マージ・ヒープのソートの実装をせよ。
なんかお題さえ並べればそれだけで課題になるとか、猿でもできる出題だ
そういう課題はバブルソート、選択ソート、挿入ソートで十分だし、実用に供される場合もあると先週書いたのだがねえ
ひとつだけやるなら、クイックソートで十分、次点はヒープ(こいつのデータ構造はほかにも使える)かマージ(外部ソート用途)か
シェルソートなんか知らなくていいくらいだ
いったいどこの学校?教員は誰?
0843デフォルトの名無しさん
2014/01/20(月) 06:34:54.03黙れさっさと宿題やれ、それがお前の仕事だろうが。
関係ないことに口挟むな。粛々と宿題しろ。
0844デフォルトの名無しさん
2014/01/20(月) 06:51:35.58俺は全部バブルソートのソースコードで提出したな
学校がインターネット回線なくて、
夏休みの宿題を家に持ってかえるのも嫌だったから、仕方が無かったんだ・・・
0845デフォルトの名無しさん
2014/01/20(月) 09:19:14.77そのうちクイックくらいは追加しとかないとな、定番だし
0846デフォルトの名無しさん
2014/01/20(月) 09:28:53.38但しデータの入出力部分以外は、for文while文if文のみで書く
[3] 環境
[3.1] OS: Windows 8 64bit
[3.2] Visual Stdudio 2012
[3.3] 言語:C
[4]明日迄には終わらせたい
0847デフォルトの名無しさん
2014/01/20(月) 10:37:41.05置き換え前の文字を探索し入力した文字に変換するソースです
空所補充お願いします
http://f.xup.cc/xup3odydntv.jpg
0848デフォルトの名無しさん
2014/01/20(月) 10:40:28.460849デフォルトの名無しさん
2014/01/20(月) 22:54:26.32バカかお前。お前が先週なにを書いたのだろうと宿題出されることに変わりはないんだよ。
出題にケチつけても宿題がなくなるわけじゃないんだからさっさとやれよ。
何のためにコテハンつけてのさばってやがんだよ。やる気ないんだったらコテ外せ。
学校と教師の名前聞いても宿題を提出したことになるわけじゃないだろうが。
聞くだけ無駄だってわからないもんかねえ。アスペすぎだろお前。
0850デフォルトの名無しさん
2014/01/20(月) 22:58:34.880851デフォルトの名無しさん
2014/01/20(月) 23:02:41.60typedef int value_type; /* ソートするキーの型 */
value_type med3(value_type x, value_type y, value_type z)
/* x, y, z の中間値を返す */
{
if (x < y)
if (y < z) return y; else if (z < x) return x; else return z; else
if (z < y) return y; else if (x < z) return x; else return z;
}
void quicksort(value_type a[], int left, int right)
/* クイックソート
* a : ソートする配列
* left : ソートするデータの開始位置
* right : ソートするデータの終了位置
*/
{
if (left < right) {
int i = left, j = right;
value_type tmp, pivot = med3(a[i], a[i + (j - i) / 2], a[j]); /* (i+j)/2ではオーバーフローしてしまう */
while (1) { /* a[] を pivot 以上と以下の集まりに分割する */
while (a[i] < pivot) i++; /* a[i] >= pivot となる位置を検索 */
while (pivot < a[j]) j--; /* a[j] <= pivot となる位置を検索 */
if (i >= j) break;
tmp = a[i]; a[i] = a[j]; a[j] = tmp; /* a[i],a[j] を交換 */
i++; j--;
}
quicksort(a, left, i - 1); /* 分割した左を再帰的にソート */
quicksort(a, j + 1, right); /* 分割した右を再帰的にソート */
}
}
0852デフォルトの名無しさん
2014/01/20(月) 23:30:18.03ソートなら擬似コードが載ってるだろ
0853デフォルトの名無しさん
2014/01/20(月) 23:35:21.01黙れ高卒w 嫉妬してんじゃねえぞおらw
0854デフォルトの名無しさん
2014/01/20(月) 23:36:42.05お前らがやれww
0855デフォルトの名無しさん
2014/01/20(月) 23:40:34.18情報システム科の修士までとったぞ
おまえなんかIT業界へ行っても、3ヶ月以内に辞める腰抜け
0856デフォルトの名無しさん
2014/01/20(月) 23:50:09.36原文のまま読む方がはやいって後になって理解するんだよ
もっとも公務員志望のチキンだろうけど
0857デフォルトの名無しさん
2014/01/21(火) 00:17:09.19沸騰水方原子炉における主蒸気隔離弁の重要性はどのように位置付けられるのでしょうか?
主蒸気隔離弁の破断をどのように評価すればいいのでしょうか?
以上、詳細をご存知の方は何卒ご教示いただきたく伏してお願いいたします
0858デフォルトの名無しさん
2014/01/21(火) 00:18:53.200859デフォルトの名無しさん
2014/01/21(火) 00:24:14.370860デフォルトの名無しさん
2014/01/21(火) 00:30:18.40他にレポートがあるってPRするあたり本当に地頭の悪いボンクラ学生なんだろうな
0861デフォルトの名無しさん
2014/01/21(火) 01:49:35.360862デフォルトの名無しさん
2014/01/21(火) 04:11:30.70>>848
の感想はどこに反映されているのかな。
0864デフォルトの名無しさん
2014/01/21(火) 11:24:47.07大変詳しくありがとございます
ただ、qsort使っちゃダメなんですよ…図書館で調べてもそんなソースコード見つからなくて…可能なんでしょうか
0865デフォルトの名無しさん
2014/01/21(火) 11:38:32.670866デフォルトの名無しさん
2014/01/21(火) 12:34:36.920867デフォルトの名無しさん
2014/01/21(火) 13:09:22.83しかし、課題がqsortで「for文while文if文のみで書く」ということだと、
再帰不可という意味に取るのが普通だろう。
0868デフォルトの名無しさん
2014/01/21(火) 13:50:46.695個未満で中断するときはEnterで入力し,5個入力後かEnter入力後に、入力したすべての文字列を表示。
[3] 環境
[3.1] OS: Windows 7 64bit
[3.2] Visual C++ 2013
[3.3] 言語:C
[4] 期限: できれば今日中
お力を貸してください。
表示例
1回目:5文字以内で入力
Apple ← キーボード入力したもの
2回目: 5文字以内で入力
Rice ← キーボードで入力したもの
1回目
APPLE ← 結果
2回目
Rice ← 結果
0869デフォルトの名無しさん
2014/01/21(火) 14:41:20.225.times.inject [] do | a |
(a<<gets.chomp[0..5]).last.empty? ? (break a[0..-2]) : a
end.display
>gets_test.rb
r
t
rer
["r", "t", "rer"]
>gets_test.rb
ferrfwefreurfthyuehft
ftwrfrfirefhrfr
erftwrefrwifnhiernfher
dfdfdddjnvjdknvjdvd
dfjdfjdfidjdfjdfdsineogmi
["ferrfw", "ftwrfr", "erftwr", "dfdfdd", "dfjdfj"]
0870デフォルトの名無しさん
2014/01/21(火) 17:03:54.82・6文字以上の入力はどうするか
0871デフォルトの名無しさん
2014/01/21(火) 18:41:55.33やっていただいたのにすいません。
みたことがない関数ばかりです。
ちなみに今勉強している部分は配列とかポインタ、ソートの部分です。
>>870
特に指示はなかったのですが、「5文字以内で入力してください」と表示しようと思っています。
0872デフォルトの名無しさん
2014/01/21(火) 18:51:17.42今までの課題で入力された値の受け取りは何でやってた?
scanf ?
gets ?
0873デフォルトの名無しさん
2014/01/21(火) 18:52:03.40#include "stdafx.h"
#include <conio.h>
#include <string>
#include <iostream>
int _tmain(int argc, _TCHAR* argv[])
{
std::string str;
for (int i=0; i<5; i++) {
char c = (char)getch();
if (c=='\r')
break;
str += c;
}
std::cout << str << std::endl;
return 0;
}
0874デフォルトの名無しさん
2014/01/21(火) 19:06:51.37scanfです。
getsは使ったことありません。
0875デフォルトの名無しさん
2014/01/21(火) 19:10:40.02strlenは使った事ある?
0876デフォルトの名無しさん
2014/01/21(火) 19:14:16.77あります。
strcpyとかも最近やりました。
0877デフォルトの名無しさん
2014/01/21(火) 19:16:23.22途中までやったの載せたらそれを編集してみるよ
0878デフォルトの名無しさん
2014/01/21(火) 19:35:21.41fgets(buf, sizeof(buf), stdin);
printf("%s\n", buf);
0879デフォルトの名無しさん
2014/01/21(火) 19:54:50.47#include <conio.h>
#include <stdio.h>
const int MAX_CHAR_NUM = 5;
int main(void)
{
char s[MAX_CHAR_NUM+1], c;
int i;
memset(s, 0, sizeof(s));
for (i=0; i<MAX_CHAR_NUM; i++) {
c = (char)getch();
if (c == '\r')
break;
s[i] = c;
}
fprintf(stdout, "%s\r\n", s);
return 0;
}
0880デフォルトの名無しさん
2014/01/21(火) 19:57:16.4010%もできていませんけどこれでもよければ
#include <stdio.h>
#include <string.h>
int main(void)
{
int array[5][5],i;
/* 文字の入力 */
for(i = 0 ; i < 5 ; i++)
{
printf("%d回目:5文字以内で入力: = ",i+1);
scanf_s("%s", &array[i]);
}
0881デフォルトの名無しさん
2014/01/21(火) 21:29:09.02qsort使っちゃダメってどういうこと?
再帰がダメってこと?
0882デフォルトの名無しさん
2014/01/21(火) 23:16:30.34そうです。
関数呼び出しも再帰も無しでってことです。
ほんとに初心者で無知を晒してすいません…
0883デフォルトの名無しさん
2014/01/21(火) 23:23:51.59>沸騰水型原子炉の加圧水型原子炉に対する優位性はどこにあるのでしょうか?
沸騰水型原子炉は、減速材として封入している原子炉格納容器内の軽水を直接加熱、それを蒸気として原子炉格納容器外に引き出しタービンをまわすものです。
放射能を十分に帯びた減速材が一次冷却材を兼ねており、減速材でタービンを回す点が利点にも欠点にもなります。
すなわち効率上昇、仕組みが単純なため建設費が安くすむ一方、設備への放射能汚染が高くなり日常の保守作業における被爆量が高くなる欠点があります。
>沸騰水方原子炉における主蒸気隔離弁の重要性はどのように位置付けられるのでしょうか?
原子炉格納容器からの蒸気流量を調整する役割を担っています。
原子炉緊急停止(原子炉スクラム)の際は、炉内に制御棒を挿入すると同時に主蒸気隔離弁が放射能の濃厚な蒸気を遮断する一連のシーケンスを構成しています。
>主蒸気隔離弁の破断をどのように評価すればいいのでしょうか?
主蒸気隔離弁は、原子炉緊急停止時の安全を保障する装置群の一環でありいかなる場合であっても破断は許されません。
今回破断した炉について安全強度が不足していることを示唆する事例といえます。
なお、日本全国の沸騰水型原子炉すべてについて原子炉緊急停止に必要な強度が不足している懸念を示す解釈も可能です。
0884デフォルトの名無しさん
2014/01/21(火) 23:31:09.60コピペしてみましたが動きません
0885デフォルトの名無しさん
2014/01/22(水) 04:27:26.30本日9時提出の課題を今になって気づいたのですが、私の頭ではさっぱりわからないのでお助け下さい…
[1]プログラミングC
[2] 問題文(含コード&リンク):
問1:以下の実行結果に示すような、3つの実数を入力した後、最大値と最小値の差を求めるプログラムを作成せよ。
※例
3つの整数を入力してください。
na=12
nb=65
nc=44
65と12の差は53です。
問2:以下の文字列(programming_jissyu)が配列に格納されているとする。
この文字列を任意の位置で2つ分割して表示するプログラムを作成せよ。
※例
難文字目で分割しますか:11
文字列の前半
programming
文字列の後半
_jissyu
[3] 環境
[3.1] OS:Windows
[3.3] 言語: C
[4] 期限:本日9時
引き続き自分でも挑んでみますが、お時間がある方がいらっしゃいましたらどうかお力添えお願いします。
0886デフォルトの名無しさん
2014/01/22(水) 04:30:11.610887デフォルトの名無しさん
2014/01/22(水) 05:22:07.12問1 問題では実数となっているのに実例では整数となっています。
0888デフォルトの名無しさん
2014/01/22(水) 05:25:18.40すみません、誤植のようなので整数で入力した場合のプログラムでお願いします!
0889デフォルトの名無しさん
2014/01/22(水) 06:02:35.45#include <stdio.h>
int main(){
___ int na,nb,nc,max,min;
___ printf("3つの整数を入力してください。\n");
___ printf("na=");if(scanf("%d",&na)!=1){printf("入力が間違っています\n");return 0;}
___ printf("nb=");if(scanf("%d",&nb)!=1){printf("入力が間違っています\n");return 0;}
___ printf("nc=");if(scanf("%d",&nc)!=1){printf("入力が間違っています\n");return 0;}
___ max=na;
___ if(max<nb)max=nb;
___ if(max<nc)max=nc;
___ min=na;
___ if(min>nb)min=nb;
___ if(min>nc)min=nc;
___ printf("%dと%dの差は%dです。\n",max,min,max-min);
___ return 0;
}
0890デフォルトの名無しさん
2014/01/22(水) 06:09:50.91#include <stdio.h>
int main(){
___ int pos,idx;
___ char str[]="programming_jissyu";
___ printf("難文字目で分割しますか:");
___ if(scanf("%d",&pos)!=1){printf("入力が間違っています\n");return 0;}
___ printf("文字列の前半\n");
___ for(idx=0;idx<pos&&str[idx];idx++){
___ ___ putchar(str[idx]);
___ }
___ printf("\n");
___ printf("文字列の後半\n");
___ for(idx=pos;str[idx];idx++){
___ ___ putchar(str[idx]);
___ }
___ printf("\n");
___ return 0;
}
0891デフォルトの名無しさん
2014/01/22(水) 06:20:42.90>>890
ありがとうございます!無事起動出来ました!!
深夜帯の投稿だったので半分諦めていましたが、こんな時間にも関わらず即作成して頂け本当に感謝しています。
次回また投稿させて頂くような事があった場合にはなるべく余裕を持って行います。本当にありがとうございました。
0892デフォルトの名無しさん
2014/01/22(水) 06:22:11.410893デフォルトの名無しさん
2014/01/22(水) 07:33:23.76自分でこれ組み合わせてやって
-----入力が6文字以上
if(5 < strlen(array[i])) {
}
-----Enter入力の判定
if(array[i][0] == '\0') {
}
-----表示
printf("%s\n", array[i]);
0894デフォルトの名無しさん
2014/01/22(水) 09:32:58.66ありがとうございます。
[入力が6文字以上]のarray[i]の部分がエラーを吐きます。
原因は何でしょうか?
0895デフォルトの名無しさん
2014/01/22(水) 11:02:27.66エラーメッセージを見てみて
0896デフォルトの名無しさん
2014/01/22(水) 11:13:22.430897デフォルトの名無しさん
2014/01/22(水) 11:31:55.840898デフォルトの名無しさん
2014/01/22(水) 15:14:14.580899デフォルトの名無しさん
2014/01/22(水) 18:14:11.100900デフォルトの名無しさん
2014/01/23(木) 22:36:09.98imgur.com/eUDas7F(問題文)
ideone.com/bL70VV(深さ優先探索)
ideone.com/qWnTEr(ライフゲーム)
[3.1]Windows7
[3.3] Cのみ
[4] 2014年1月31日23:59分まで
できれば、解説をコメントアウトで打ち込んでいただけると助かります。どなたかよろしくお願いします。
0901デフォルトの名無しさん
2014/01/24(金) 11:18:31.29[3] 環境
[3.1] OS:Windows 7
[3.3] 言語: C
[4] 期限:できればはやめに
自分なりにやってみましたが,まちがっているところがわかりません。
よろしくお願いします。
int main(void)
{
int array[11];
int x = 2;
int i;
// 10乗までを順番に計算
for (i = 0; i <= 10; ++i) {
array[ i ] = x;
x *= 2;
}
// 逆順
for ( i = 10; i >=0; --i)[
printf("%d\n",array[ i ]);
]
return 0;
}
0902デフォルトの名無しさん
2014/01/24(金) 12:17:08.50実際にどんな結果になってて
求める結果はどんな物なのか追記して
0903デフォルトの名無しさん
2014/01/24(金) 12:23:11.22結果というより、下記のエラーで表示が出来ない状態です
(31)error C2337: 'printf' : 属性が見つかりません。
(31): error C2143: 構文エラー : ']' が ';' の前にありません。
(33): error C2143: 構文エラー : ';' が ']' の前にありません。
0904デフォルトの名無しさん
2014/01/24(金) 12:25:38.29解決できました。
かっこの間違えでした。
お騒がせしました。
0905デフォルトの名無しさん
2014/01/24(金) 12:25:38.800906デフォルトの名無しさん
2014/01/24(金) 16:27:48.702の10乗は1024な
0907デフォルトの名無しさん
2014/01/25(土) 18:34:51.56https://friendpaste.com/JhDjqWnkUb8xYUBgkZVWB
0908デフォルトの名無しさん
2014/01/25(土) 19:44:20.55# ruby2.1.0p0
p [2].cycle.take(20).map.with_index{|m,i|m**i}
p [2].cycle.take(20).map.with_index{|m,i|m**i}.reverse
# => [1, 2, 4, 8, 16, 32, 64, 128, 256, 512, 1024, 2048, 4096, 8192, 16384, 32768, 65536, 131072, 262144, 524288]
# => [524288, 262144, 131072, 65536, 32768, 16384, 8192, 4096, 2048, 1024, 512, 256, 128, 64, 32, 16, 8, 4, 2, 1]
0909デフォルトの名無しさん
2014/01/25(土) 21:07:17.16http://ideone.com/t7N7GX
0910デフォルトの名無しさん
2014/01/25(土) 22:03:10.98継承はゴミ
ミックスインとトレイトへ移行しろ
0911デフォルトの名無しさん
2014/01/26(日) 00:40:29.79仮想メンバ関数(virtual)は、「その」クラス(A2)のポインタ型(A2*)に
派生クラス(B2)のポインタ(B2*)を入れて「A2*型」の仮想メンバ関数実行したとき、
A2の関数ではなく、代入したクラスのB2のメンバ関数が実行されるようにする機能です。
使い分けとしては、上記のような機能が必要なとき(派生クラスのポインタを入れるとき)に
限ってvirtualを使います。これをポリモーフィズムと言ったりします。
ポリモーフィズムでない場合とは、クラスA1に機能を追加して派生した
クラスB1のようなクラス構成の場合です。
この場合は、同じ名前のメソッドでも、それぞれクラスA1専用のもの、
クラスB1専用のものと分かれているため、別の処理をすることになります。
仮想関数は通常のメンバ関数の呼び出しとは異なり、コストが大きいので意味もなく
使わない方がいいです。
また、ポリモーフィズムでない機能の継承は使うべきである場面が限られていますので、
どうしても継承が必要な場合はA4レポート1枚くらいに理由をまとめた方がいいです。
0912デフォルトの名無しさん
2014/01/26(日) 02:40:46.590913デフォルトの名無しさん
2014/01/26(日) 15:49:03.98>ミックスインとトレイト
調べてみます
>>911
わかりやすい説明ありがとうございました。
プログラミングする際、意識して気をつけたいと思います。
0914デフォルトの名無しさん
2014/01/26(日) 17:43:19.74とりあえず探索の方作った解説は書いてないのでわからんことあったら聞いてくれ
ideone.com/5e1eRL
0915デフォルトの名無しさん
2014/01/26(日) 21:47:29.29テキストで独学でC言語を勉強している者ですが、Visual C++で組んだプログラムをコマンドプロンプトで動作させるにはどうしたら良いのですか?
0916デフォルトの名無しさん
2014/01/26(日) 21:51:12.76コンソールアプリケーションでCtrl+F5で走らせてるけど
0917デフォルトの名無しさん
2014/01/26(日) 22:11:17.65[2] 問題文 http://ideone.com/a59S8S
[3.1] OS:Windows
[3.3] 言語:c言語
[4] 期限:1月28日
お願いします。
0918デフォルトの名無しさん
2014/01/26(日) 22:11:20.10それか、Sample3 Sampleb.txt 【Enter】
としかかかれいません。
0919デフォルトの名無しさん
2014/01/26(日) 22:52:05.14使うテキストも全部プロジェクトの一部にしてしまえば楽
0920デフォルトの名無しさん
2014/01/26(日) 23:42:28.71どうやってやるんですか?
0921デフォルトの名無しさん
2014/01/26(日) 23:55:56.40尻大海?
0922デフォルトの名無しさん
2014/01/27(月) 02:00:10.46ビルドするとプロジェクト直下にDebugかReleaseというフォルダができるから、コマンドプロンプトでそこまで辿り着いて実行。
0923デフォルトの名無しさん
2014/01/27(月) 02:04:49.42っとなるんですよね
0924デフォルトの名無しさん
2014/01/27(月) 04:50:12.58まずコンソールプロジェクトを新規で作るだろ
左にSorceとかソースコードとかいう名前のフォルダアイコンみたいのあるだろ
そこのSorceのところ右クリックして、新規ソースコード作成みたいな事やって
そこに書いてコンパイル
煽り抜きで、
この程度が自己解決できないのは、先行きくらいからCとかC++やんないほうが良いよ
0925デフォルトの名無しさん
2014/01/27(月) 05:07:46.58基本的に書き捨てるものなんだからさっさと動作確認して次に行くべきだと思うが……
そもそもコンソールアプリの延長線上にGUIアプリやゲームアプリは存在しないから、コンソールアプリ自体をさっさと見限ったほうがいいよ。
0926デフォルトの名無しさん
2014/01/27(月) 05:39:20.54レガシーなゲームはコンソールベースで作れるし、
コンソールアプリがコンソール+GUIって動作することも普通にできるし、
GUIプログラムでもコマンドライン引数使う事が普通にあるわけで。
コンソール関連を時代遅れって言いたそうに見えるけど、
それはコンソール関連を使わないから出る意見だと思う
0927デフォルトの名無しさん
2014/01/27(月) 07:21:19.40C++でコンソールアプリを作る機会は殆ど無いからな
わざわざあんな重たい開発環境使うなら最初っからC#でGUIやってたほうが良いと思うよ
0928デフォルトの名無しさん
2014/01/27(月) 07:34:35.39プロンプト開く
cd "exeファイルの保存されているフォルダpath"
ファイル名.exe 引数1 引数2 ...
こういう事聞いてんのか?
0929デフォルトの名無しさん
2014/01/27(月) 14:19:37.25そうやってやるんてますか…
テキストでコマンドラインからの入力という項目でSampleか゛【コマンドライン引数をつかう】らしいです。
0930デフォルトの名無しさん
2014/01/27(月) 15:56:08.86結果を報告しますと、Debugのフォルダ内にあるexeファイルと同じフォルダ内(Debugフォルダ)にテキストファイル(Sample.txt)を移したら出来ました。
0931デフォルトの名無しさん
2014/01/27(月) 18:09:43.970932デフォルトの名無しさん
2014/01/27(月) 18:44:52.04引数でファイルを指定する時はフルパスかカレントディレクトリからの相対パスにした方がいい
Sample.exeとSample.txtが同じ場所にある場合は
Sample.exe ./Sample.txt
0933デフォルトの名無しさん
2014/01/27(月) 19:02:23.22ありがとうございます。やってみます。
0934デフォルトの名無しさん
2014/01/27(月) 19:06:26.17訂正
>>930→>>932
0935デフォルトの名無しさん
2014/01/29(水) 07:22:46.70[2] 問題文(含コード&リンク):レポート形式なのですが比較回数を数えるプログラムのソースコードを御教示ください。
問:以下の挿入ソートのプログラムを参考に(次番に記載)着目する各x[i]の大小比較の回数を求めよ。
参考として、各データの比較回数は最大(i-1)回、最小1回、平均(i/2)回となる。
また、それぞれのデータの並びを変えて比較回数とデータの並びの関係を考えよ。
[3] 環境
[3.2] コンパイラ:gcc
[3.3] 言語: C言語
[4] 期限: できれば本日中
0936935
2014/01/29(水) 07:27:08.20#nclude<stdio.h>
int main(void) {
int x[5] = {78, 56, 33, 45, 23};
int a;
int i, j;
for (i=1; i<=4; i++) {
a = x[i];
j = i-1;
while (x[j]>a && j>=0) {
x[j+1] = x[j];
j--;
}
x[j+1] = a;
}
for (i=0; i<=4; i++) {
printf("%d\n", x[i]);
}
return 0;
}
0937デフォルトの名無しさん
2014/01/29(水) 07:48:24.48それと同じようなのどっかで見たな
その書き方だと比較回数と交換回数が分かりにくいので、「挿入ソート 比較回数 交換回数」でぐぐって
崩したソースを参考にすると良い
0938デフォルトの名無しさん
2014/01/29(水) 08:38:13.64int mainのまえに
int cnt=0;
int isBigger(int x_, int a_){
cnt++;
if(x_>a_) return 1;
return 0;
}
を書き足して、
x[j]>a
と書いてあったところを
isBigger(x[j], a)
と書き換えればいいよ
あとは最後のreturn 0の前に
printf("%d\n", cnt);
と書けばよし
0939935
2014/01/30(木) 01:02:36.71先ほどバイト先から帰宅したとこです
>>937
ありがとうございます
完成したプログラムを提出せよではなくレポート形式にしてるのもプログラム自体は完成できなくても考察を何かしらの形で書けば点をつけることができるからみたいです
プログラムだけの提出だとみんな完成できずに提出を諦めて点がつけられないそうです
>>938
プログラムを教えていただきありがとうございます
コンパイルして実行してみるとこの配列では13と出力されましたが
これが挿入ソートが完了するまでに比較された数の総数ということでしょうか?
0940デフォルトの名無しさん
2014/01/30(木) 16:55:51.65ヒープソートについての課題です
[2] 問題文
以下のプログラムは、整列する配列の添え字の下限が1であることを仮定している.
この過程を除いたプログラムを書け.
すなわち、整列する範囲の下限、上限ともに可変とした場合のヒープソートの手続きを書け。
ソースコード: http://ideone.com/HOlaTT
[3] 環境
[3.1] OS: Windows Vista
[3.2] コンパイラ名:gcc
[3.3] 言語: C
[4] 期限: 2014年1月31日14:00まで
期限は明日までですが、どなたかお願いします。
0941デフォルトの名無しさん
2014/01/30(木) 20:28:14.69初心者には分かりやすいよ
0942デフォルトの名無しさん
2014/01/30(木) 22:04:28.84覚えてすぐ誰でもそれなりの事が出来るのがプログラミングって分野なのに何この課題
プログラミングの範囲まで非効率な授業やって愚民化教育してるからソフトウェア分野が進歩しないのな
0943デフォルトの名無しさん
2014/01/30(木) 22:26:15.29APIとデータベースを叩いてるだけのヤツらはソートすら書けないと思うけど
0944デフォルトの名無しさん
2014/01/30(木) 22:46:17.130945デフォルトの名無しさん
2014/01/30(木) 22:52:08.71アルゴリズム系はそれこそAPIやデータベースに封じ込めておくのが一番生産的。
0946デフォルトの名無しさん
2014/01/30(木) 23:09:47.73といっても今時ならパズルゲームの制作にでも関わらんとあまり使われない引き出しなのかな
オセロのAIみたいなものすらググればコピペできる時代だし
0947デフォルトの名無しさん
2014/01/31(金) 02:34:43.210948デフォルトの名無しさん
2014/01/31(金) 06:31:59.46ttp://ideone.com/rXCceP
超汚いけど一応解けたハズ。現在コンパイル中で結果が見れない。
これホントにO(N*logN)で解けてるかよくわからんな。
試用したデータはフォーク前に使ってあったやつを拝借した。
間違ってたら思う存分罵ってくれ。ヒープソートの原理は知ってるが書いたこと無いんだ。
今回やってみてバブルソートより早いのは分かった。
0949デフォルトの名無しさん
2014/01/31(金) 06:39:50.94ソートできてから投稿しなよ
0950デフォルトの名無しさん
2014/01/31(金) 06:39:57.88Ideon重いなー。Codepadも重いなー
結果はこっちで見てくれ。
http://melpon.org/wandbox/permlink/3qPIHHEnkrmHNvYg
ワンドボックスはマイナーだから色々眺めてくれ。
0951デフォルトの名無しさん
2014/01/31(金) 06:40:43.60AfterAがソート済みです。
0952デフォルトの名無しさん
2014/01/31(金) 06:44:41.80宿題の内容みてんのかね
0953デフォルトの名無しさん
2014/01/31(金) 06:46:02.48上限は個数を制限してください。
まだ、なんかある?
0954デフォルトの名無しさん
2014/01/31(金) 06:53:48.83めちゃくちゃ汚いけど、足したところは少ないよ。
0956デフォルトの名無しさん
2014/01/31(金) 07:42:22.98整列する範囲の下限、上限はどこで設定してるのでしょうか?
例えば、下限をleft、上限をrightとしてleft〜rightの範囲を整列するようなプログラムでは
ないような気がするのですが...
おそらく、私の考えですが要素a[ i ]の子ノードはa[ 2 * i - left +1 ]、a[ 2 * i - right + 2 ]
のようになると思うのですが
せっかく作っていただいたのに、申し訳ありませんが
問題文のプログラムも作っていただけないでしょうか?
注文が多くてすいません
0957デフォルトの名無しさん
2014/01/31(金) 07:45:28.51ツリー内でソートしろとは書いてないぞ。
もともと雑な配列の一部をソートできればいいんじゃねーの?
0959デフォルトの名無しさん
2014/01/31(金) 07:55:42.86left〜right までのソートは
データの先頭が data + left で データ数が right - letf +1 個
sort2(data, left, right) { sort(data+left, right-left+1); }
とでも書けばよかろう
0960デフォルトの名無しさん
2014/01/31(金) 08:13:53.71個人的にはこんな感じのことを思ってたんだが、違ったのか。
配列でソート済みバランスツリー作りたいって書いてあったらやらなかったよ。
はー、無力。
0961デフォルトの名無しさん
2014/01/31(金) 08:25:50.74実は私もこの問題文よく理解できてないので
ひょっとしたら、>>960さんのが正しいのかもしれません
(もちろん、問題文はレポート用紙に記載されていたものをそのまま転載しましたが)
事前に私が担当の教員に問題文の意味を聞いておくべきでした
回答、アドバイスしてくれた方
ありがとうございました.感謝いたします.
0962デフォルトの名無しさん
2014/01/31(金) 12:12:23.820963デフォルトの名無しさん
2014/01/31(金) 16:29:12.91http://ideone.com/aBkddt
0964デフォルトの名無しさん
2014/01/31(金) 17:40:53.180965デフォルトの名無しさん
2014/02/01(土) 00:54:40.65ありがとうございました。感謝です。
0966デフォルトの名無しさん
2014/02/01(土) 21:34:16.660967デフォルトの名無しさん
2014/02/02(日) 14:04:12.90申し訳ないのですが、初期状態のファイルはどうすればいいですか?
0968デフォルトの名無しさん
2014/02/02(日) 14:28:35.040969デフォルトの名無しさん
2014/02/02(日) 22:16:37.65ポインタを使ってABCDEを縦に1文字ずつ表示する
[3] 環境
[3.1] OS: Windows 7
[3.2] コンパイラ名:Visual C++ 2013
[3.3] 言語: C
[4] 期限: できれば今日中
途中まで自分なりにやってみたのですが,どう直していいのかがわかりません
よろしくお願いします。
#include <stdio.h>
int main(void)
{
char str[] = "abcde";
char* p_str = str;
printf("%c\n",p_str);
return 0;
}
0970デフォルトの名無しさん
2014/02/02(日) 22:25:35.53int main(void)
{
char str[] = "abcde";
char* p_str = str;
for(;*p_str;)
printf("%c\n",*p_str++);
return 0;
}
0971デフォルトの名無しさん
2014/02/02(日) 23:42:47.71ありがとうございました。
0972デフォルトの名無しさん
2014/02/03(月) 19:23:05.40ポインタを使って標準入力から任意の文字列(全角 2バイト文字)を読み込み、入力された文字列を逆順に出力
[3] 環境
[3.1] OS: Windows 7
[3.2] コンパイラ名:Visual C++ 2010
[3.3] 言語: C
途中まではできたのですが、全角に出来なくて困っています。
#include <stdio.h>
#include <string.h>
int main(void)
{
char str1[100];
char str2[100];
char *p_str1;
char *p_str2;
fgets(str1,sizeof(str1),stdin);
p_str1 = str1;
p_str2 = str2;
0973デフォルトの名無しさん
2014/02/03(月) 19:23:45.51while (*p_str1 != '\0') {
*p_str1++;
}
if(*(p_str1-1) == '\n'){
p_str1--;
*p_str1 = '\0';
}
while (p_str1 > str1) {
p_str1--;
*p_str2 = *p_str1;
p_str2++;
}
*p_str2 = '\0';
printf("入力:%s\n", str1);
printf("逆順:%s\n", str2);
return 0;
}
0974デフォルトの名無しさん
2014/02/03(月) 19:58:07.74できれば今日中にお願いします
0975デフォルトの名無しさん
2014/02/03(月) 20:11:33.36p_str1--=2;
*p_str2 = *p_str1;
*(p_str2+1) = *(p_str1+1);
p_str2+=2;
}
0976デフォルトの名無しさん
2014/02/03(月) 20:36:55.87これでは文字化けしてしまうんですが、includeが足りないとかですか?
0977デフォルトの名無しさん
2014/02/03(月) 21:02:09.76こういう結果になってしまいます
岡山県倉敷市
入力文字列:・
逆順文字列:s・~・q・ァ・R・ェ・
0978デフォルトの名無しさん
2014/02/03(月) 22:13:26.05[2] 問題文:入力した自然数の逆数を小数で求める
[3] 環境
[3.1] OS:7
[3.2] コンパイラ名とバージョン:Visual C++ 2010
[3.3] 言語: C言語
[4] 期限:1週間以内にお願いします
[5] その他の制限:問題文の例として
割り切れる場合はいいのですが
割り切れず永遠に続く循環小数があるので
循環小数の場合
自然数が7の時逆数は0.142857142857・・・となるので
表示するときは 0.142857(この後も142857と永遠に続く)とゆうようにしたいです
説明がうまくないのですがよろしくお願いします
0979デフォルトの名無しさん
2014/02/03(月) 22:33:07.94http://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q1252003112
http://codepad.org/jO63PwAI
0980デフォルトの名無しさん
2014/02/03(月) 22:59:21.38端末のロケールがおかしいんだろね
cp 932なコマンドプロンプト上で実行しましょう
0981デフォルトの名無しさん
2014/02/03(月) 22:59:45.28逆順の処理に入れても動きません
0982デフォルトの名無しさん
2014/02/03(月) 23:08:06.320983デフォルトの名無しさん
2014/02/03(月) 23:09:57.59設定の問題でしょうか?
ソースコードはこれです
http://codepad.org/MCzgHPt4
0984デフォルトの名無しさん
2014/02/03(月) 23:12:13.04それはUTF16の話でしょ
UTF8は可変長なんだから手間は同じだよ
0985デフォルトの名無しさん
2014/02/03(月) 23:22:00.45> p_str1--=2;
p_str1-=2;
ソーリー
0986デフォルトの名無しさん
2014/02/04(火) 00:08:14.31今度はプログラムが停止してしまいます
http://codepad.org/uYgv5AAt
0987デフォルトの名無しさん
2014/02/04(火) 00:13:03.00*p_str1-=2;
ではなく
p_str1-=2;
0988デフォルトの名無しさん
2014/02/04(火) 00:16:11.28ありがとうございます。
ここではポインタ不要だったんですね
0989デフォルトの名無しさん
2014/02/04(火) 00:34:28.460990デフォルトの名無しさん
2014/02/04(火) 04:30:05.99[1] 授業単元:俺の限界
[2] 問題文(含コード&リンク):言語内Lispモドキを作っています。
今回は継承元で継承先の関数が呼べるかの実験をしています。
困ったことに、継承元には余計な情報を付加したくないので、継承元をテンプレートにすることができません。
この条件で、継承元のVoidTypeから、継承先の任意のstd::funtionが呼べるようにならないでしょうか??
サンプル:http://ideone.com/sabUbx
[3] 環境
[3.1] OS: Any
[3.2] コンパイラ名とバージョン:anyだけど、VC2013EEでも動くことが望ましい。
[3.3] 言語: C++11
[4] 期限: 2014/02/06位まで。
[5] その他の制限: C++11の範囲で。かつなるべくVC2013の範囲で。
0991デフォルトの名無しさん
2014/02/05(水) 09:28:35.79[2] 問題文:クイックソートのプログラム(http://melpon.org/wandbox/permlink/h5g91ZEQJkVKz5YW)を改編し比較回数と分割回数を表示させよ
[3] 環境
[3.1] OS:windows7
[3.2] コンパイラ名とバージョン:gcc
[3.3] 言語: C言語
[4] 期限:本日中
[5] その他の制限:グローバル変数を使って少し改編するだけでできるようです。
0992デフォルトの名無しさん
2014/02/05(水) 22:33:00.010993デフォルトの名無しさん
2014/02/06(木) 16:26:22.59VoidTypeにprivateな仮想関数fooを定義して、operator()から呼ぶ
派生クラスでfooをオーバーライドじゃねーの?
0994デフォルトの名無しさん
2014/02/06(木) 16:28:37.330995デフォルトの名無しさん
2014/02/06(木) 21:47:09.13お返事ありがとう。
一応できるということのようなのでググってみます。
回答ありがとうございました。
>>990はこれで閉めます。
0996デフォルトの名無しさん
2014/02/07(金) 02:35:54.190997デフォルトの名無しさん
2014/02/07(金) 03:34:33.10実験要素が強いのでなんとも言えませんけど、
Boost::Anyが入れば大体解決する問題なのですよね。今のところ。
知識が足りない・・・。Orz
ちょっとググってみます。
0998デフォルトの名無しさん
2014/02/07(金) 03:42:16.42いわゆるひとつのMixinですなー。
ちょっと検討してみます。
0999デフォルトの名無しさん
2014/02/07(金) 04:32:52.861000デフォルトの名無しさん
2014/02/07(金) 06:02:07.71ttp://ideone.com/fs9YOw
一応出来ました。戻り値の自由度も確保しましたけど、
こいつをVoidTypeに適応するときに戻り値だけは自由度なさそうなのでBoolにしようと思います。
さて、どうやって調理してやろうか・・・。
ありがとうございました。
10011001
Over 1000Threadもう書けないので、新しいスレッドを立ててくださいです。。。
レス数が1000を超えています。これ以上書き込みはできません。