C/C++の宿題片付けます 131代目
レス数が1000を超えています。これ以上書き込みはできません。
0001デフォルトの名無しさん
2009/10/17(土) 01:08:18【質問者へ】
回答者の便宜のため、質問の際は以下を行うことを推奨します。
・質問は【質問テンプレ】を利用してください。
・問題文は、出題されたまま全文を書いてください。
・問題文やコードをリンクするときは、一言内容にについて説明をつけましょう。
・計算問題は数式をあげ、どのような計算をするのか詳しく説明してください。
・エラーは、その詳細と発生した行を書きましょう。エラーメッセージはコピペしてください。
・後から問題に付け足しするのはコラー!!です。付け足しは作業を無駄にしがちです。
・なりすましを防ぐため、トリップを使ってください。名前欄に、「#」に続けて任意の文字列を入力して投稿すると、その文字列を知らない他人に騙られることを防ぐことができます。
【質問テンプレ】
[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://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/joyful.htm
【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++の宿題片付けます 130代目
http://pc12.2ch.net/test/read.cgi/tech/1250204272/
0002デフォルトの名無しさん
2009/10/17(土) 02:17:130003デフォルトの名無しさん
2009/10/17(土) 02:33:050004デフォルトの名無しさん
2009/10/17(土) 02:48:400005デフォルトの名無しさん
2009/10/17(土) 03:37:230006デフォルトの名無しさん
2009/10/17(土) 04:11:330007前スレ未解決問題
2009/10/17(土) 05:32:22>>986(9982) bitmap(BMP)ファイルの上に円を書く
>>923-925(CODE) ナップサック問題のプログラムを利用し、グラフ彩色問題に当てはめる
>>883 Turbo C CUI画面制御 5問。
>>882 イテレータを使って微分方程式を解きたい
0008デフォルトの名無しさん
2009/10/17(土) 09:03:15#include <iostream>
using namespace std;
void main()
{
char str;
cin>>str;
if('a'<=str&&'z'>=str){
cout<<"小文字"<<endl;
}
else if('A'<=str&&'Z'>=str){
cout<<"大文字"<<endl;
}
else if('0'<=str&&'9'>=str){
cout<<"数字"<<endl;
}
else{
cout<<"それ以外"<<endl;
}
}
0009デフォルトの名無しさん
2009/10/17(土) 09:05:200010デフォルトの名無しさん
2009/10/17(土) 09:14:330011デフォルトの名無しさん
2009/10/17(土) 12:39:25FILE *fp = fopen("bitmapfile.bmp", "w+");
fprintf(fp, "円");
fclose(fp);
#include <windows.h>
#include <stdio.h>
#include <conio.h>
int main(void) {
HANDLE hStdout;
WORD wAttributes;
CONSOLE_SCREEN_BUFFER_INFO csbi;
COORD coord={0,0}, coord1;
DWORD num, i;
hStdout = GetStdHandle(STD_OUTPUT_HANDLE);
GetConsoleScreenBufferInfo(hStdout, &csbi);
FillConsoleOutputAttribute(hStdout, 0, 25*80, coord, &num);
wAttributes = BACKGROUND_RED | BACKGROUND_GREEN | BACKGROUND_BLUE | BACKGROUND_INTENSITY; SetConsoleTextAttribute(hStdout, wAttributes);
for(i=0;i<10;i++) {
coord1.X = 29; coord1.Y = i+7;
SetConsoleCursorPosition(hStdout, coord1);
printf(" ", wAttributes);
}// printf("1234567890123456789012345678901234567890", wAttributes);
getch();
wAttributes = BACKGROUND_RED | BACKGROUND_INTENSITY; SetConsoleTextAttribute(hStdout, wAttributes);
for(i=0;i<14;i++) {
coord1.X = 25; coord1.Y = i+5;
SetConsoleCursorPosition(hStdout, coord1);
printf(" ", wAttributes);
}// printf("1234567890123456789012345678901234567890", wAttributes);
getch();
SetConsoleTextAttribute(hStdout, csbi.wAttributes);
return 0;
}
0013デフォルトの名無しさん
2009/10/17(土) 14:17:490014デフォルトの名無しさん
2009/10/17(土) 15:57:39私の環境は Windows XP, 処理系は gcc 4,.3.2(cygwin) です。
http://codepad.org/oTgc5AyC
日の丸になりました。
0015デフォルトの名無しさん
2009/10/17(土) 19:24:24[2] 問題文(含コード&リンク): http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/9983.zip
[3] 環境
[3.1] OS: WindowsXP
[3.2] コンパイラ名とバージョン: Borland C++ Compiler 5.5
[3.3] 言語: C++
[4] 期限: ([2009年10月19日23:59まで]
[5] その他の制限:特にありません
課題が2つありましたので、ZIPです。
よろしくお願いします。
0016デフォルトの名無しさん
2009/10/17(土) 19:44:35ないのですが。
001715
2009/10/17(土) 19:59:01申し訳ございませんです。
リンク間違えました。
一度違うものを上げてしまったもので・・・
正しくは、こちらです。
http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/9984.zip
本当すいません。
よろしくお願いします。
0018デフォルトの名無しさん
2009/10/17(土) 20:32:26過去問の焼き直しで細かな仕様は満たしていないかもしれません。
http://codepad.org/EhlsRrWo
0019デフォルトの名無しさん
2009/10/17(土) 20:40:26ご回答してくださった方ありがとうございました。
参考にさせていただきます。
002015
2009/10/17(土) 20:47:01ありがとうございます。
いいえ、十分です。
本当にありがとうございました。
課題2は、課題1に()を使えるようにしただけですので
その部分を削って提出します。
助かりました。
0021デフォルトの名無しさん
2009/10/17(土) 21:13:32986です。ありがとうございました!
0022デフォルトの名無しさん
2009/10/18(日) 00:41:062 f(x1)*f(c)<0→f(x1)とf(c)は同符号.x1とcの間に解は無し。x1=cとする。
f(x1)*f(c)<0だと、f(x1)とf(c)は異符号
x1とcの間に解が存在
x2=cとなる
x1-x2が十分小さくなれば(10^-5)終了する
例 cos(x/2)の解
#include <iostream>
#include <cmath>
using namespace std;
int main() {
までは行きますが…
出力はcout
入力はcinでお願いします
0023デフォルトの名無しさん
2009/10/18(日) 01:05:030024デフォルトの名無しさん
2009/10/18(日) 01:19:02すみません。これ分かる人いますか
C++です
0025デフォルトの名無しさん
2009/10/18(日) 01:19:52C++は関係無い
0026デフォルトの名無しさん
2009/10/18(日) 01:20:24そうです。すみません
0027デフォルトの名無しさん
2009/10/18(日) 01:22:38そんなんだったら、何も書かない方がマシ。
0028デフォルトの名無しさん
2009/10/18(日) 01:22:400029デフォルトの名無しさん
2009/10/18(日) 01:27:38ここまでは行きます
というか
始まりはこの文からです
っていう意味です…
0030デフォルトの名無しさん
2009/10/18(日) 09:58:29http://www.geocities.jp/supermisosan/nibunhou.html
ヒント:C→C++ に置換
cout<<"範囲の左の値を入力してください.\n"; cin>>x1;
cout<<"範囲の右の値を入力してください.\n"; cin>>x2;
cout<<"解の値は "<<c<<"\n収束するのに "<<count<<" 回かかりました.\n";
0032デフォルトの名無しさん
2009/10/18(日) 10:37:550033デフォルトの名無しさん
2009/10/18(日) 10:43:20まずはテンプレート >>1 にそって問題を整理してください。書きなぐり?では他の人間に伝わりません。
日本語を磨くこともプログラミングでは重要です。我々は日本語を使って思考しているわけですから。
0034デフォルトの名無しさん
2009/10/18(日) 10:45:08そうですか。もう私らではだめですかね。(TT)
0035デフォルトの名無しさん
2009/10/18(日) 19:11:45[2] 問題文(含コード&リンク):http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/9988.txt
[3] 環境
[3.1] OS: WindowsXP
[3.2] コンパイラ名とバージョン: Borland C++ Compiler 5.5
[3.3] 言語: C++
[4] 期限: ([2009年10月20日23:59まで]
[5] その他の制限:特にありません
よろしくお願いします。
0036デフォルトの名無しさん
2009/10/18(日) 19:22:50int main(void) {
while(1)
printf(" %.16g\n", e());
return 0;
}
0038デフォルトの名無しさん
2009/10/18(日) 22:26:02[2] 問題文(含コード&リンク):
http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/9989.txt
問題文
fx = exp(x)- 3x において 区間{0,1}の根を二分法で求めよ
ただし、収束判定条件には|b-a|<εを用いて ε=10^-5
また根の収束の様子を見るために反復ごとにc、fc の値の変化を調べよ
visual C++でのエラーメッセージ
c(11) : error C2059: 構文エラー : 'サフィックスが無効です
c(11) : error C2146: 構文エラー : ';' が、識別子 'x' の前に必要です。
あと指定されたファイルが見つからないとかでファイルを実行できないです
[3] 環境
[3.1] OS: Windows vista
[3.2] コンパイラ名とバージョン: visual C++
[3.3] 言語: C
[4] 期限: ([2009年10月20日23:59まで]
[5] その他の制限:特にありません
まったく解決方法がわからないです
よろしくお願いします
0039デフォルトの名無しさん
2009/10/18(日) 22:47:080040デフォルトの名無しさん
2009/10/18(日) 23:03:29printf("%d:f(%20.16f)=%9.2e\n", i, c ,fc); に修正してください。i に対応する書式が足りない。
0041デフォルトの名無しさん
2009/10/19(月) 00:32:23[2] 問題文(含コード&リンク):
コンソール画面上に点@を打つ関数 putpixcelを使って
水平方向に線を書く h_line(int x1,int y1,int x2)
垂直方向に線を描く v_line(int x1,int y1,int y2)
斜めの線を描く line(int x1,int y1,int x2,int y2)
を作りこれらを使ってコンソール画面上に図形を書きなさい
但し、line関数において因数はx1<x2,y1<y2,|x2-x1|>|y2-y1|の場合に限定して良い。
[3] 環境
[3.1] OS: (Linux)
[3.2] コンパイラ名とバージョン: xemacs
[3.3] 言語: (C)
[4] 期限: (2009年10月19日13:00まで])
いろいろ考えましたが、全く分りませんでした、どうかお願いします。
0042デフォルトの名無しさん
2009/10/19(月) 00:42:06[2] 問題文
問1
文字を一文字入力して、文字コードが一個次の文字を表示するプログラムを作成せよ。
問2
文字を一文字入力して、入力文字が a-z の範囲のときのみ、次のアルファベットを表示すプログラムを作成せよ。ただし、zを入力した場合は a を表示し、a-z以外の文字を入力した場合は入力した文字をそのまま表示すること。
例:
aを入力 → b を出力
bを入力 → c を出力
zを入力 → a を出力
3を入力 → 3 を出力
$を入力 → $ を出力
Aを入力 → A を出力
問3
文字を一文字入力して、入力された文字が、英字の小文字であるか、英字の大文字であるか、数字であるか、それ以外の文字であるか別して、判別結果を表示するプログラムを作成せよ。
[3] 環境
Windows,
言語:C++
[4] 期限:12月1日
よろしくお願いします。
0043デフォルトの名無しさん
2009/10/19(月) 01:08:42http://codepad.org/dQmOOKYi
004443
2009/10/19(月) 01:09:55あとはこれを参考に考えて下さい。
0045デフォルトの名無しさん
2009/10/19(月) 01:11:10e-lisp でしないといけないのですか?そうならばすれ違いですね。
004643
2009/10/19(月) 01:19:51間違えた。こちらに訂正します。
http://codepad.org/wX3ZzxvN
0047デフォルトの名無しさん
2009/10/19(月) 07:20:25物事をよく理解できない、勘違いでも丸暗記では意味がない。
教育の意味にもよるが、死ぬまで勉強。
生きている内に知ることは多い、時代も変わっていくしね。
そして、於いて朽ち果てていく己を知るのじゃ〜〜wwww
0048デフォルトの名無しさん
2009/10/19(月) 08:18:310049デフォルトの名無しさん
2009/10/19(月) 08:23:310050デフォルトの名無しさん
2009/10/19(月) 08:34:07emacs画面でする作業の事を、emacsで何々すると言う。例えばコンパイル&デバッガ。
0051デフォルトの名無しさん
2009/10/19(月) 08:35:31こんな句点の使い方は日本語にゃねーよw
0052デフォルトの名無しさん
2009/10/19(月) 09:23:590053デフォルトの名無しさん
2009/10/19(月) 09:47:05[2] 問題文(含コード&リンク): http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/9990.txt
http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/9991.txt
[3] 環境
[3.1] OS:Windows
[3.2] コンパイラ名とバージョン: (gcc 3.4 VC 6.0等)
[3.3] 言語:C++
[4] 期限: 2009年10月22日
自分なりに考えてみましたがわかりませんでした。
宜しくお願い致します。
0054デフォルトの名無しさん
2009/10/19(月) 12:32:09なるほど。
emacsでデバッガする
ですね
0055デフォルトの名無しさん
2009/10/19(月) 15:36:52[2] 問題文(含コード&リンク):
設問1.C言語、またはC++言語で、割り算を計算するdev(int x,int y)関数(*)を作成しなさい。ただし、不変表明(assert)を使って、0で除算を実行した場合にエラーを出力するようにすること。(*)関数devは、int型の返値を持ち、x/yを計算するものとする。
[3] 環境
[3.1] OS:Windows
[3.3] 言語:C言語、またはC++言語
[4] 期限: 2009年10月20日(火曜)
よろしくお願いします
0056デフォルトの名無しさん
2009/10/19(月) 16:26:11#include <stdio.h>
#include <assert.h>
int dev(int x, int y) { assert(y != 0); return x / y; }
int main(void)
{
printf("%d\n", dev(2, 0));
return 0;
}
0057デフォルトの名無しさん
2009/10/19(月) 17:41:30[2] 問題文(含コード&リンク):http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/9992.txt
複素数x+iyをR*e^iθという指数表示にするプログラムを作れ。
作れるところまで作ったのがリンク先のプラグラムです。
しかしこれではx,yに何を入れてもてもR=0.0 θ=0.784902になってしまいます。
[3] 環境
[3.1] OS:WindowsVista
[3.2] Borland C++ Compiler 5.5
[3.3] 言語:C++
[4] 期限: ([2009年10月20日12:50まで])
よろしくお願いします
0058デフォルトの名無しさん
2009/10/19(月) 18:17:04http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/9993.c
むかしZ80で割り算ルーチンを書いてたのに忘れてた。
ググってやっと書けたけど、ほんとにむかし出来てたのか心配になった。
0059デフォルトの名無しさん
2009/10/19(月) 18:54:10%f→%lf
0060デフォルトの名無しさん
2009/10/19(月) 18:54:580061デフォルトの名無しさん
2009/10/19(月) 19:28:37[2] 問題文(含コード&リンク):
[3] 環境
[3.1] OS: linux
[3.2] コンパイラ名とバージョン: gcc
[3.3] 言語: c言語
[4] 期限: 2009年10月20日16:00まで
[5] その他の制限:簡単めのコードでお願いします。
0062デフォルトの名無しさん
2009/10/19(月) 19:30:52Brain F*ckの処理系作ればいいのか
0063sage
2009/10/19(月) 19:54:50[1] 授業単元: プログラミング演習
[2] 問題文(含コード&リンク): http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/9994.txt
[3] 環境
[3.1] OS: linux
[3.2] コンパイラ名とバージョン: gcc
[3.3] 言語: c言語
[4] 期限: 2009年10月20日16:00まで
[5] その他の制限:簡単めのコードでお願いします。
0064デフォルトの名無しさん
2009/10/19(月) 21:36:30ここに貼ってもらえませんか?
>>900番代後半だった気がするんですが
0065デフォルトの名無しさん
2009/10/19(月) 21:43:480066デフォルトの名無しさん
2009/10/19(月) 22:49:40using namespace std;
int main(){
double x1, x2, c, a;
cout << "x1: ";
cin >> x1;
cout << "x2: ";
cin >> x2;
while(x2 - x1 > 0.00001){
c = (x1 + x2) / 2;
if (cos(x1 / 2) * cos(c / 2) >= 0) x1 = c;
else x2 = c;}
cout << "x = " << x1 << endl;
return 0;
}
二分法のプログラムこれどこが違うんですか
0067デフォルトの名無しさん
2009/10/19(月) 22:57:33質問の仕方が違うんじゃないの?
cos(x1/2)*cos(x2/2)>0 とか
0068デフォルトの名無しさん
2009/10/19(月) 22:59:01うわ〜〜、変換ミスくらいで突っ込む、絶対にソースコードも
コンパイルするまでエラーしたことがない完璧主義者ですね?
カッコいいです!尊敬します!だから早く老いて死んでくれw
0069デフォルトの名無しさん
2009/10/19(月) 23:01:12もはやこういった場所では正式な文書より喋り言葉が一般的なんだが
その程度のことを気にするお前は時代には乗り遅れる。
そもそも、文化は現在も人間が作っている。正式に認められていなければ
それは間違いというのは、文化の衰退を招く。少しは理解する頭を持て。
で、三点リーダーって・・・ではなく…を使うのが正しいとかなんとか。
所詮、自分が知っている 日本語も一部 だと気づくんだな。
0070デフォルトの名無しさん
2009/10/19(月) 23:07:35と、偉そうなことを言っているが実はよくわかっていない馬鹿な>>69なのであった
0071254
2009/10/19(月) 23:14:10通信のパケットを解析してコードに応じた処理を行いなさい。
ただしコードは必ず2回確認して2回とも同じだった場合のみ処理を行うこと。
コードが2回以上続けて来ても処理は1回のみとする。0XFFが来たら処理を終了すること
※ コード例 0x00, 0x00, 0x01, 0x00, 0x02, 0x02, 0x02, 0x02・・・・・・・・・・0xFF, 0xFF;
なので、こんな感じのソースにしてみました。
static int PreCode = 0xFF;
unsigned int Code = 0;
void Function(unsigned int Code){
if(PreCode != Code){
switch(Code){
case 0x00:
if(Cnt++ >= 1){
/* 1の処理 */
Cnt=0;
PreCode = Code;
}
break;
/* 中略(上記と同じ様にしてcaseの値を変える) */
case 0xFF:
if(Cnt++ >= 1){
/* 終了処理 */
Cnt=0;
PreCode = Code;
}
break;
default:
return;
}}}
[3] 環境 OS:WindowsXp、Vc++6.0
これでは、0x00が来た後に0x01が来た場合に1回目のチェックで処理に入ってしまいます。これを上手く動く様にするにはどうすれば良いかソースの改良をお願いします。
0072デフォルトの名無しさん
2009/10/19(月) 23:14:180073デフォルトの名無しさん
2009/10/19(月) 23:15:28> 2回確認して2回とも同じだった場合のみ処理を行うこと。
この辺が釈然としない
0074デフォルトの名無しさん
2009/10/19(月) 23:17:08いやぁ〜ごめーん、ついうっかり。こういった場所や数学に関する話を他でするもんで
〜に於いてと記入することがあるんで、つい変換ミスしてたのに気づかなくって
ごっめーん、ついでに若くてごめーん、すいすいすいましぇーん
0075デフォルトの名無しさん
2009/10/19(月) 23:22:20なんだって?
それと、数学で「〜に於いて」って使う?適当なアンカー希望
0076デフォルトの名無しさん
2009/10/19(月) 23:29:150077デフォルトの名無しさん
2009/10/20(火) 00:09:57プログラムはどうしたらいいですか?
0078デフォルトの名無しさん
2009/10/20(火) 00:16:340079デフォルトの名無しさん
2009/10/20(火) 00:21:450080デフォルトの名無しさん
2009/10/20(火) 00:21:54[2] 問題文
問1
文字を一文字入力して、文字コードが一個次の文字を表示するプログラムを作成せよ。
問2
文字を一文字入力して、入力文字が a-z の範囲のときのみ、次のアルファベットを表示すプログラムを作成せよ。ただし、zを入力した場合は a を表示し、a-z以外の文字を入力した場合は入力した文字をそのまま表示すること。
例:
aを入力 → b を出力
bを入力 → c を出力
zを入力 → a を出力
3を入力 → 3 を出力
$を入力 → $ を出力
Aを入力 → A を出力
問3
文字を一文字入力して、入力された文字が、英字の小文字であるか、英字の大文字であるか、数字であるか、それ以外の文字であるか別して、判別結果を表示するプログラムを作成せよ。
[3] 環境
Windows,
言語:C++
[4] 期限:12月1日
1回やってもらったんですがわからないんでお願いします。
0081デフォルトの名無しさん
2009/10/20(火) 00:24:31って期限ながっっっ
0082デフォルトの名無しさん
2009/10/20(火) 00:29:40問1
#include <stdio.h>
int main()
{
char a;
scanf("%c",&a);
printf("%c\n", a+1);
return 0;
}
0083デフォルトの名無しさん
2009/10/20(火) 00:45:10制御コードの割合。
#include <stdio.h>
#define BOUND 0.02
double bincnt( char *q , unsigned int size) {
unsigned int bin=0, ascii=0, n;
unsigned char *p=(unsigned char*)q;
for(n=0; n<size; n++) {
if( p[n] < 32 && p[n] !=9 && p[n] !=10 && p[n] !=13 && p[n] !=27 ) bin++; else ascii++; }
return (double)bin/ascii; }
#define STRLEN 25
int main() {
double x;
char ch[STRLEN+1] = "abcdefghijk0123456789ABCD";
printf("Input = %s\n", ch);
x = bincnt( ch, STRLEN);
if( x > BOUND ) printf("Binary\n"); else printf("Not Binary\n");
getchar(); }
0084デフォルトの名無しさん
2009/10/20(火) 00:50:00問2
#include <stdio.h>
int main()
{
char a,b;
scanf("%c",&a);
if(a == 'z')
printf("a\n");
else if(a >= 'A')
printf("%c\n",a);
for(b = 'a'; b < 'z'; b++){
if(b == a)
printf("%c\n", a+1);
}
return 0;
}
008584
2009/10/20(火) 00:54:07printf("%c\n",a);
じゃなくて
else if(a < 'a' || a >= 'z')
printf("%c\n",a);
だった
0086デフォルトの名無しさん
2009/10/20(火) 01:01:57問3
#include <stdio.h>
int main()
{
char a,b;
int c= 0;
scanf("%c",&a);
for(b = 'A'; b <= 'Z'; b++)
if(b == a) c = 1;
for(b = '0'; b <= '9'; b++)
if(b == a) c = 2;
for(b = 'a'; b <= 'z'; b++)
if(b == a) c = 3;
switch(c){
case 1: printf("大文字です\n"); break;
case 2: printf("数字です\n");break;
case 3: printf("小文字です\n"); break;
default: printf("それ以外です\n");break;
}
return 0;
}
そして俺の宿題はわけわかめ
0087デフォルトの名無しさん
2009/10/20(火) 01:10:55今見たら終わってる・・・w
本当にありがとうございます(´;ω;`)
0088デフォルトの名無しさん
2009/10/20(火) 01:30:460089デフォルトの名無しさん
2009/10/20(火) 01:41:32forにしなくてもelseでいいんでない?
ぱっと見動くように見えるからいいけど。
それと、多分'a'から'z'までが連続している保証はないというツッコミも来るだろうけど、
宿題だからでスルーしてもいいと思う。
0090デフォルトの名無しさん
2009/10/20(火) 02:39:340091デフォルトの名無しさん
2009/10/20(火) 02:42:37引数ちゃんと書けってこと?
0092デフォルトの名無しさん
2009/10/20(火) 02:48:57>>90の勘違いじゃないかな
0093デフォルトの名無しさん
2009/10/20(火) 02:59:15int main() (笑)
0094デフォルトの名無しさん
2009/10/20(火) 03:06:150095デフォルトの名無しさん
2009/10/20(火) 03:06:28int main(void)
と書かないとダメとか程度の低い勘違いをしてるんじゃないよな?
0096デフォルトの名無しさん
2009/10/20(火) 03:13:51これが読めない文盲なんだろ。
0097デフォルトの名無しさん
2009/10/20(火) 03:14:190098デフォルトの名無しさん
2009/10/20(火) 03:23:17>>84
問2
#include <stdio.h>
int main() (笑)
0099デフォルトの名無しさん
2009/10/20(火) 03:29:34>言語:C++
これが読めない文盲なんだろ。
文盲(笑) 差別用語(笑) 池沼レベルの発言(苦笑)
0100デフォルトの名無しさん
2009/10/20(火) 03:38:52どこでそんな知識得たの?
0101デフォルトの名無しさん
2009/10/20(火) 03:58:05[1] 授業単元:c言語
言語:C++
問2
#include <stdio.h>
int main() (笑)
0102デフォルトの名無しさん
2009/10/20(火) 04:03:44http://koreawatcher.at.infoseek.co.jp/janexeno.htm
・正式版として最初のリリース。
・Jane終了時の挙動のみ091015試作品から変更された。
───────────────────────
予告どおり、正式版をリリースしました。×ボタンのツールチップ
ヒントに関して、真魚のソースを参考にして修正を試みました。
JaneNidaの開発は事実上終了です。2chの仕様変更などで
対応するかもしれません。
0103デフォルトの名無しさん
2009/10/20(火) 04:04:03> 言語:C++
(苦笑)
0104デフォルトの名無しさん
2009/10/20(火) 04:40:11>言語:C++
これが読めない文盲なんだろ。
>>80
> [1] 授業単元:c言語
これが読めない文盲なんだろ。
0105デフォルトの名無しさん
2009/10/20(火) 04:58:56int main() (笑)?
0106デフォルトの名無しさん
2009/10/20(火) 05:19:560107デフォルトの名無しさん
2009/10/20(火) 07:35:21C++ならint main(){}またはint main(void){}お好みで。
0108デフォルトの名無しさん
2009/10/20(火) 08:31:11int main() (笑)
0109デフォルトの名無しさん
2009/10/20(火) 08:33:12逆に可哀相な奴なんだから気にすることない。
0110デフォルトの名無しさん
2009/10/20(火) 09:01:57>言語:C++
これが読めない文盲なんだろ。
#include <stdio.h> < はい注目!
>>96はこれが見えない文盲なんだろ。
0111デフォルトの名無しさん
2009/10/20(火) 09:40:570112デフォルトの名無しさん
2009/10/20(火) 12:01:36>>113はどう思う
0113デフォルトの名無しさん
2009/10/20(火) 12:13:26いちいち揚げ足とんな>>90
0114デフォルトの名無しさん
2009/10/20(火) 12:53:250115デフォルトの名無しさん
2009/10/20(火) 17:05:36http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/9996.txt
0116デフォルトの名無しさん
2009/10/20(火) 17:14:46期限は10/21の16:00でお願いします。
0117デフォルトの名無しさん
2009/10/20(火) 17:20:30使いまくりなのに、標準を気にするなんておかしいね。
ターゲットようのコンパイラに通りゃなにやったって正義。
0118C初心者
2009/10/20(火) 18:36:06その入力された整数を次の一行にその整数とHexに変換されたもの
を出力、その次の行には、はじめに入力された整数を少数にして
それをまたHexに変換。
もしユーザーが数字以外を入力した場合にエラーと表示させ、
”0”と打ち込めば終了。
というプログラムです。一行目はきちんと出てくるのですが、
入力された値を2行目で少数に変換し、それをまたHexにかえる
というのがわかりません。
こんな感じで出したいのですが、、
>1
1 0x00000001
1.00 0x3F800000
>
どうぞよろしくお願いいたします。
0119デフォルトの名無しさん
2009/10/20(火) 19:37:27#include <stdio.h>
int main(void) {
union{
float a;
unsigned char c[4];
} data;
int i, b;
b = 1;
data.a = b;
for(i=3;i>=0;i--) {
printf("%02X", data.c[i]);
}
}
0120デフォルトの名無しさん
2009/10/20(火) 20:17:13http://pc12.2ch.net/test/read.cgi/tech/1250204272/940
>ANSI以前との互換性のために、ANSI-Cではプロトタイプ宣言の時だけは引数にvoidを
>明示しないとならないことになっている。
>定義ではvoidの明示は不要。
>C++ではプロトタイプ宣言でも関数定義でもvoidの明示は不要。
>
>つまり、ANSI-Cで引数の無いmain関数のプロトタイプを書く場合だけは、引数の型を
>voidとするのが正式。それ以外の場所は省略しても正式。
0121C初心者
2009/10/20(火) 20:23:21返信ありがとうございます。初心者過ぎてコードが読めないんですが、
forループの中ではHexのみをプリントアウトするようになっていますか?
scanfでユーザーの入力を読み込んで、それを整数からHEXへ、少数から
Hexへ変換して表示させるにはどうしたらよいのでしょうか。
それが、unionというものをまだ習っていないので、出来れば使いたくな
いのですが、sizeof(int), sizeof(float)を使ってどのように変換したら
良いのでしょうか?
printf("> %d", n);
if("%d" == char) //CHARではCharを読むことは出来ないんですね?
printf("error");
else if ("%d" == "0"); //これも違いました、、、
return 0;
else{
printf("%10d 0x%08x", n, n);
printf("%10.2f 0x%08X", f, n);
}
よろしくお願いいたします。
0122デフォルトの名無しさん
2009/10/20(火) 20:29:07何かしたいのかがわからん
0123デフォルトの名無しさん
2009/10/20(火) 20:40:58なんでそんな、この宿題スレの過去ログでも争って結論が出たのを
今更蒸し返してんの?w
C言語とC++についてもISO、ANSI準拠の標準スタイルについて
説明されていたよ。で、あんたはC++で#include <stdio.h>とするのね?w
0124デフォルトの名無しさん
2009/10/20(火) 20:43:24するだろ?
C++の規格のどこかにCのライブラリを用いてはならないって書いてあった?
0125デフォルトの名無しさん
2009/10/20(火) 20:45:45このキチガイさんは<cstdio>って書いて欲しいんだよ
0126デフォルトの名無しさん
2009/10/20(火) 21:46:53なんか引っかき回してすまないんだが、
mainのプロトタイプってどこかに書かれてる?
無いなら、最初に出てきた時、つまりmainの定義を以て宣言とする挙動になるはずだよね。
0127デフォルトの名無しさん
2009/10/20(火) 21:48:570128デフォルトの名無しさん
2009/10/20(火) 21:54:16宣言のときなんていってなくね?
プロトタイプ宣言の時なんだから実体の定義を伴う宣言とは別だろ
0129デフォルトの名無しさん
2009/10/20(火) 21:55:20#include <stdio.h>
int main(void) {
int i, b;
float a;
unsigned char c[4];
FILE *fp;
b = 1;
a = b;
fp = fopen("a.txt", "wb");
if(fp == NULL) {puts("ERR"); return 1;}
fwrite(&a, 4, 1, fp);
fclose(fp);
fp = fopen("a.txt", "rb");
if(fp == NULL) {puts("ERR"); return 1;}
fread(&c, 4, 1, fp);
fclose(fp);
for(i=3;i>=0;i--) {
printf("%02X", c[i]);
}
return 0;
}
0130デフォルトの名無しさん
2009/10/20(火) 22:07:21void hoge(void);
void hoge() {}
int main() { hoge(1); return 0; }
このコードの1行目が無ければコンパイルできるじゃん。
それは、関数の定義内容を元にプロトタイプ宣言と見なしているってことじゃないの?
0131デフォルトの名無しさん
2009/10/20(火) 22:08:41x[0] = rand()%6;
x[1] = rand()%6;
x[2] = rand()%6;
y =x[0] + x[1] + x[2];
z[y] = z[y]+1;
変数がわかりにくくてすみません。
xの配列に0〜5の値を保存して合計してyに入れます。
それからzの配列(15こぶん)に入れたいのですが、うまくできません。
たとえば、yが3のとき、z[3]に入れたいのですが・・・。
最終的にどの値が何回出たか表示するためにzの配列に保存しています。
この部分の記述は間違っていないでしょうか??
0132デフォルトの名無しさん
2009/10/20(火) 22:10:15いいよ。
z[y]++;
にしてもいい。
0133132
2009/10/20(火) 22:11:490134>>118
2009/10/20(火) 22:24:40// C言語です。
#include <stdio.h>
#include <stdlib.h>
int main(void) {
int i, x[3], y, z[15];
srand(time(0));
for(i=0;i<15;i++) z[i] = 0;
for(i=0;i<100;i++) {
x[0] = rand()%6;
x[1] = rand()%6;
x[2] = rand()%6;
y = x[0]+x[1]+x[2];
z[y] = z[y] + 1;
}
for(i=0;i<15;i++) printf("%2d %2d\n", i, z[i]);
return getc(stdin);
}
0135>>118
2009/10/20(火) 22:26:230136>>118
2009/10/20(火) 22:29:08for(i=0;i<16;i++) printf("%2d %2d\n", i, z[i]);
ソーリー
0137デフォルトの名無しさん
2009/10/20(火) 22:30:33ありがとうございます。
この場合変数の宣言はどのようにするのがよいのでしょうか?
0138デフォルトの名無しさん
2009/10/20(火) 22:32:05今まで通りでいいよ。
0139デフォルトの名無しさん
2009/10/20(火) 22:34:23「キーボードから数を入力して、当たればHIT、はずれはMISSEDを表示し、はずれた場合に限り
正しい数はなんであったかも表示する」
という課題なのですが、自分で↓のようなプログラムを作ったのですがうまくいかずどこがいけないのかがわかりません・・・
どうかよろしくお願いします
#include <stdio.h>
#include <stdlib.h>
int main(void)
{
int x,y;
srand(time(0));
x=(rand()%3)+1;
printf("imput number=?"); scanf("%d",&y);
if(x=y)
printf("HIT");
else {
printf("MISSED\n");
printf("correct number=x");
}
return(0);
}
0140デフォルトの名無しさん
2009/10/20(火) 22:34:54>>138
できました!ありがとうございます。
配列の宣言部分がおかしかったようです。
0141デフォルトの名無しさん
2009/10/20(火) 22:35:41if(x=y)って大入試気になってね?
0142デフォルトの名無しさん
2009/10/20(火) 22:36:100143デフォルトの名無しさん
2009/10/20(火) 22:39:080144デフォルトの名無しさん
2009/10/20(火) 22:40:50まぁ、ここまで作れたならそれは大丈夫でしょう。
0145デフォルトの名無しさん
2009/10/20(火) 22:42:19>>141-144
すみません初心者で・・・
0146デフォルトの名無しさん
2009/10/20(火) 22:44:50x = yだとxにyの値が入っちゃうので
x == yにしないといけないよって言う話
0147デフォルトの名無しさん
2009/10/20(火) 22:45:02=でつないじゃったら右を左に入れるだから
==じゃないとだめよ
0148デフォルトの名無しさん
2009/10/20(火) 22:46:110149デフォルトの名無しさん
2009/10/20(火) 22:48:07そうでしたか!なるほど・・・
どうもありがとうございます!
>>148
そっちにも問題がありそうですねorz
ちょっと試行錯誤してみます!
0150デフォルトの名無しさん
2009/10/20(火) 22:50:39まぁ'='と'=='の勘違いは誰もが通る道だから
気にしなくていいよ
0151139
2009/10/20(火) 22:56:39ありがとうございます!
無事にプログラムが完成しました!
#include <stdio.h>
#include <stdlib.h>
int main(void)
{
int x,y;
srand(time(0));
x=(rand()%3)+1;
printf("imput number=?"); scanf("%d",&y);
if(x==y)
puts("HIT");
else {
printf("MISSED\n");
printf("correct number=%d",x);
}
return(0);
}
こうしなければいけなかったのですね
大変お世話になりました!
0152デフォルトの名無しさん
2009/10/20(火) 22:56:59警告 : 条件文書くとこで代入してるけど、これ意図して書いてる?
みたいなの。
0153デフォルトの名無しさん
2009/10/20(火) 22:58:010154デフォルトの名無しさん
2009/10/20(火) 23:03:19英語が苦手で警告文を解読するのも一苦労です・・・
>>153
ぶはw
これは恥ずかしいです・・・
0155デフォルトの名無しさん
2009/10/20(火) 23:48:47#include <stdio.h>
int main()
{
return 0;
}
できますた!C++コンパイラでコンパイルして下さい!(キリッ)
0156デフォルトの名無しさん
2009/10/20(火) 23:53:45問題なくコンパイルできますね。(g++, bcc32)
0157デフォルトの名無しさん
2009/10/20(火) 23:54:450158デフォルトの名無しさん
2009/10/21(水) 00:08:410159デフォルトの名無しさん
2009/10/21(水) 00:10:190160デフォルトの名無しさん
2009/10/21(水) 00:26:52[2] 問題文(含コード&リンク):
問1、符号無し整数xを右にnビット回転した値を返す関数
unsigned right(unsigned x,int n)
{
}
を作成せよ
[3] 環境
[3.1] mac
[3.2] gcc?(よくわかりません)
[3.3] C言語
[4] 期限: 2009年10月22日(木)
よろしくお願いします。
0161デフォルトの名無しさん
2009/10/21(水) 00:30:490162デフォルトの名無しさん
2009/10/21(水) 00:43:35指向性を考える必要があるため割と難しい問題だと感じます。
0163デフォルトの名無しさん
2009/10/21(水) 00:46:34質問スレでどうぞ
(ヒント:極座標[0,2π]x[0,π])
0164デフォルトの名無しさん
2009/10/21(水) 00:48:33極座標使ったら簡単じゃねーの?
0165デフォルトの名無しさん
2009/10/21(水) 00:51:53unsigned right(unsigned x, int n)
{
reutrn x >> n | x << (sizeof(unsigned) * 8 - n);
}
0166デフォルトの名無しさん
2009/10/21(水) 01:26:010167デフォルトの名無しさん
2009/10/21(水) 07:30:33多分 [0, 4πr^2) の一様乱数を座標に変換するのがいいとは思うんだけど難しいね
0168デフォルトの名無しさん
2009/10/21(水) 18:24:38main() のプロトタイプをわざわざかくのであれば、それは
int main(void);
のでしょうが、普通はプロトタイプなぞかかずに
int main()
{
return 0;
}
と main() を定義しますよね。main() の定義であれば int main() と買いて、規格に沿っていない記法とはならないわけです。
0169デフォルトの名無しさん
2009/10/21(水) 19:00:39C++ならそうだね
0170デフォルトの名無しさん
2009/10/21(水) 19:14:41#include<stdio.h>
#include<stdlib.h>
#include<math.h>
double uniformed_rand(void)
{
return (double)rand()/(RAND_MAX+1);
}
int main(void)
{
double theta, phi;
double r=5.0, x, y, z;
int i;
for(i=0;i<100;i++)
{
phi=asin(uniformed_rand()*2-1);
theta=uniformed_rand()*2*M_PI;
x=r*cos(theta)*cos(phi);
y=r*sin(theta)*cos(phi);
z=r*sin(phi);
printf("x=%f y=%f z=%f\n", x, y, z);
}
return 0;
}
0171デフォルトの名無しさん
2009/10/21(水) 19:17:35んだから、プロトタイプが書かれていない場合はint main()をプロトタイプだと見なすんじゃないのって話
で、そうなればvoidの省略は許されないよね。
どこかで
int main(void);
という宣言がされていれば、定義時はint main()で問題ないよね。
その上で、int main()の定義がANSI-Cにおいて完全合法であるからには、どこかで宣言されているか、
またはmainが特殊であるかのいずれかだと思うんだ。
0173デフォルトの名無しさん
2009/10/21(水) 19:43:42プロトタイプ宣言は「実体と伴わない関数の宣言」だろ
int main()って書かれてその後に実体がそのまま書かれてるなら「実体を伴う関数の宣言」なのだからプロトタイプじゃないだろ。
0174デフォルトの名無しさん
2009/10/21(水) 19:48:50そっか。プロトタイプじゃないか。
プロトタイプ宣言はされてるのかなぁ
0175デフォルトの名無しさん
2009/10/21(水) 19:51:27つまるところint main()は完全合法ってことになるのね
0176デフォルトの名無しさん
2009/10/21(水) 19:57:02いっぱいついてどうしようかと思った。
0177デフォルトの名無しさん
2009/10/21(水) 20:50:11いや、べつに main() のプロトタイプを書いてもいいんですよ。無意味ですが。
0178デフォルトの名無しさん
2009/10/21(水) 20:52:44え?
どう書くの
0180デフォルトの名無しさん
2009/10/21(水) 21:43:26「プロトタイプ」の意味、理解してる?
0181デフォルトの名無しさん
2009/10/21(水) 22:30:10[2] 問題文:
キーボードから自然数を入力し1から入力した数までの自然数の中から、
3の倍数と3のつく数字をすべて出力するプログラムを作成しなさい。ただし、
3の倍数と3のつく数字を入力したときに真(非0)、それ以外の場合は偽(0)を返す関数
(関数名は任意)を作成し、それをmain関数内から呼び出して使用すること
{実行例}
自然数を入力して下さい.
100
1から100までで3の倍数と3のつく数字は以下の通りです.
3 6 9 12 13
15 18 21 23 24
27 30 31 32 33
34 35 36 37 38
39 42 43 45 48
51 53 54 57 60
63 66 69 72 73
75 78 81 83 84
87 90 93 96 99
[3] 環境
[3.1] OS:Linux
[3.2] コンパイラ名とバージョン:gcc
[3.3] 言語:C言語
[4] 期限:明日まで
0182デフォルトの名無しさん
2009/10/21(水) 22:55:13int f(int n)
{
if(n % 3 == 0) return 1;
while(n) {
if(n % 10 == 3) return 1;
n /= 10;
}
return 0;
}
int main(void)
{
int i, n, cnt;
printf("自然数を入力して下さい.");
scanf("%d", &n);
printf("1から%dまでで3の倍数と3のつく数字は以下の通りです. \n", n);
for(i=1,cnt=0; i<=n; i++) if(f(i)) printf("%d%c", i, ++cnt % 5 ? ' ' : '\n');
return 0;
}
0183162
2009/10/21(水) 23:08:13考えて頂いてありがとうございます。
結局点が選ばれる確率を1/4πとして,極座標表示での微小領域に点が入る確率の積分が1になることを利用し,
微小領域の確率を変形して無理やり乱数を使える形にしました。省略しすぎた説明ですいません。
結局 ( theta, phi ) = ( arccos(r1), 2*pi*r2 ) という式を導きました。
但し,r1:[-1, 1],r2:[0, 1]で,theta:[0, pi],phi:[0, 2*pi]で考えています。
0184デフォルトの名無しさん
2009/10/21(水) 23:51:24難しく考えすぎ。
#include <iostream>
int main( );
int main( )
{
std::cout << "Hello World" << std::endl;
return 0;
}
0185デフォルトの名無しさん
2009/10/22(木) 00:07:52プロトタイプ宣言がどうとか、独自の環境なら話は別。
もう少し言葉の意味を理解する頭を持ってくれよ。
ANSI、ISO準拠では条件もしっかり明記されている。
main関数を プログラムの開始 とする。
自分でソースの中から開始の関数を指定できるなら
もはやISO、ANSI準拠にあらず、ご自由にどうぞ。
で、ANSI、ISO準拠の 標準スタイル ではC言語は引数がないなら
int main(void)としている。従うか従わないから各個人の任意にお任せ。
int main()でも良いじゃないか?どうぞどうぞ。別にそれが
間違っているなんて誰も言ってませんよ?
0186デフォルトの名無しさん
2009/10/22(木) 00:09:21世界のアツナベキターーーーー!
0187デフォルトの名無しさん
2009/10/22(木) 00:41:34[2] 問題文(含コード&リンク):
問1
行列のかけ算を使って幅20、高さ140の長方形の横に3.3倍、縦に0.4倍の拡大率で表示をするプログラムを作成せよ。
問2
サンプルプログラムを参考にして、画面の中心に幅80、高さ50の長方形を原点を中心にπ/8だけ回転させた長方形を描くプログラムを作成せよ。
http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/9995.txt
問3
画面上に描かれた長方形がキー入力によって原点を中心に回転するアニメーションを実現するプログラムを作成せよ。キーの「1」と「3」で回転角度が増減するようにせよ。
[3.1] WindowsXP
[3.2] Turbo c++ 4.0
[3.3] C++
[4] 今週の金曜日まで
お願いいたします。
0188デフォルトの名無しさん
2009/10/22(木) 00:45:45int main() { return 0; } は完全に ANSI 準拠ですけれども、何がおっしゃりたいのでしょうか?
>>184
int main(void);
int main() { return 0; }
ではなかろうかと。プロトタイプには void が必要となるのが ANSI 準拠です。
0190デフォルトの名無しさん
2009/10/22(木) 02:11:06ああ、そういうこと?
K&Rなんかは、合法だが標準じゃないスタイルで記述された、それだけの話か。
標準じゃないからといってint main()がひたすらに叩かれる理由がよく分からんけど、とりあえず理解した。
0191デフォルトの名無しさん
2009/10/22(木) 02:25:220192デフォルトの名無しさん
2009/10/22(木) 02:57:430193デフォルトの名無しさん
2009/10/22(木) 12:56:02お前に触れない方が良いことは分った。理解力のない池沼めw
0194デフォルトの名無しさん
2009/10/22(木) 12:58:51> 何がおっしゃりたいのでしょうか?
分らないならレスするなよ、バカw
準拠ですけれども?意味不明。前提条件もあってのことだが???
だから敢えて細かく説明されてんじゃん。いい加減、この手の話は
過去ログで決着がついているから、後は自分で調べろ。
> int main() { return 0; }
激しく意味不明な指摘w
0195デフォルトの名無しさん
2009/10/22(木) 13:05:54ANSI、ISO準拠のmain関数の記述の「標準スタイル」についてだぞ?
mainに関係なくプロトタイプ宣言にvoidが必要だのって、そういう話じゃない。
int main(void)かint main()か?だから上の方でC言語 int main() (笑)とか
言われてたんだろ。
後で必死に反発したつもりなのか、C++が読めない「文盲」なんて
人を見下す差別用語を平気で使うならず者が出てくるし。
C++なんて突っ込むから #include <stdio.h> についてさらに突っ込まれてやんの。
もう支離滅裂。話の主題、論点が分らないならレスしないで構わんよ。
自分が無知だとばれますよ?
0196デフォルトの名無しさん
2009/10/22(木) 13:17:12そりゃそこだけ抜けば意味不明な指摘になる
プロトタイプのとこだとおもうよ
ANSI-Cにおけるint main(){return 0;}は合法であるという旨のレスをいくつかしたんだけど
>>176の通り、C++なら大丈夫だよ!というのが混ざってくるから話がこじれたんじゃないか?
C++は関係ない、で捨てようにも、「C++なら」ってことはCではダメだという風に取れちゃうし。
0197デフォルトの名無しさん
2009/10/22(木) 13:26:15それをプロトタイプ宣言とか言い出したら意味不明だわw
いい加減、プロトタイプ宣言から離れろ
0198デフォルトの名無しさん
2009/10/22(木) 13:37:530199デフォルトの名無しさん
2009/10/22(木) 15:59:01…ハンドル取得…
HDC b = (HDC)a;
これってダメなんだっけ?w
0200デフォルトの名無しさん
2009/10/22(木) 16:06:52aは何のハンドルですか?
0201デフォルトの名無しさん
2009/10/22(木) 16:07:360202デフォルトの名無しさん
2009/10/22(木) 16:53:18フォントのハンドルをHDCにキャストするのは、ダメです。
使い方が間違っています。
0203デフォルトの名無しさん
2009/10/22(木) 16:55:38typedef struct hcd {
foo_t foo;
} *HDC;
typedef struct handle {
struct hcd hdc;
bar_t bar;
} *HANDLE;
typedef struct font {
struct handle handle;
baz_t baz;
} *FONT;
とかなっているんだったら、いいでそ
もしかしてHDCって、Windowsのあれかな。
typedef void *HANDLE;
typedef struct hdc {
foo_t foo;
} *HDC;
typedef struct font {
struct hdc hdc;
bar_t bar;
} *FONT;
こんなのでもいいわ。
もう、typedef void *HANDLE, *HDC, *FONT;でもいいわ。
どういう風に宣言なり定義なりされているのかわからないと何とも言えない。
0204デフォルトの名無しさん
2009/10/22(木) 17:30:19Windowsのスレへどうぞ
void*をむやみにキャストしてもだめということだろうが
0205デフォルトの名無しさん
2009/10/22(木) 21:57:18[2]以下のプログラムの図形を画面の中心に平行移動をしてから表示するように改造せよ。
結果として画面の中央(320, 240)を中心とした回転移動の角度をキー入力によって増減するようにせよ。
http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/9998.txt
[3.1]WindowsXP
[3.2] turbo c++ 4.0
[3.3] c++
[4] 明日中
よろしくおねがいします。
0206デフォルトの名無しさん
2009/10/22(木) 22:11:56大体の流れとして。
HDC hdc;
PAINTSTRUCT ps;
hFont = CreateFont(…);
hdc = BeginPaint(hWnd, &ps);
SelectObject(hdc, hFont);
じゃないの。それぞれ宣言場所違うけどね。
デバイスコンテキストハンドル2つ生成してSelectObjectすればそれっぽいんじゃないか?。
0207デフォルトの名無しさん
2009/10/22(木) 23:55:47実行してもすぐに
コマンドプロンプトが閉じてしまって結果が見れません
対処法を教えてください。
0208デフォルトの名無しさん
2009/10/23(金) 00:01:210209デフォルトの名無しさん
2009/10/23(金) 00:01:29「終了後に自動的に閉じる」のチェックを外す。
0210デフォルトの名無しさん
2009/10/23(金) 00:13:56[2] 問題文(含コード&リンク):
[1 2 0] [3 2 0 1] [3 4 0 2 1]みたいな同じ数字を使わない任意の長さでランダムな数列の作成するプログラム。
[3] 環境
[3.1] OS: vista
[3.2] コンパイラ名とバージョン: gcc ?
[3.3] 言語: C
[4] 期限: 来週の木曜日
rand()、switchでごり押しくらいしか思いつかないです…
0211デフォルトの名無しさん
2009/10/23(金) 00:20:49カードシャッフルのアルゴリズムと同じ
0212デフォルトの名無しさん
2009/10/23(金) 00:23:11論より証拠。口先よりソースコード。
0213デフォルトの名無しさん
2009/10/23(金) 00:46:22#include <stdio.h>
#include <stdlib.h>
#include <time.h>
int main(int c, char **v)
{
int n,*a,i;
if (c<2)return 0;
a=malloc((n=atoi(v[1]))*sizeof(int));
if (a==NULL)return 1;
srand(time(NULL));
for (int i = 0; i < n; ++i) a[i] = i;
putchar('[');
for (int i = 0; i < n; ++i) {
int k = i + rand() % (n - i); printf("%d ", 1 + a[k]);
a[k] = a[i];
}
putchar(8);
putchar(']');
return 0;
}
0214デフォルトの名無しさん
2009/10/23(金) 00:46:40207なですがどこで右クリックすればいいのか
教えてもらえないでしょうか。
0215デフォルトの名無しさん
2009/10/23(金) 00:51:33.pif ファイル。
つーか、単に main の最後に getchar() か何か付け足して、
エンターで終了ってことにしとけば良いんじゃね?
0216213
2009/10/23(金) 00:54:49携帯だから自分で確認できないんだが。
0217デフォルトの名無しさん
2009/10/23(金) 00:55:53今日から勉強始めて
まったく分からない状況だったので助かりました
0218デフォルトの名無しさん
2009/10/23(金) 01:54:50srand(time(NULL)); (苦笑)
for (int i = 0; i < n; ++i) a[i] = i; (爆笑)
int k = i + rand() % (n - i); printf("%d ", 1 + a[k]); (大爆笑)
putchar(8); (失笑)
0219デフォルトの名無しさん
2009/10/23(金) 02:18:55#include <stdio.h>
#include <stdlib.h>
#include <time.h>
int main(int c, char **v){
int n,*a,i,k;
if (c<2)return 0;
a=malloc((n=atoi(v[1])) * sizeof (int));
if (a==NULL)return 1;
srand(time(NULL));
for (i = 0; i < n; ++i) a[i] = i+1;
putchar('[');
for (i = 0; i < n; ++i){
k = i + rand() % (n - i);
printf("%d ", a[k]);
a[k] = a[i];
}
putchar(8);
putchar(']');
return 0;
}
0220デフォルトの名無しさん
2009/10/23(金) 02:29:22修正しといてくれ。
0221デフォルトの名無しさん
2009/10/23(金) 02:32:41#include <stdio.h>
#include <stdlib.h>
#include <time.h>
int main(int c, char **v){
int n,*a,i,k;
if (c<2)return 0;
a=malloc((n=atoi(v[1])) * sizeof (int));
if (a==NULL)return 1;
srand(time(NULL));
for (i = 0; i < n; ++i) a[i] = i;
putchar('[');
for (i = 0; i < n; ++i){
k = i + rand() % (n - i);
printf("%d ", a[k]);
a[k] = a[i];
}
putchar(8);
putchar(']');
return 0;
}
0222デフォルトの名無しさん
2009/10/23(金) 04:31:04for(i=n; i; ) {
k = rand() % i--;
0223デフォルトの名無しさん
2009/10/23(金) 04:55:38#include <stdio.h>
#include <stdlib.h>
#include <time.h>
int main(int c, char **v){
int n,*a,i,k;
if (c<2)return 0;
a=malloc((n=atoi(v[1])) * sizeof (int));
if (a==NULL)return 1;
srand(time(NULL));
for (i = 0; i < n; ++i) a[i] = i;
putchar('[');
for (i=n; i;){
k = rand() % i--;
printf(i?"%d ":"%d", a[k]);
a[k] = a[i];
}
putchar(']');
return 0;
}
0224デフォルトの名無しさん
2009/10/23(金) 05:03:45for (i = 0; i < n; i++){
k = rand() % (n-i);
a[k] = a[n-i];
}
とするのが好きだな。
0225デフォルトの名無しさん
2009/10/23(金) 05:07:100226デフォルトの名無しさん
2009/10/23(金) 05:17:470227C初心者
2009/10/23(金) 06:26:19御礼が遅くなりました。
ありがとうございました。
0228デフォルトの名無しさん
2009/10/23(金) 06:48:23ループの中で場合わけするなら、]もつけちゃえばいいのに。
0229デフォルトの名無しさん
2009/10/23(金) 08:10:48#include <stdio.h>
#include <stdlib.h>
int main(void)
{
int i, j, n, *p;
srand(time(NULL));
scanf("%d", &n);
p = malloc(n * sizeof(int));
for(i=0; i<n; i++) {
j = rand() / (RAND_MAX + 1.0) * (i + 1);
p[i] = p[j];
p[j] = i;
}
printf("[%d", p[0]);
for(i=1; i<n; i++) printf(" %d", p[i]);
printf("]\n");
free(p);
return 0;
}
0230デフォルトの名無しさん
2009/10/23(金) 11:44:38[1] 授業単元:プログラミング言語C
[2] 問題文:
以下のプログラムの『考える』ところを直し、キーボードから1を入力したらRed2ならGreen、3ならBlueの文字列が画面表示されるようにせよ。またそれ以外の数字が入力されたら『終了します』と画面表示されプログラムが終了するようにせよ
#include<stdio.h>
int main()
{
char *colors[]={"Red", "Green", "Blue"};
int input;
scanf("%d",&input);
if(考える) {
printf("%s\n", colors[考える]);
};
return 0;
}
[3] 環境
[3.1] OS: (Windows/Linux/等々)
[3.2] コンパイラ名とバージョン:VC ++
[3.3] 言語: C
[4] 期限:早く出せば点数が上がるので出来るだけ早くお願いします
[5] その他の制限:
よろしくお願いします
0231デフォルトの名無しさん
2009/10/23(金) 11:49:39#include<stdio.h>
int main()
{
char *colors[]={"Red", "Green", "Blue"};
int input;
scanf("%d",&input);
if(1 <= n && n <= 3) {
printf("%s\n", colors[n - 1]);
}else {
printf("終了します\n");
}
return 0;
}
0232デフォルトの名無しさん
2009/10/23(金) 11:54:19#include<stdio.h>
int main()
{
char *colors[]={"Red", "Green", "Blue"};
int input;
while(1){
scanf("%d",&input);
if(input>0&&input<4){
printf("%s\n", colors[input-1]);
}else{
printf("終了します\n")
break;
}
}
return 0;
}
0233デフォルトの名無しさん
2009/10/23(金) 12:36:500234デフォルトの名無しさん
2009/10/23(金) 12:41:02#include<stdio.h>
#include<string.h>
int main()
{
char *colors[]={"Red", "Green", "Blue"};
int input;
char *nums[]={"1", "2", "3"};
char b[80];
gets(b);
for(input=0;input<4;input++)if(!strcmp(b,nums[input]))break;
if(input<4){
printf("%s\n", colors[input]);
}else{
printf("終了します\n");
}
return 0;
}
0235デフォルトの名無しさん
2009/10/23(金) 12:56:45#include<stdio.h>
#include<string.h>
int main()
{
char *colors[]={"Red", "Green", "Blue"};
int input;
char *nums[]={"1", "2", "3", "4", "5", "6", "7", "8", "9", "0"};
char b[80];
gets(b);
for(input=0;input<11;input++)if(!strchr(b,"0123456789"[input]))printf("終了します\n"),return 0;
for(input=0;input<11;input++)if(!strcmp(b,nums[input]))break;
if(input<4){
printf("%s\n", colors[input]);
}else if(input<10){
printf("終了します\n");
}
return 0;
}
0236デフォルトの名無しさん
2009/10/23(金) 13:05:540237デフォルトの名無しさん
2009/10/23(金) 13:08:44#include<stdio.h>
#include<string.h>
int main()
{
char *colors[]={"Red", "Green", "Blue"};
int input;
char *nums[]={"1", "2", "3", "4", "5", "6", "7", "8", "9", "0"};
char b[80];
gets(b);
for(input=0;input<11;input++)if(!strchr(b,"0123456789"[input]))printf("終了します\n"),return 0;
for(input=3;input<11;input++)if(strstr(b,nums[input]))printf("終了します\n"),return 0;
for(input=0;input<4;input++)if(!strcmp(b,nums[input]))break;
if(input<4){
printf("%s\n", colors[input]);
}
return 0;
}
0238デフォルトの名無しさん
2009/10/23(金) 13:37:15#include <stdio.h>
#include <string.h>
int main(void) {
char *colors[] = {"Red", "Green", "Blue"};
int input, i;
char buf[1024];
char *num[] = {"0","1","2","3","4","5","6","7","8","9"};
char *num2[] = {"零","一","二","三","四","五","六","七","八","九"};
fgets(buf, 1024, stdin);
input = atoi(buf);
for(i = 0; i < 10; i++) if (strncmp(buf, num[i]) == 0) input = i;
for(i = 0; i < 10; i++) if (strncmp(buf, num2[i]) == 0) input = i;
if (input <= 0 || input >= 4) printf("終了します\n");
printf("%s\n", colors[input]);
return 0;
}
0239デフォルトの名無しさん
2009/10/23(金) 13:43:12__declspec(dllimport) extern int scanf(const char *s, ...);
int main(void) {
char *colors[] = {"Red", "Green", "Blue"};
int input;
char b[80];
gets(b);
input = atoi(b);
if (input <= 0 || input >= 4) printf("終了します\n");
else printf("%s", colors[input - 1]);
return 0;
}
0240210
2009/10/23(金) 13:47:52ありがとうございます。
検索ワードが思い浮かばず困っていた面もありました。
時間はあるのでじっくりググって煮詰めようと思います。
>>213=>>219=>>221=>>223
>>229
ありがとうございます。
http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/10000.txt
自分でも布団の中で考えn個の中から1つを選ぶ、n-1個の(ryみたいな感じでやってみましたが比べると無駄が多い…
参考に改善しようと思います。
0241デフォルトの名無しさん
2009/10/23(金) 13:52:090242デフォルトの名無しさん
2009/10/23(金) 14:05:230243デフォルトの名無しさん
2009/10/23(金) 14:11:290244デフォルトの名無しさん
2009/10/23(金) 14:23:37カレンダー出力も来るでおじゃる!
0245デフォルトの名無しさん
2009/10/23(金) 16:45:240246麻呂専用
2009/10/23(金) 16:55:35[2] 8X8のオセロの全局面をリスト構造で列挙しそれを適当なファイルに保存するプログラム
次の問いの答えも添付すること
(1)先手必勝、後手必勝かの決定
(2)平行初期値と通常初期値(回転対称、鏡映は同一視)それぞれの
場合において到達可能な葉は全部の場合の何パーセント程度であるか?
[3] Windows 2000/Visual-C++ 6.0/C言語(厳守)
★置く場所が無い場合に限りパスが認められる。
★FileMappingやVirualAllocateのWindowsの機能を利用し、
メモリがパンクしないように留意すること。メモリの搭載は128M程度
を仮定する。
[4]来週月曜日迄(厳守)
0247デフォルトの名無しさん
2009/10/23(金) 18:21:25どこから、どこまでを引っこ抜いてきて書けばいいかが分からないので、とりあえず下記を抜粋しました。
この部分で文法的に間違ってる文章はありますでしょうか?
nはdefine済みです。よろしくお願いします。
int i, l, s, c, k, d[n];
srand(10);
for(k=0; k<n; k++){
d[k] = 0;
}
i = floor(rand() * n);
c = i;
for(l=0; l<10; l++){
s = floor(rand() * rowvec[c].num );
c = rowvec[c].kazu[s];
d[c]++;
}
0248デフォルトの名無しさん
2009/10/23(金) 18:28:02>【アップローダー==ラウンジ】(質問が長い時はココ使うと便利 回答者もコードが長ければここに)
0249デフォルトの名無しさん
2009/10/23(金) 19:09:34[1] 授業単元: 情報演習
[2] 問題文(含コード&リンク): http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/10001.txt
[3] 環境
[3.1] OS: Linux
[3.2] コンパイラ名とバージョン: gcc
[3.3] 言語: C
うpろだお借りしました。
10001.txtの中の
int i, l, s, c, d[n];
init_genrand(10);
for(k=0; k<n; k++){
d[k] = 0;
}
i = floor(genrand_real2() * n);
c = i;
for(l=0; l<10; l++){
s = floor(genrand_real2() * rowvec[c].num );
c = rowvec[c].kazu[s];
d[c]++;
}
for(c=0; c<n; c++){
printf(" %d\n", d[c]);
}
}
が手間取っている部分です。どうしてもうまく動作しません。
よろしくお願いします
0250デフォルトの名無しさん
2009/10/23(金) 19:42:46何がどうなって欲しいの?
0251デフォルトの名無しさん
2009/10/23(金) 20:10:44隣接行列を作る。
強連結か判定。
ページランクの測定。
です。
>>249では有向グラフで出発点をランダムにとり、
そこからランダムウォークをして、何回か移動したとき、各点にどれだけ移動したかを測定しようとしています。
0252デフォルトの名無しさん
2009/10/23(金) 20:25:400253デフォルトの名無しさん
2009/10/23(金) 22:28:46値を返していない関数がある
245行目で初期化されていない変数を使っている
0254デフォルトの名無しさん
2009/10/24(土) 00:55:05[2] 問題文(含コード&リンク):外部ファイルより整数を読み込み、棒グラフを描くプログラムを
作る。外部ファイルはコンストラクタで配列に読み込め。使う関数はヘッダーファイルに
publickに定義する。
[3] 環境
[3.1] OS:Windows
[3.2] コンパイラ名とバージョン:Visual Studio 2005
[3.3] 言語:C++
[4] 期限:2009年10月29日10時
[5] その他の制限:特にないです。
0255デフォルトの名無しさん
2009/10/24(土) 03:12:570256デフォルトの名無しさん
2009/10/24(土) 09:13:10ここに投稿させてもらいます。
暇がある方お願いします。
2変量のデータ {{x1, y1}, {x2, y2}, ... , {xn, yn}} を引数として,散布図と相関係数を出力する関数を作成せよ.
0257デフォルトの名無しさん
2009/10/24(土) 09:49:530258デフォルトの名無しさん
2009/10/24(土) 14:40:31平均点は出てます。
0259デフォルトの名無しさん
2009/10/24(土) 14:46:520260デフォルトの名無しさん
2009/10/24(土) 15:12:39main(){
float a = 1.56;
int b;
b = a*10+0.5;
a = b/10.0;
printf("%f",a);
return 0;
}
0261デフォルトの名無しさん
2009/10/24(土) 15:15:44float round(float val, int decimal)
{
val += pow(5.0, -(decimal+1));
long tmp = val * pow(10.0, decimal);
return tmp/pow(10.0, decimal);
}
0262デフォルトの名無しさん
2009/10/24(土) 16:58:520263デフォルトの名無しさん
2009/10/24(土) 17:14:170264デフォルトの名無しさん
2009/10/24(土) 17:17:56プログラム書くか、>>1を読めばいい。
0265デフォルトの名無しさん
2009/10/24(土) 19:07:42[2] 問題文(含コード&リンク):このプログラムのどこかに変数における間違いがあります。
その間違いを探しなさい。 http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/10002.txt
[3] 環境
[3.1] OS: (Windows)
[3.2] コンパイラ名とバージョン: visual studio2008
[3.3] 言語: C/C++/どちらでも可
[4] 期限: 明後日まで
[5] その他の制限: 特になし
0266デフォルトの名無しさん
2009/10/24(土) 19:27:11使われていない変数がある
値を返していない関数がある
0267デフォルトの名無しさん
2009/10/24(土) 19:41:18outputが開放されていない
引数が使われていない
未定義動作の式が存在する
0268デフォルトの名無しさん
2009/10/24(土) 19:45:310270デフォルトの名無しさん
2009/10/24(土) 21:24:20これすごいなw
実装したやつ天才すぎるw
つか宿題じゃねーだろこれ?
0271デフォルトの名無しさん
2009/10/24(土) 21:25:44問題と回答の両方があるから
勉強になるよね☆
0272265
2009/10/24(土) 21:28:20長いプログラムですが間違えてる所は最初〜真ん中らへんにあるって言ってました
関数や引数のことがよく分かっていないんで詳しく説明できる人がいればお願いいたします
0273デフォルトの名無しさん
2009/10/24(土) 21:32:43このコード自体くそ
はじめから書き直せ
素人丸だし
0274デフォルトの名無しさん
2009/10/24(土) 21:37:18宿題なのかこれ・・・
これ先生が書いたの?
突っ込みどころ満載なんだがwww
0275デフォルトの名無しさん
2009/10/24(土) 21:43:59プログラムを見た瞬間目が回った
これだけやる気をなくすプログラムも珍しいな
0276デフォルトの名無しさん
2009/10/24(土) 21:46:35>>265みたいなひどいコードはないな
0277デフォルトの名無しさん
2009/10/24(土) 21:46:570279デフォルトの名無しさん
2009/10/24(土) 22:13:01>266, 267
とりあえず、機械的に解析してもらった結果から出したんだけど
http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/10003.txt
0280デフォルトの名無しさん
2009/10/24(土) 22:30:47ってか機械的に解析ってどうやんの?プログラマーの俺に教えてちょww
0281デフォルトの名無しさん
2009/10/24(土) 22:36:150282デフォルトの名無しさん
2009/10/24(土) 22:36:15ツール使うだけ
lint とか
0283デフォルトの名無しさん
2009/10/24(土) 22:36:27こんなん教えてる専門学校は今すぐ辞めるべき
0284デフォルトの名無しさん
2009/10/24(土) 22:37:480285デフォルトの名無しさん
2009/10/24(土) 22:43:150286デフォルトの名無しさん
2009/10/24(土) 22:48:36ググれよw
0287デフォルトの名無しさん
2009/10/24(土) 23:00:020288デフォルトの名無しさん
2009/10/24(土) 23:09:13まぁみんなつっこんでるので繰り返しになるが、
問題文自体が間違ってないか。
「このプログラムのどこかに変数における間違いがあります。」
いや、変数の問題じゃ無いんだが、、、。
こんなコードをデバッグさせようとすること自体が間違いでしょ。
専門学校の宿題か。
その講師の言うことは宛にならないと思う。
0289デフォルトの名無しさん
2009/10/24(土) 23:20:240290デフォルトの名無しさん
2009/10/24(土) 23:22:06これはひどい。
うちの会社なら、これ書いた奴の上司が社長室に呼びつけられるなw
0291デフォルトの名無しさん
2009/10/24(土) 23:24:59こんなコードを人に見せるなんて恥ずかしくて切腹ものですね。
先生、あさってには死んでるかもしれないんじゃないですか。
0292デフォルトの名無しさん
2009/10/24(土) 23:29:09やつらこんなの書くぞ
0293デフォルトの名無しさん
2009/10/24(土) 23:31:58でも自分ではわからないから、バイト先の連中にやらせちゃえ
って感じな気がする。
0294デフォルトの名無しさん
2009/10/24(土) 23:36:18[2] 問題文(含コード&リンク):http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/10004.txt
[3] 環境
[3.1] OS: Linux
[3.2] コンパイラ名とバージョン: gcc
[3.3] 言語: C
[4] 期限: 明後日
0295デフォルトの名無しさん
2009/10/25(日) 00:08:00確かにw
そんな感じするw
0296デフォルトの名無しさん
2009/10/25(日) 00:19:37#include <stdio.h>
void rotate(int *p, int size)
{
int i, temp;
for(i=0,size--; i<size; i++, size--) {
temp = p[i];
p[i] = p[size];
p[size] = temp;
} }
int main(void)
{
int a[10], i, length, n;
printf("整数列をローテーションします.\n整数列の長さを入力してください:");
scanf("%d", &length);
if(length <= 0 || 11 <= length) return printf("error");
printf("整数列を入力してください(スペース区切り):");
for(i=0; i<length; i++) scanf("%d", a + i);
printf("ローテーション数を入力してください:");
scanf("%d", &n);
while(n >= length) n -= length;
rotate(a, length - n);
rotate(a + length - n, n);
rotate(a, length);
printf("結果 [ ");
for(i=0; i<length; i++) printf("%d ", a[i]);
printf("]\n");
return 0;
}
0297デフォルトの名無しさん
2009/10/25(日) 00:20:00もっと単純に書いちゃだめなのこれ?
for (i = 0; i < len; ++i)
{
arr1[ (i + n) % len ] = arr0[ i ];
}
とかさ。
0298デフォルトの名無しさん
2009/10/25(日) 00:40:55関数の名前はrotateじゃなくてreverseのほうが正しくね?
0299デフォルトの名無しさん
2009/10/25(日) 01:21:30どこかで見たことあるアルゴリズムだと思ったら、「珠玉のプログラミング」にあった奴だ。
問題の仕様には完全に合わせていないけど、
肝心の部分は、reverseを使ってこんな感じ。
void rightRotation(int *pInt, size_t size, size_t shift)
{
while (shift > size) {
/* シフトがサイズを超えたら、さらに一周させる */
shift -= size;
}
if (shift == size) {
/* シフトとサイズが同じなら変化無し */
return;
}
/* 先頭からsize - shiftサイズ分を逆順にする */
reverse(pInt, size - shift);
/* 残り部分を逆順にする */
reverse(&pInt[size - shift], shift);
/* 全体を逆順にする */
reverse(pInt, size);
}
0300デフォルトの名無しさん
2009/10/25(日) 01:28:40http://codepad.org/WglVP0uB
scanf()追放信者が書くとこうなってしまいました。
0301デフォルトの名無しさん
2009/10/25(日) 01:33:220303294
2009/10/25(日) 01:40:49正しい結果になりました。回答ありがとうございました
0304デフォルトの名無しさん
2009/10/25(日) 03:24:18PS postscriptのテキスト抽出するやつ。日本語対応版。
フリーでは、誰も開発してないので、検索エンジンのフィルターの需要あってアクセス増えるよ。
0305デフォルトの名無しさん
2009/10/25(日) 03:29:010306デフォルトの名無しさん
2009/10/25(日) 04:10:02PDFからテキスト抽出とかどっかで見たことあるからpostscriptからも普通にありそうなもんだけど
0307デフォルトの名無しさん
2009/10/25(日) 09:37:59[2] 問題文(含コード&リンク):http://www.ioi-jp.org/joi/2006/2007-yo-prob_and_sol/2007-yo-problems/2007-yo-t3/2007-yo-t3.html
[3] 環境
[3.1] OS: (Windows/Linux/等々)
[3.2] コンパイラ名とバージョン:Visual Basic
[3.3] 言語: C
[4] 期限: 無期限
0308デフォルトの名無しさん
2009/10/25(日) 09:39:20ぁ、Windowsです
お願いします!
0309デフォルトの名無しさん
2009/10/25(日) 09:43:57しかも独学て。
独りで学んでないじゃん。
0310デフォルトの名無しさん
2009/10/25(日) 09:47:06独学以外に何と書けば良いかわからなかったので・・・。
0311デフォルトの名無しさん
2009/10/25(日) 09:49:30Visual Studioのことを言いたいのかい?
0312デフォルトの名無しさん
2009/10/25(日) 09:50:48ん
あ・・・はい。
そうです。すいません
0313デフォルトの名無しさん
2009/10/25(日) 09:58:34A〜Zまで配列にして
forで文字列を1文字ずつ取り出し
さらにforで配列との比較を行い一致したら
x,y,z以外だったら文字比較forのカウント変数に3を加算
x,y,zならa,b,cをそれぞれを出力用配列の内側配列に格納
という風に考えたんですが
これよりスマートなやり方を教えてください。
0314デフォルトの名無しさん
2009/10/25(日) 10:15:51#include <stdio.h>
#include <stdlib.h>
#include <string.h>
main(int argc, char **argv)
{
char *p;
if (argc != 2) exit(EXIT_FAILURE);
if (strlen(argv[1]) > 1001) exit(EXIT_FAILURE);
for (p = argv[1]; *p != '\0'; p++) {
if (!isupper(*p)) {
exit(EXIT_FAILURE);
}
}
for (p = argv[1]; *p != '\0'; p++) {
putchar(((*p) - 'A' + 26 - 3) % 26 + 'A');
}
putchar('\n');
exit(EXIT_SUCCESS);
}
0315デフォルトの名無しさん
2009/10/25(日) 10:21:100316デフォルトの名無しさん
2009/10/25(日) 10:52:13hashとかmapが使えるとすげー楽なのだけれど、Cには無いので代わりの方法をやってみた。
要はD→A、C→Z・・・の写像を定義してあげればよい。mapだとそのままこの写像が定義できる。
Cではできないので、インデックスに変換してあげている感じ。
#include <stdio.h>
#include <string.h>
#define ELENUM(array) (sizeof(array) / sizeof(array[0]))
/* A, B, C...,Zを0, 1, 2, .. 25に変換。 変換できない場合-1 */
int alphIndexing(char ch)
{
char alph[] = "ABCDEFCHIJKLMNOPQRSTUVWXYZ";
int idx;
for (idx = 0; idx < ELENUM(alph); idx++) {
if (alph[idx] == ch) {
return idx;
}
}
return -1;
}
int main(int argc, char **argv)
{
const char aCaesarTbl[] = "*XYZABCDEFCHIJKLMNOPQRSTUVW";
const char *pConvert = (aCaesarTbl + 1);
int idx;
printf("input : %s\n", argv[1]);
printf("encoded: ");
for (idx = 0; idx < strlen(argv[1]); idx++) {
putchar(pConvert[alphIndexing(argv[1][idx])]);
}
putchar('\n');
return 0;
}
0317デフォルトの名無しさん
2009/10/25(日) 11:12:48>>316
共にエラーが出る・・・
0318デフォルトの名無しさん
2009/10/25(日) 11:16:01へぇ。
0319316
2009/10/25(日) 11:42:44入力チェック省いていたから。
ちょっと改善して入力チェックも入れた。
http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/10005.txt
0320デフォルトの名無しさん
2009/10/25(日) 11:55:03int main(){
int c;
while((c=getchar()) != EOF){
if('D' <= c && c <= 'Z') putchar(c-3);
else if('A' <= c && c <= 'C') putchar(c+23);
else putchar(c);
}
return 0;
}
0321デフォルトの名無しさん
2009/10/25(日) 13:54:52[2] 問題文(含コード&リンク): http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/10006.txt
http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/10007.txt
[3] 環境
[3.1] OS:Windows
[3.3] 言語:C++
[4] 期限: 2009年10月30日
私なりに考えてみましたがわかりませんでした。
どなたかお解りになる方がいましたら宜しくお願い致します。
0322デフォルトの名無しさん
2009/10/25(日) 15:09:43ポインタがわかっていないようですね。その点は要復習。
第3、第4引数がポインタ渡しか参照渡しか、曖昧ですが、
一応参照渡しでやってみた。
doubleの余りとか適当。
void div(int op1, int op2, int& sho, int& amari)
{
sho = op1 / op2;
amari = op1 % op2;
}
void div(double op1, double op2, double& sho, double& amari)
{
sho = int(op1 / op2);
amari = op1 - sho * op2;
}
0323デフォルトの名無しさん
2009/10/25(日) 15:10:120324デフォルトの名無しさん
2009/10/25(日) 18:22:58http://codepad.org/kbfG5GKd
プログラムの最初に想定しているファイル形式と出力を書いておきます。
0325324
2009/10/25(日) 21:26:09http://codepad.org/Yi4G9x0S
0326デフォルトの名無しさん
2009/10/25(日) 21:39:30[2] 問題文: http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/10008.txt
[3] 環境
[3.1] OS:Linux
[3.2] コンパイラ名とバージョン:gcc
[3.3] 言語:C言語
[4] 期限:明日まで
よろしくおねがいします!!
0327デフォルトの名無しさん
2009/10/25(日) 21:53:33[2] 問題文(含コード&リンク): http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/10009.txt
[3] 環境
[3.1] OS: Linux
[3.2] コンパイラ名とバージョン: gcc
[3.3] 言語: C
[4] 期限: 2009年10月28日 16:00まで
0328デフォルトの名無しさん
2009/10/25(日) 21:57:20#include<stdio.h>
char *ul2a(char buf[40], unsigned long value){
int i;
char *p;
for(i=31,p=buf;i>=0;i--){
*p++=((value>>i)&1)+'0';
if(i%4==0) *p++=' ';
}
*--p='\0';
return buf;
}
int main(int argc, char *argv[]){
char buf[40];
unsigned long x=0, y=0;
printf("符号なし32bit整数2つを入力してください.\n");
scanf("%lu %lu", &x, &y);
printf("%lu は2進表示で %s ,\n", x, ul2a(buf, x));
printf("%lu は2進表示で %s です.\n", y, ul2a(buf, y));
printf("~%lu は2進表示で %s ,\n", x, ul2a(buf, ~x));
printf("~%lu は2進表示で %s です.\n", y, ul2a(buf, ~y));
printf("%lu << 1は2進表示で %s ,\n", x, ul2a(buf, x<<1));
printf("%lu >> 1は2進表示で %s です.\n", y, ul2a(buf, y>>1));
printf("%lu & %lu は2進表示で %s です.\n", x, y, ul2a(buf, x&y));
printf("%lu | %lu は2進表示で %s です.\n", x, y, ul2a(buf, x|y));
printf("%lu ^ %lu は2進表示で %s です.\n", x, y, ul2a(buf, x^y));
return 0;
}
0329デフォルトの名無しさん
2009/10/25(日) 22:23:33問題1: http://codepad.org/f8POt06D
問題2: http://codepad.org/IObqxmMY
0330デフォルトの名無しさん
2009/10/25(日) 22:41:19>>328、329さんありがとうございます。
問題1−1なんですが>>328さんの問題1−2のようにもう少し簡単になりませんか?
0331デフォルトの名無しさん
2009/10/25(日) 22:43:380332329
2009/10/25(日) 22:51:03>>328 ではポインタを使っていますが、>>329 ではポインタを使わず、算術演算(割り算と余り演算子)で処理しています。
あるいは、わかりやすいように配列にいったん結果をいれるようにしています。4桁ごとのくぎりも普通にかいています。
>>329 も簡単だと思いますが( >>328 を否定しているわけではありません)、やっぱり短く書いたほうがわかりやすいでしょうか?
0333デフォルトの名無しさん
2009/10/25(日) 23:37:00[2] 問題文(含コード&リンク):http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/10010.txt
http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/10012.zip
[3] 環境
[3.1] OS: Windows?
[3.2] コンパイラ名とバージョン: gcc
[3.3] 言語: C
[4] 期限: (2009年10月30日17;50まで
うまく実行できません。おねがいいたします。
0335333 ◆F8HqQ.0zX2
2009/10/25(日) 23:43:070336デフォルトの名無しさん
2009/10/26(月) 00:03:32気が向いただけ、ただ気が向いただけ
http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/10013.zip
s/foo.zip/foo.tar.gz/
0337デフォルトの名無しさん
2009/10/26(月) 00:40:51PS postscriptのテキスト抽出するやつ。日本語対応版。
フリーでは、誰も開発してないので、検索エンジンのフィルターの需要あってアクセス増える。
0338デフォルトの名無しさん
2009/10/26(月) 00:47:46123
この数列を配列に
321
と、格納するにはどうすれば良いですか?
0339デフォルトの名無しさん
2009/10/26(月) 00:54:04tmp=a[0],a[0]=a[2],a[2]=tmp; //swap(a,b)
a[2]=1,a[1]=2,a[0]=3;
ちょっと横道に
0340デフォルトの名無しさん
2009/10/26(月) 00:55:46説明不足でした
scanfから数字を入力して、
その数字を>>338みたいにするにはどうすれば良いですか?
0341デフォルトの名無しさん
2009/10/26(月) 01:09:210342デフォルトの名無しさん
2009/10/26(月) 01:11:380343デフォルトの名無しさん
2009/10/26(月) 01:25:30[2] 問題文(含コード&リンク):http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/10014.txt
[3] 環境
[3.1] OS: (Windows/Linux)
[3.2] gcc 3.4
[3.3] 言語: C
お願いしますm(_ _)m
0344デフォルトの名無しさん
2009/10/26(月) 01:27:01int a[3];
int i;
for (i = 0; i < 3; i++) scanf("%d", &a[2-i]);
0345デフォルトの名無しさん
2009/10/26(月) 01:27:580346デフォルトの名無しさん
2009/10/26(月) 01:38:59123 って入力したときに、
配列に
_____
|3|2|1|
ーーーーー
って格納させる方法です・・・
国語力無くて申し訳ない
0347デフォルトの名無しさん
2009/10/26(月) 02:31:10#include <stdio.h>
int main(void){
int i;
int x;
int a[3];
scanf("%d",&x);
for(i=0;i<3;i++){
a[i] = x%10;
x /= 10;
}
for(i=0;i<3;i++) printf("a[%d] = %d\n",i,a[i]);
return 0;
}
0348デフォルトの名無しさん
2009/10/26(月) 02:44:17文字もokな一般的なものを考えてみたのが↓。
>>346
#include <stdio.h>
int main(void){
int pt1 = 0 , pt2 = 0;
char s[101] = "", tmp;
printf("input : ");
scanf("%s", s);
while(s[pt2 + 1]!='\0'){
pt2++;
}
while(pt1 < pt2){
tmp = s[pt1];
s[pt1] = s[pt2];
s[pt2] = tmp;
pt1++;
pt2--;
}
printf("output : %s\n", s);
return 0;
}
0349デフォルトの名無しさん
2009/10/26(月) 02:46:11一応作ったけど、凝り始めると終わらない
0350333
2009/10/26(月) 09:42:08[2] 問題文(含コード&リンク):http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/10010.txt
http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/10015.zip
[3] 環境
[3.1] OS: Windows?
[3.2] コンパイラ名とバージョン: gcc
[3.3] 言語: C
[4] 期限: 2009年10月30日17;50まで
すいません。少し補足させていただきますm(。._.)m
0351デフォルトの名無しさん
2009/10/26(月) 12:50:45ps2textというのがある。
http://www.asahi-net.or.jp/~yw3t-trns/namazu/windows/ps2text/
0352デフォルトの名無しさん
2009/10/26(月) 13:27:19それは、ゴーストスクリプトという専用ツールを呼び出すだけ。
遅いし、確実には抽出できなかったよ。
動作環境:
PerlActivePerl
ghostscript日本語ghostscript, (ghostscript 8.11 以降推奨)
0353デフォルトの名無しさん
2009/10/26(月) 14:04:58バージョンが1〜4.2くらいてまであって、それぞれに対応しないと駄目みたい。
http://www.bunmeisha.co.jp/LaTeX2e/pskihonF.html
こっちは開発元資料へのリンクあり
http://fontforge.sourceforge.net/ja/bibliography.html
0354デフォルトの名無しさん
2009/10/26(月) 14:40:10問題の前半が省かれてるっぽいのでよくわからんが、
set_mapがコメントの内容とあってない。
コメントが正しいなら
//マップ内なら数値を代入
void set_map(int n, int x, int y, double v) {
if (x >= 0 && X > x && y >= 0 && Y > y) {
map_q[n][y][x] = v;
}
}
upされたやつだとy=-1とかでもmap_qに値をセットしてたから
それでsegmentaition fautになってる
あと mainの中でcountの初期化がされてない
0355デフォルトの名無しさん
2009/10/26(月) 15:11:19[2] 問題文:http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/10016.txt
[3.1] OS:Linux
[3.2] コンパイラ名とバージョン:gcc
[3.3] 言語:C言語
[4] 期限:早めに。。
よろしくお願いします!
0356デフォルトの名無しさん
2009/10/26(月) 15:31:21�@
#include <stdio.h>
#include <ctype.h>
int main(void)
{
int l = 0, u = 0, d = 0;
char str[256], *p;
printf("文字列を入力して下さい.\n");
scanf("%s", str);
for(p=str; *p; p++) {
if(islower(*p)) l++;
else if(isupper(*p)) u++;
else if(isdigit(*p)) d++;
}
printf("入力文字列は %s で\n", str);
printf("小文字は%d文字,大文字は%d文字,数字は%d文字です.\n", l, u, d);
return 0;
}
0357デフォルトの名無しさん
2009/10/26(月) 15:38:43�A
#include <stdio.h>
#include <string.h>
#include <ctype.h>
int main(void)
{
char surname[21], firstname[21], fullname[41], *p;
printf("姓を入力して下さい.\n");
scanf("%s", surname);
printf("名を入力して下さい.\n");
scanf("%s", firstname);
strcpy(fullname, surname);
strcat(fullname, firstname);
printf("入力した氏名は%sです.\n", fullname);
for(p=fullname; *p; p++) {
if(islower(*p)) *p += ('A' - 'a');
else if(isupper(*p)) *p += ('a' - 'A');
}
printf("小文字と大文字の交換後の文字列は%sです.\n", fullname);
return 0;
}
0358デフォルトの名無しさん
2009/10/26(月) 16:10:17[2] 問題文(含コード&リンク):
(1)ライプニッツの公式を用いて円周率の近似値を求める時、その値が3.14から3.15の間になるまで
nを増やしていき、そのnの値(繰り返し回数)を求めるプログラムを作成せよ。
(2)ライプニッツの公式を用いて円周率の近似値を以下の条件で求めよ。
nの値が増えるにつれ、それまでの近似値の平均値を求め、近似値と平均値の差が平均値の1%におさまるまで繰り返す。
(最初にfor文を使って計算を繰り返すたびに平均値も出力するプログラムを作成する。
そしてforをwhileに置き換えたプログラムを作成する。そのときdo()whileを使え。)
[3] 環境
[3.1] OS: WindowsVista
[3.2] コンパイラ gcc
[3.3] 言語: C
[4] 期限: 09年10月28日20:00まで
[5] その他の制限: (1)に関してはif elseを使った文。(2)に関しては問題文通りです。
大学の授業ですが、全くならってない範囲を出題されました…
お願いします。
0359デフォルトの名無しさん
2009/10/26(月) 16:20:30応用がきかないのか数学的知識がないだけかググることすらできないのか。
0360デフォルトの名無しさん
2009/10/26(月) 16:43:24(1)
#include <stdio.h>
int main(void)
{
int n;
double d = 0;
for(n=0; d < 3.14 || 3.15 < d; n++) {
if(n & 1) d -= 4.0 / (n * 2 + 1);
else d += 4.0 / (n * 2 + 1);
}
printf("%d回", n);
return 0;
}
0361デフォルトの名無しさん
2009/10/26(月) 17:52:15[2] 問題文(含コード&リンク):http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/10010.txt
http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/10017.zip
[3] 環境
[3.1] OS: Windows?
[3.2] コンパイラ名とバージョン: gcc
[3.3] 言語: C
[4] 期限: 2009年10月30日17;50まで
何度も何度も申し訳ないです。
自分の分からないところだけ載せてました。
それだけでは分かりづらいですね。
(�B)が分かりませんお願いします。
0362デフォルトの名無しさん
2009/10/26(月) 17:57:57ありがとうございます。
動けば十分ですので、貼ってもらえると嬉しいですm(_ _)m
0363デフォルトの名無しさん
2009/10/26(月) 18:02:14O(N^2)だから遅すぎて、お兄たん泣きたくなった、プロファイルかけたらqsort()の300倍の遅さ
http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/10018.c
0364デフォルトの名無しさん
2009/10/26(月) 18:09:16ありがとうございます!今から解読して勉強します。。
0365デフォルトの名無しさん
2009/10/26(月) 18:36:31[2] 問題文(含コード&リンク):http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/10019.txt
[3] 環境
[3.1] OS:Windows
[3.2] コンパイラ名とバージョン:Visual C++
[3.3] 言語:C++
[4] 期限:2009年10月27日 昼12時
[5] その他の制限:
すみませんが宜しくお願い致します。
0366333 ◆F8HqQ.0zX2
2009/10/26(月) 19:51:00ありがとうございます。
実行して出力はできるようになりましたが、
100試行ごとの出力ができません。
ご教授をい願いします。
0367デフォルトの名無しさん
2009/10/26(月) 21:24:57#include <stdio.h>
double f(double x) { return 3 * x * x; }
#define N 1000
int main()
{
int i;
double sum = 0.0;
for (i = 0; i < N; i++)
sum += 1.0 / N * f((double)i / N);
printf("S = %lf\n", sum);
return 0;
}
/* end */
0368333 ◆F8HqQ.0zX2
2009/10/26(月) 21:45:12ここまでできました。
実行して出力したときに、
countを1000にするとうまく表示されるのですが、
countを100にしたときに、どうして壁を突き破るのか教えてください。
また、100にしても壁を突き破らない方法を教えてください。
0369デフォルトの名無しさん
2009/10/26(月) 21:54:15[2] 問題文(含コード&リンク):http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/10021.txt
[3.1] OS:Windows vista
[3.2] コンパイラ名とバージョン:Microsoft Visual Studio 2008
[3.3] 言語:C
[4] 期限:2009年10月28日
[5] その他の制限:特に無いです。
よろしくお願いします。
0370デフォルトの名無しさん
2009/10/26(月) 21:58:38ありがとうございました!!!!!!
0371デフォルトの名無しさん
2009/10/26(月) 22:37:06[2] 問題文(含コード&リンク):ニュートン法を用いて三次方程式の解を求める。
[3] 環境
[3.1] OS: Windows vista
[3.2] コンパイラ名とバージョン: Visual Studio 2008
[3.3] 言語: C++
[4] 期限: 2009/10/28
[5] その他の制限:
http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/10022.txt
どこが悪いのかわかりません…。
ググりましたが自分の考えたアルゴリズムを尊重したいので、参考になりませんでした。
0372デフォルトの名無しさん
2009/10/26(月) 22:47:56なんでa,b,c,d,x1,y1を整数にするの?浮動小数点数でいいじゃん
0373デフォルトの名無しさん
2009/10/26(月) 22:53:11ニュートン法はお前の考えたアルゴリズムじゃねえだろw
0374デフォルトの名無しさん
2009/10/26(月) 23:00:510375デフォルトの名無しさん
2009/10/27(火) 00:32:40すいませんが、教えてもらってないので何とも言えません(´・ω・`)
>>360
ありがとうございます。助かりました。
(2)に関しては教授にきいてみます
0376デフォルトの名無しさん
2009/10/27(火) 02:38:37#include <stdio.h>
#include <math.h>
int main(void){
int n;
double d = 0, sum = 3;
for(n = 0; (sum / n - d) > 0.01; n++) {
if(n & 1) d -= 4.0 / (n * 2 + 1);
else d += 4.0 / (n * 2 + 1);
sum += d;
printf("%d 回目 , 平均 = %f\n",n,sum/n);
}
return 0;
}
0377デフォルトの名無しさん
2009/10/27(火) 02:39:56[2] 問題文(含コード&リンク):
http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/10023.c
上のソースコードのうち、行列計算を行うmatmul_blockが正しい結果を返しません
どこが間違っているのかご指摘お願いします
[3] 環境
[3.1] OS: Linux
[3.2] コンパイラ名とバージョン: gcc 3.4
[3.3] 言語: C
[4] 期限: 2009年10月27日19時まで
0378デフォルトの名無しさん
2009/10/27(火) 08:36:11アルゴリズムはあっていると思います。 >>372 の指摘のとおり、 a, b, c, x1, y1 を double にするとうまくいきます。
じゃあ、なにがまちがっているかというと、私にもわかんないんですが。
0379デフォルトの名無しさん
2009/10/27(火) 08:40:18ポインタと相性が合わないから
0380デフォルトの名無しさん
2009/10/27(火) 09:17:0068行目の第3引数cでとりあえず普通に警告@VC2008
0381デフォルトの名無しさん
2009/10/27(火) 09:37:03計算に与えられる行列はこのような配列で表せということだったんで・・・
デバッガで追いかけてみても、matmul_cacheのcは想定された動きしてるんで問題はないんじゃないかと思うんですが
0382デフォルトの名無しさん
2009/10/27(火) 11:19:07(GPCとかFPCとか)
0383デフォルトの名無しさん
2009/10/27(火) 12:18:210384デフォルトの名無しさん
2009/10/27(火) 12:34:380385デフォルトの名無しさん
2009/10/27(火) 12:37:29BeginPath(hdc);
Polyline(hdc, ..., 3);
EndPath(hdc);
hRgn1 = PathToRegion(hdc);
BeginPath(hdc);
Polyline(hdc, ..., 4);
EndPath(hdc);
hRgn2 = PathToRegion(hdc);
hRgn = CreateRectRgn(0, 0, 0, 0);
if (CombineRgn(hRgn, hRgn1, hRgn2, RGN_AND) == NULLREGION) {
...
} else {
...
}
0386デフォルトの名無しさん
2009/10/27(火) 12:43:19せっかく書いていただいたのにすみません
全て計算で求めなくてはいけないので関数は使用できないんです…
0387デフォルトの名無しさん
2009/10/27(火) 13:10:14後出しじゃ判らんだろ。
前提として得られる情報がどれだけ有るか(x,y座標など)、を書くべし。
0388デフォルトの名無しさん
2009/10/27(火) 13:57:34XY座標は毎回変動します。関数は使わずに計算のみで求めなくてはならないので困っています
0389デフォルトの名無しさん
2009/10/27(火) 14:43:41四角形の頂点が全て、三角形の内側にある事。
三角形の内側にある <--- 三辺をベクトルとみなして、各ベクトルから見て同じ側にある事。
0390デフォルトの名無しさん
2009/10/27(火) 14:44:44四角形の内部に三角形があるか、
三角形の内部に四角形があるかのどれかだろう。
0391デフォルトの名無しさん
2009/10/27(火) 14:54:35三角形と四角形とが、互いに離れている場合もあり得る。
0392デフォルトの名無しさん
2009/10/27(火) 15:18:06ありがとうございました!助かりました。
0393デフォルトの名無しさん
2009/10/27(火) 15:20:18http://totoki.my.land.to/pgm/001.html
三角形、多角形による包含判定
http://www5d.biglobe.ne.jp/~tomoya03/shtml/algorithm/Hougan.htm
0394デフォルトの名無しさん
2009/10/27(火) 15:21:48完全に三角形のなかに含まれている場合はそれで良いのですが一部分でも触れている場合値を返すようにしたいのです
四点だけで判定した場合四点に触れずに三角形に触れる可能性が出来てしまいます
0395デフォルトの名無しさん
2009/10/27(火) 15:24:230396デフォルトの名無しさん
2009/10/27(火) 15:28:40[2] 問題文(含コード&リンク):白黒濃淡画像[0-255]をカラー画像に変換
[3] 環境
[3.1] OS:Windows XP
[3.2] コンパイラ名とバージョン:cygwin
[3.3] 言語:C
[4] 期限: ([2010年1月10日24:00まで])
[5]その他の制限:
・色をユーザーから指定することはできない。
・画像はできればppm形式
様々な本や書類に目を通し、ネットを用いて一通り調べたつもりですが、一向に見つかりません。
難題だとは思います。最低限情報のある場所だけでも教えてもらえれば幸いです。
どうか御願い致します。
0397デフォルトの名無しさん
2009/10/27(火) 15:29:06自分で作った関数もダメですか?
0398デフォルトの名無しさん
2009/10/27(火) 15:34:08それは大丈夫です
0399デフォルトの名無しさん
2009/10/27(火) 16:06:23qsort関数以外を使用して番号順にソートしたいのですが何かいい方法を教えてください。
読み込んだデータの例)
F016 C002
C002 C015
H001 F016
C015 H001
H009 H009
左のデータをソートし、右のように並び替えたいです。
0400デフォルトの名無しさん
2009/10/27(火) 16:09:040401デフォルトの名無しさん
2009/10/27(火) 16:43:57通常は原理的に不可能です。
なぜなら、カラー画像は一般的に3つの独立したベクトルが張る色空間で表現されます。
ここで、色空間をRGB、濃淡をGrayとすると、明らかにベクトルが足りないので、色空間を変換できません。
よって、GrayからRGBへの色空間の変更ができないので、濃淡画像をカラー画像に変換することは*通常*できないことが示された。
疑似カラー画像に変換したり、ユーザか適当に色を配置してそれを元にカラー画像にすることは既に研究されています。
グレースケール画像に色差情報をこっそり埋め込んだり埋め込まなかったりって、最近僕が研究したんだけど。
0402デフォルトの名無しさん
2009/10/27(火) 16:51:38すきなソートアルゴリズムを関数化すればいいだけじゃね?
0403デフォルトの名無しさん
2009/10/27(火) 17:25:05> 四点だけで判定した場合四点に触れずに三角形に触れる可能性が出来てしまいます
四角形の頂点が全て内側or三角形の辺上、という前提で、↑ってどんな状況だろう?
まさか3次元以上?
あと、課題だったらテンプレに沿って、課題文をそのまま載せて欲しいんだが。
0404デフォルトの名無しさん
2009/10/27(火) 18:03:040405デフォルトの名無しさん
2009/10/27(火) 18:04:09結局交点も必要か
0406デフォルトの名無しさん
2009/10/27(火) 18:54:320407デフォルトの名無しさん
2009/10/27(火) 19:02:32以外は全部触れてるんじゃないの
0408デフォルトの名無しさん
2009/10/27(火) 19:23:110409デフォルトの名無しさん
2009/10/27(火) 19:44:18三角形の一点が原点になるように平行移動
三角形の原点を含む一辺がx軸になるように回転変換
原点を含みx軸と一致しない辺のy軸へ正射影
原点を含む2つの辺の長さが一致するように、y軸方向もしくは
x軸方向へのスカラー変換
これを行い三角形を直角二等辺三角形に変換して考える。
四角形に対しても同じ操作を行う。(四角形は四角形に移る)
交点を持つ条件は四角形の2つの頂点を結ぶ6個の直線が
x軸、y軸、直線x+y=1と交わる点の座標の値でわかる。
0410デフォルトの名無しさん
2009/10/27(火) 20:05:23よくわからないが、それは速いのか?
0411デフォルトの名無しさん
2009/10/27(火) 20:07:42とりあえず、見るからに誤差が大きそう
0412デフォルトの名無しさん
2009/10/27(火) 20:30:490413デフォルトの名無しさん
2009/10/27(火) 20:33:160414デフォルトの名無しさん
2009/10/27(火) 20:48:33>>396です
丁寧にお答えいただきありがとうございます。
ユーザーから色は指定できないので、とりあえず疑似カラーについて調べてみたのですが、いまいちよくわかりませんでした。
何か参考になる文献やサイトがあれば教えていただきたいです。
0415デフォルトの名無しさん
2009/10/27(火) 21:27:07・疑似カラー化について
0710g36やnakatani1.pdfをクエリにして検索する
・ユーザ指定色について
colorization-siggraph04をクエリにして検索する
・色差情報の埋め込みについて
色差情報 埋めこみ カラー 復元をクエリにして検索する
ちなみに僕がやったのは、3つ目の色差情報を埋め込む方法ね
あとは自分で適当な単語を選べば見付かると思う、CiNiiとかでね
0416デフォルトの名無しさん
2009/10/27(火) 21:32:17>>389では「四角形の頂点が全て、三角形の内側にある事」が判定条件。
0417デフォルトの名無しさん
2009/10/27(火) 21:44:29意図が見えん。
0418デフォルトの名無しさん
2009/10/27(火) 21:47:28わざわざURLまで貼っていただきありがとうございます。
明日URLを参考にしてプログラムを作ってみたいと思います。
0419デフォルトの名無しさん
2009/10/27(火) 22:56:02イメージはこれでOK?
ttp://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/10024.zip
0420デフォルトの名無しさん
2009/10/27(火) 23:06:39これで、どうだろ。
三角形の頂点が全て、四角形の外にある。 and
四角形の頂点が全て、三角形の外にある。
0421デフォルトの名無しさん
2009/10/27(火) 23:20:56左側のNGをOKにしたらイメージ通りです
0422デフォルトの名無しさん
2009/10/27(火) 23:26:40[2] 問題文
課題1 整数 n を入力すると n から1 までを出力する
プログラムを作成せよ。
課題2 整数 n を入力すると1からn まで出力する。
ただし、3の倍数か、5の倍数の時には数字の右側に* と表示すること。
プログラムを作成せよ。
課題3 整数 n を入力すると1 から n までの間の、
3か5いずれかの倍数の個数を数えて表示するプログラムを作成せよ。
[3.1] OS: Windows
[4] 期限: 2009年10月29日まで
よろしくお願いします!!
0423デフォルトの名無しさん
2009/10/27(火) 23:27:45どこが出来ないんだよ
0424デフォルトの名無しさん
2009/10/27(火) 23:29:09http://2sen.dip.jp/cgi-bin/upgun/up1/source/up34168.gif
0425デフォルトの名無しさん
2009/10/28(水) 01:50:05同じ大学キタ――(゚∀゚)――!!
#include <stdio.h>
int main()
スタートでお願いしたほうがいいよ
0426デフォルトの名無しさん
2009/10/28(水) 02:11:19/* 課題1 */
#include <stdio.h>
int main() {
int n;
printf("整数を入力 > ");
scanf("%d", &n);
while (n > 0) {
printf("%d\n", n);
n--;
}
return 0;
}
0427デフォルトの名無しさん
2009/10/28(水) 02:13:06/* 課題2 */
#include <stdio.h>
int main() {
int n, i;
printf("整数を入力 > ");
scanf("%d", &n);
for (i = 1; i <= n; i++) {
printf("%d", i);
if ((i % 3 == 0) || (i % 5 == 0))
printf("*");
printf("\n");
}
return 0;
}
0428デフォルトの名無しさん
2009/10/28(水) 02:13:450429デフォルトの名無しさん
2009/10/28(水) 02:14:23/* 課題3 */
#include <stdio.h>
int main() {
int n, i;
printf("整数を入力 > ");
scanf("%d", &n);
i = 0;
while (n > 0) {
if ((n % 3 == 0) || (n % 5 == 0))
i++;
n--;
}
printf("3か5の倍数の個数 = %d\n", i);
return 0;
}
0430デフォルトの名無しさん
2009/10/28(水) 03:23:32後期授業の出だしならこんなもんだろ。
0431デフォルトの名無しさん
2009/10/28(水) 10:54:18駄目ならどこで質問したらいいですか?
0432デフォルトの名無しさん
2009/10/28(水) 11:31:34http://pc12.2ch.net/test/read.cgi/tech/1254281104/
0433デフォルトの名無しさん
2009/10/28(水) 11:45:45大学に通ったことの無いお前じゃ、大学でどんな授業が行われているか知らんのだろうね・・・
あと、何もC言語は専門分野の学生しか受けない授業でもないから。
0434デフォルトの名無しさん
2009/10/28(水) 16:57:45四角形は三角形2つに分割出来るので三角形と三角形の衝突判定を作ればいい
2つの三角形のそれぞれの辺のベクトル方向の1次元に全ての頂点を射影して
分離軸が1本でも引けたら衝突してない。引けなかったら衝突してる。
0435デフォルトの名無しさん
2009/10/28(水) 17:30:35大学生ですが
0436デフォルトの名無しさん
2009/10/28(水) 18:24:53一般学生に C を教えるのは大変でしょうね。当時は pascal が使われていましたが、今はなんでしょうか?
0437デフォルトの名無しさん
2009/10/28(水) 18:54:36そしたら大学で基本中の基本からやるにきまってるだろ
0438デフォルトの名無しさん
2009/10/28(水) 19:08:390439デフォルトの名無しさん
2009/10/28(水) 19:09:241単元90分×15コマで3単元に渡ってやって
四則演算プラスアルファ
入出力:printf scanf
制御文:if switch for do while
配列
ファイル入出力:fopen fclose fprintf fscanf
乱数:rand() srand()
自作関数
くらいやった
0440デフォルトの名無しさん
2009/10/28(水) 19:09:380441デフォルトの名無しさん
2009/10/28(水) 19:18:38工業高校出身だけどBasicから始まってC言語に行ってたな。
大学でもCから教え始めるから内容かぶって単位余裕でした、みたいな感じで萎えた。
0442デフォルトの名無しさん
2009/10/28(水) 21:37:31[2] 問題文(含コード&リンク):
http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/10025.txt
「スコアー,ステージナンバー,名前」が入っているファイルがあるとする。
降順にソート済みのスコアーデータのファイルから、上位10件を配列に読み込み、
新たに11件目のスコアーデータを入力後、スコアーの大きい順に並び替えを行い、
上位10件のデータを再度書き込むプログラムを作成せよ
[3] 環境
[3.1] OS: WindowsXP
[3.2] コンパイラ名とバージョン: Visual Studio 2008
[3.3] 言語: C言語
[4] 期限: 特にありません
[5] その他の制限:特にありません
宜しくお願い致します。
0443デフォルトの名無しさん
2009/10/28(水) 21:49:140444デフォルトの名無しさん
2009/10/28(水) 21:56:08まうすでえらぶ
0445デフォルトの名無しさん
2009/10/28(水) 21:57:250446デフォルトの名無しさん
2009/10/28(水) 22:06:010447デフォルトの名無しさん
2009/10/29(木) 01:10:57Windows7なら普通にコピペ出来る!買うんだ。
0448デフォルトの名無しさん
2009/10/29(木) 04:30:25Meもできるからオススメ
0449デフォルトの名無しさん
2009/10/29(木) 11:51:37[2] 問題文(含コード&リンク):
-関数テンプレート-
配列へのポインタと要素数を渡すと昇順にソートする関数を作成せよ。
但し,関数テンプレートにより作成すること。想定する配列の型は文字列以外とする。
ソートのアルゴリズムはバブルソート(単純交換法)とする。また,関数をテストする適切なmain関数も作成し提出すること。
関数名前名は b_sort とし,第1引数は配列へのポインタ, 第2引数はint型で配列の要素数, 戻値は無しとする。
[3] 環境
[3.1] OS:Windows
[3.2] コンパイラ名とバージョン:visual studio 2008
[3.3] 言語:C++
[4] 期限:[2009年11月1日23:00(日)まで]
よろしくお願いします。
0450デフォルトの名無しさん
2009/10/29(木) 14:51:32#include <iostream>
using namespace std;
template <typename T> void b_sort(T a[], int n)
{
for (int i = 0; i < n - 1; ++i) {
for (int j = n - 1; j > i; --j) {
if (a[j - 1] > a[j]) {
T temp = a[j]; a[j] = a[j - 1]; a[j - 1] = temp;
}
}
}
}
int main()
{
int a[] = { 3, 8, 1, -1, 9, 8, 7 };
double b[] = { 3.09, 2.1, -9.27, 8.0, 3.11, -6.5 };
b_sort(a, 7);
for (int i = 0; i < 7; ++i) cout << a[i] << ' '; cout << endl;
b_sort(b, 6);
for (int i = 0; i < 6; ++i) cout << b[i] << ' '; cout << endl;
return 0;
}
0451デフォルトの名無しさん
2009/10/29(木) 15:55:37【質問テンプレ】
[1] 授業単元:計算機実習応用
[2] 問題文(含コード&リンク):
http://www.dotup.org/uploda/www.dotup.org315213.docx.html
[3] 環境
[3.1] OS: (Windows
[3.2] コンパイラ名とバージョンVC++
[3.3] 言語: (C
[4] 期限: ([2009年10月30日10:00まで]
[5] その他の制限:
明日の1限の授業中に出される課題です。
授業時間内に提出すれば評価が高くなるのでお願いします。
0452デフォルトの名無しさん
2009/10/29(木) 16:28:33お断りします。
0453デフォルトの名無しさん
2009/10/29(木) 16:41:00http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/10028.txt
0454デフォルトの名無しさん
2009/10/29(木) 19:46:40どうやって問題文を読めばいいのかわかりません。
0455デフォルトの名無しさん
2009/10/29(木) 20:06:260457デフォルトの名無しさん
2009/10/29(木) 22:05:13問1
return x*x+y*y
c = function1(a, b);
printf("%d\n", c);
問2
#include<stdio.h>
#include<math.h>
void wasasekisho(double x, double y, double* pwa, double* psa, double* pseki, double* psho);
int main(){
double a, b;
double lpwa, lpsa, lpseki, lpsho;
printf("a...");
scanf("%lf", &a);
printf("b...");
scanf("%lf", &b);
wasasekisho(a, b, &lpwa ,&lpsa, &lpseki, &lpsho);
printf("wa...%.0lf, sa...%.0lf, seki...%.0lf, sho...%.0lf",lpwa ,lpsa, lpseki, floor(lpsho));
}
void wasasekisho(double x, double y, double* pwa, double* psa, double* pseki, double* psho)
{
*pwa = x+ y;
*psa = x - y;
*pseki = x * y;
*psho = x / y;
}
0458デフォルトの名無しさん
2009/10/29(木) 22:37:17どういう確率分布にしたがっているのかがわからん。本来解けないはず?。
たぶんそれぞれ独立な事象で確率1/5だとして、期待値==平均(kekka)になるのかなとおもったが、
#include <stdio.h>
#include <math.h>
double heikin(int n, double x[]){
int i;
double sum;
sum=0.0;
for(i=1;i<=n;i++){
sum += x[i-1];
};
return sum/n;
}
int main(){
static double data[]={3.1, 5.8, 4.1, 1.0, 8.3};
double kekka=0.0, bunsan = 0.0;
kekka=heikin(5,data);
bunsan= pow(0.2, 2) *(kekka * 5.0) - pow(kekka, 2);
printf("データの平均は %lf\n",kekka);
printf("データの分散は %lf\n",bunsan);
return 0;
}
と書くと分散が負になってしまいましたとさw
問4
関数の中身を定義する前に,先に関数の引数の型および返り値の型だけをあらかじめ宣言しておくこと。
0459デフォルトの名無しさん
2009/10/29(木) 22:58:10どうもありがとうございました!!!
0460458
2009/10/29(木) 23:11:24#include <stdio.h>
#include <math.h>
double heikin(int n, double x[]){
int i;
double sum;
sum=0.0;
for(i=1;i<=n;i++){
sum += x[i-1];
};
return sum/n;
}
int main(){
static double data[]={3.1, 5.8, 4.1, 1.0, 8.3};
double kekka=0.0, bunsan = 0.0;
double vx=0.0;
kekka=heikin(5,data);
for(int i = 0; i < 5; i++)
vx += pow(data[i], 2)*0.2;
bunsan = vx - pow(kekka, 2);
printf("データの平均は %lf\n",kekka);
printf("データの分散は %lf\n",bunsan);
return 0;
}
なんか例と値違うけど…さっきとちがって式はあってるはず
0461デフォルトの名無しさん
2009/10/30(金) 22:15:43[2] 問題文(含コード&リンク):http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/10031.txt
問題1:整数表記を <integer>::= <digit> {<digit>|'_'}*に書き換える。
正の整数をdigitだけではなく、'_'もトークンの一部として判別させてやるようにプログラムを書きかえる
例えば、10_23と仮に有った場合は10=整数値、_=識別子、23=整数値という風に判別されるのではなく10_23=1023=整数値となるようにしなさい。
問題2:以下のようなトークンも判別できるようにしてみる。
句切り文字:'(',
句切り文字:'(',
句切り文字:';',
演算子:'='
[3] 環境
[3.1] OS: WindowsXP
[3.2] コンパイラ名:gcc
[3.3] 言語: C言語
[4] 期限: 2009年11月5日
[5] その他の制限: とくにないです。よろしくお願いします。
0462デフォルトの名無しさん
2009/10/31(土) 18:45:36[2] 問題文(含コード&リンク):キューをC言語で作成する
[3] 環境
[3.1] OS: Windows XP
[3.2] コンパイラ名とバージョン: Visual Studio 2008
[3.3] 言語: C
[4] 期限: 2009/11/2
[5] その他の制限:
http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/10032.txt
0463デフォルトの名無しさん
2009/10/31(土) 18:49:040464デフォルトの名無しさん
2009/10/31(土) 21:34:41境界条件が曖昧なので適当にやらせてもらった。
dequeueできないときは0が返るようにしたけど、よかったのか?
標準Cにあわないところは修正しておいた。VSにしたって、void main()はどうかと思ったので。
http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/10033.txt
0465デフォルトの名無しさん
2009/10/31(土) 21:50:06問題1:整数表記を <integer>::= <digit> {<digit>|'_'}*に書き換える。
問題の意味が全くわからない。問題文はこれで全部なの?
#例えば、10_23と仮に有った場合は10=整数値、_=識別子、23=整数値という風に判別されるのではなく10_23=1023=整数値となるようにしなさい。
というの10_23を引数に与えたらどうなればよい?
リンク先のコードに食わせると下みたいになった。
$ ./main 10_23
整数定数: 10 (2文字)
識別子: _23 (3文字)
トークン数は2個!
0466デフォルトの名無しさん
2009/10/31(土) 22:18:04それBNF表記っていって
たとえば
10_23_23=102323
10_______23=1023
になるようにしろってことだよ。
0467466
2009/10/31(土) 22:24:07<変数>…<変数>で変数を表す。
{変数}…{変数}の変数を省略するか、一回以上繰り返し用いることを表す。
|…または を表す
::=…左辺の変数が、右辺で定義されることを表す。
あ、おれ解けないんでw
0468デフォルトの名無しさん
2009/11/01(日) 01:30:56問1だけ
ほとんどテストしていないのであしからず
http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/10035.txt
0469464
2009/11/01(日) 01:33:21ごめ。違うのあげてた。
ファイル消えているのですぐにはできない。
思い出しながら書いてみる。
0470464
2009/11/01(日) 01:43:01http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/10036.txt
0471デフォルトの名無しさん
2009/11/01(日) 20:56:25[2] 問題文(含コード&リンク):メニューを表示し選択された処理を行なう。各機能ごとに関数にし,各関数へのポインタは配列に格納しておきメニュー選択に応じて動的に呼び出す。
実行例:http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/10037.txt
0472デフォルトの名無しさん
2009/11/01(日) 20:58:45[3.1] OS:Windows
[3.3] 言語:C++
[4] 期限: 2009年11月3日
どなたか出来る方がいましたらお願い致します。
0473デフォルトの名無しさん
2009/11/01(日) 21:06:48遅れましたが回答ありがとうございました
0474 ◆DfRWmhgSjg
2009/11/01(日) 21:28:36[2] 問題文(含コード&リンク):
マルチプロセスを利用しfork(),セマフォ,メッセージをすべて使用したシステムの開発,結果を以下の項目にまとめ報告
1. システムの要求仕様
3. 上記プログラムの簡単な解説,特に fork(),メッセージ,セマフォの周辺について
[3] 環境
[3.1] OS: (Linux)
[3.2] コンパイラ名とバージョン: (gcc)
[3.3] 言語: (C)
[4] 期限: [2009年11月5日08:00まで]
[5] その他の制限:
よろしくお願いします
0475デフォルトの名無しさん
2009/11/01(日) 21:30:13設計と要求仕様までこっちで定義しろって馬鹿だろw
0476デフォルトの名無しさん
2009/11/01(日) 21:48:32VS2008環境で作った
ttp://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/10039.txt
#include <String>は消しといてね
0477474
2009/11/01(日) 21:54:55私もそう思いましたが、
「本当に簡単なものでいいから作ってください。こういうにはあなたたちのインスピレーションしだいですので」
といわれてしまい・・・。
0478デフォルトの名無しさん
2009/11/01(日) 21:55:48いや、教授とか講師とかがじゃなくってお前がねーよwww
0479474
2009/11/01(日) 22:01:25要求仕様など考えてから出直してきます。
0480デフォルトの名無しさん
2009/11/01(日) 22:58:19「関数へのポインタを配列に」いれろとのことですので、そのようにしました。
http://codepad.org/pe70YBZf
0481デフォルトの名無しさん
2009/11/01(日) 23:16:02[2] 次のプログラムから仕様書を起こして、全く異なるアルゴリズム
で同じ処理をするものに書き換えよ
http://codepad.org/FjM5LBs9
[3] Windows XP/Visual studio 2005/C
[4] 11/10迄
0482デフォルトの名無しさん
2009/11/01(日) 23:23:47関数のポインタとか見逃してた。
ごめん
0484474
2009/11/02(月) 01:07:11<<479
入力されたメッセージ1文字をキューにいれるプログラム
http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/10041.txt
キューからメッセージを取り出し表示をするプログラム
http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/10042.txt
を参考にして送信用プログラムにfork()を付け加え文字を重複送信するようにするプログラム。
またセマフォを用いてアクセスを制限する。
理解が浅いため本当にこれでいいの不安なのですがよろしくお願いします。
0485デフォルトの名無しさん
2009/11/02(月) 03:03:19http://codepad.org/Ooo9fZ4r
3の倍数と3の付く数字を
10000*10000までの範囲で列挙する。
文字列型で10を出力すると
アスキーコードでは改行の意味に。
同等の処理は\nで行った。
各位の和が3の倍数であれば
その数は3の倍数であることを使い求めた。
0486satoshi
2009/11/02(月) 03:04:56double型の戻値を持つ関数 absmul() を作成した上で、動作の
確認の出来るプログラムとして作成せよ。という問題と
標準入力からの入力に対して、アルファベットを全て空白文字
に変更して出力するプログラムを作成せよ。という問題がわかりません。
どなたかお願いします
0487satoshi
2009/11/02(月) 03:06:500488デフォルトの名無しさん
2009/11/02(月) 07:13:30エラーを全部貼ってください。
0489デフォルトの名無しさん
2009/11/02(月) 07:15:11>>1
0490satoshi
2009/11/02(月) 11:45:59[2] double型の引数を2つ持ち、2つの引数の積の絶対値を返す、
double型の戻値を持つ関数 absmul() を作成した上で、動作の
確認の出来るプログラムとして作成せよ。という問題と
標準入力からの入力に対して、アルファベットを全て空白文字
に変更して出力するプログラムを作成せよ
[3] 環境
[3.1] OS: (Windowsxp)
[3.2] コンパイラ名とバージョン:UNIX 2.1.4
[3.3] 言語: (C言語)
[4] 期限: (11月3日 13時
[5] その他の制限: (特になし)
0491デフォルトの名無しさん
2009/11/02(月) 12:07:11#include<stdio.h>
double absmul(double a, double b){
short x=0x1234;
double c;
unsigned char *p, *q;
c=a*b;
p=(unsigned char*)&x;
q=(unsigned char*)&c;
if(*p==0x12) q[0]&=0x7f;
else q[sizeof(double)-1]&=(~0)^0x80;
return c;
}
int main(void){
double a=2.0, b=-3.0;
printf("%f\n", absmul(a, b));
return 0;
}
0492デフォルトの名無しさん
2009/11/02(月) 12:31:03#include<stdio.h>
int main(void)
{
int c, map[256];
unsigned char *p="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz";
for(c=0;c<256;c++) map[c]=c;
for(;*p;p++) map[*p]=' ';
while((c=getchar())!=EOF)
{
putchar(map[c]);
}
return 0;
}
0493デフォルトの名無しさん
2009/11/02(月) 12:38:10何番に変わったか知る方法はありますか?ソートした配列を参考に別の配列も並び替えたいです。
0494デフォルトの名無しさん
2009/11/02(月) 12:44:27あとはその二つを比較するだけ
0495デフォルトの名無しさん
2009/11/02(月) 13:06:44構造体で例えば
sruct abc {
double a;
int n;
};
としといて、aにバラバラの値を入れ、nに連番を入れて置きます
その後構造体でqsort(比較基準はabc.a)を掛ければ、nに
どのようにバラバラになったか順列が入ります
0496デフォルトの名無しさん
2009/11/02(月) 13:20:40struct abc {
double a;
int n;
};
int comp(const void *a, const void *b)
{
struct abc x = *(struct abc *)a, y = *(struct abc *)b;
return (x.a < y.a) ? -1 : (x.a > y.a) ? 1 : 0;
}
int main(void)
{
struct abc aa[10];
int i;
srand((unsigned)time(NULL));
for (i = 0; i < 10; i++) {
aa[i].a = rand();
aa[i].n = i;
}
qsort(aa, 10, sizeof(aa[0]), comp);
for (i = 0; i < 10; i++)
printf("%d ", aa[i].n);
putchar('\n');
return 0;
}
0497デフォルトの名無しさん
2009/11/02(月) 13:38:02お願いいたします。
0498デフォルトの名無しさん
2009/11/02(月) 13:39:43>>1
0499デフォルトの名無しさん
2009/11/02(月) 13:47:20#include <stdio.h>
int main(void)
{
printf("0 3 6 9 12 13 15 18 21 23 24 27 30 31 32 33 34 35 36 37 38 39");
return 0;
}
0500デフォルトの名無しさん
2009/11/02(月) 13:47:390501デフォルトの名無しさん
2009/11/02(月) 13:50:08わろたw
0502デフォルトの名無しさん
2009/11/02(月) 13:53:31#include <stdio.h>
#include <string.h>
int main(void)
{
int i;
char buf[32];
for(i = 0; i <= 40; i++) {
sprintf(buf, "%d", i);
if (i % 3 == 0 || strchr(buf, '3') != NULL) printf("%d ", i);
}
return 0;
}
0503デフォルトの名無しさん
2009/11/02(月) 15:10:59アルファベットとは何ぞやということになるな。
0504デフォルトの名無しさん
2009/11/02(月) 17:50:16さすがに考えないとして、ウムラウトやセディーユのついた文字はどうするのかね。
0505デフォルトの名無しさん
2009/11/02(月) 18:00:430506デフォルトの名無しさん
2009/11/02(月) 19:11:19VC++2008EE をインストールして確かめました。なるほどねえ、VC は構造体タグの name space は独立していないんですね。
http://codepad.org/nMou5Xbk
0507デフォルトの名無しさん
2009/11/02(月) 20:01:57[2] 問題文(含コード&リンク):http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/10044.txt
http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/10045.txt
[3] 環境
[3.1] OS: Windows
[3.2] コンパイラ名とバージョン:VS2008
[3.3] 言語: C++
[4] 期限: 2009/11/07
問題が2つあります。それぞれ違うファイルにしてもらえたならば幸いです。
宜しくお願い致します。
0508デフォルトの名無しさん
2009/11/02(月) 23:25:57コードは書いてやるから、仕様は自分でだせ。
0509sage
2009/11/03(火) 01:38:41[2] 問題文(含コード&リンク): http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/10047.txt
[3] 環境
[3.1] OS: Windows XP
[3.2] コンパイラ名とバージョン: Borland C++ Compiler 5.5
[3.3] 言語: C++
[4] 期限: [2009年11月5日23:59まで]
[5] その他の制限:途中までのソースコードがありますので、そちらに追記お願いします。
0510デフォルトの名無しさん
2009/11/03(火) 01:57:30[2] 文字列sを逆に並べる関数reverse(s) を書け。
さらにこの関数を使って、入力を行ごとに反転させるプログラムを作成せよ。という問題です。
[3]
[3.1] OS: (UNIX)
[3.2] コンパイラ名とバージョン: (gcc)
[3.3] 言語: (C)
[4] 期限: [2009年11月3日12:00まで]
[5]if文 while文などを勉強中です。
初心者用のプログラムでお願いします。
0511デフォルトの名無しさん
2009/11/03(火) 06:49:25EUCに対応しているはず
http://codepad.org/zGzKjJfu
0512デフォルトの名無しさん
2009/11/03(火) 10:30:46こんな感じでよいか?
ワイド文字は考慮していません。
http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/10049.txt
0513デフォルトの名無しさん
2009/11/03(火) 12:03:200514デフォルトの名無しさん
2009/11/03(火) 12:30:32[2] 問題文: http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/10051.txt
[3] 環境
[3.1] OS: (Linux)
[4] 期限: (11/4)
[5] その他の制限: (大学1ねんで、まだc言語の授業は5回目です。)
わかりにくい質問で申し訳ありませんがよろしくお願いします。
0515デフォルトの名無しさん
2009/11/03(火) 12:42:05[2] 問題文
http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/10052.txt
[3] 環境
[3.1] OS: (Linux)
[4] 期限: (11/4)
[5] その他の制限: (大学1ねんで、まだc言語の授業は5回目です。)
どうぞよろしくお願いいたします。
0516デフォルトの名無しさん
2009/11/03(火) 12:47:24[2] 問題文
http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/10053.txt
[3] 環境
[3.1] OS: (Linux)
[4] 期限: (11/4)
[5] その他の制限: (大学1ねんで、まだc言語の授業は5回目です。)
こちらもよろしくお願いいたします。
0517デフォルトの名無しさん
2009/11/03(火) 12:50:550518デフォルトの名無しさん
2009/11/03(火) 12:52:050519デフォルトの名無しさん
2009/11/03(火) 13:06:210520デフォルトの名無しさん
2009/11/03(火) 14:29:18(1) (A)に同じ文を入れて考える
#include<stdio.h>
int main(void){
int i=0 j=0 k=0;
int n=0;
i=0;
while(i<100){
while(j<100){
while(k<100){
n++;
(A)
k++;
}
(A)
j++;
}
(A)
i++;
}
printf("n=%d",n);
}
0521デフォルトの名無しさん
2009/11/03(火) 14:30:13#include<stdio.h>
int main(void){
int i=0 j=0 k=0;
int n=0;
i=0;
while( (B) && (i<100){
while((B) &&(j<100)){
while((B) &&(k<100)){
n++;
k++;
}
j++;
}
i++;
}
printf("n=%d",n);
}
0522デフォルトの名無しさん
2009/11/03(火) 14:31:11(3) (C)、(D)に適当な文を入れる
#include<stdio.h>
int main(void){
int i=0 j=0 k=0;
int n=0;
i=0;
while(i<100){
while(j<100){
while(k<100){
n++;
(C)
k++;
}
j++;
}
i++;
}
(D)
printf("n=%d",n);
}
0523510
2009/11/03(火) 15:04:23遅れましたが回答ありがとうございました。
0524デフォルトの名無しさん
2009/11/03(火) 15:19:44#include <stdio.h>
int main(void)
{
int i, j, n;
scanf("%d", &n);
for(i=1; i<n; i++) {
for(j=n-i; j>=0; j--) putchar(' ');
for(j=2*i-1; j>0; j--) putchar('*');
putchar('\n');
}
for(i=2*n+1; i>0; i--) putchar('*');
putchar('\n');
return 0 ;
}
0525デフォルトの名無しさん
2009/11/03(火) 15:36:15間違いがあったらエロい人、、指摘してください。
#include <stdio.h>
main(){
int i;
float j = 1/i;
for(i = 1; ;i++){
printf("%f\n" , j);
}
return 0;
}
0526デフォルトの名無しさん
2009/11/03(火) 15:42:08sageをミスって申し訳ございませんでした。
どなたか、お願いできませんでしょうか?
よろしくお願いします。
0527デフォルトの名無しさん
2009/11/03(火) 15:47:03正常に動作しないだけで、コンパイルは通ると思うが。
0528デフォルトの名無しさん
2009/11/03(火) 15:48:56float j = 1/i; で未初期化の変数を参照がエラーか警告になるかも
0529デフォルトの名無しさん
2009/11/03(火) 15:51:46jを計算する場所が違う。
コンパイルができない、というのはエラーが出るのか警告が出るのか、
あるいは実行時エラーなのか、はっきりしてくれ。
0530デフォルトの名無しさん
2009/11/03(火) 15:52:230531デフォルトの名無しさん
2009/11/03(火) 15:56:50gccに食わせたけど、警告は出るけどコンパイルはできるよ。
たぶんやりたいことはこうじゃない?
#include <stdio.h>
int main(void)
{
int i;
for (i = 1; i < 10; i++) {
printf("%f\n" , 1.0 / i);
}
return 0;
}
0532デフォルトの名無しさん
2009/11/03(火) 15:57:42出力するプログラムを作成せよ。という問題です。
[3.1] OS: (UNIX)
[3.2] コンパイラ名とバージョン: (gcc)
[3.3] 言語: (C)
[4] 期限: [2009年11月4日9:00まで]
かなりの初心者です
http://codepad.org/nrbnRlD3
自分で作ってみたのですが、エラーが出ました。
何が足りないか、何が間違っているか改良をお願いします。
0533デフォルトの名無しさん
2009/11/03(火) 16:00:51元のコードがでかいので、デバッガでコードを追いたかったのだが、
gcc + insightでは開こうとしたとたんに落ちてしまう。
実行自体はできるのだけれど。
#conio.hがあるとコンパイルできないのだが、使っているところがないので
削った。
もう少しおってみるかな。
0534デフォルトの名無しさん
2009/11/03(火) 16:05:16大文字
0535デフォルトの名無しさん
2009/11/03(火) 16:08:560536デフォルトの名無しさん
2009/11/03(火) 16:09:530537デフォルトの名無しさん
2009/11/03(火) 16:17:35#include <ctype.h>
int main(){
int c;
while((c=getchar())!=EOF)putchar(isalpha(c)?' ':c);
return 0;}
0538509
2009/11/03(火) 16:21:37すいません。
よろしくお願いします。
0539533
2009/11/03(火) 17:41:45デバッガが使えないのでコードリーディングに手こずっている。
出題主、以下の情報ください。
1)BCalculationの仕様
コメント、mainでの使い方からして
入力"+ 6 3 " 戻り値9みたいな
ものを想定していた。でも動かしてみたらそうじゃないし、
どう動いて欲しいのかわからない。
どんな入力に対してどういう戻り値を期待している?
2)MtoBの仕様
以下のようなものを想像しているが、あっているか?
入力 "6 + 3 * 3"
戻り値 "+ 6 * 3 3" (BCalculationのinputになれるもの)
0541509
2009/11/03(火) 18:29:38返答が遅くなり、すいません。
ご迷惑をおかけします。
1)BCalculationの仕様
回答の所で使用していますので、お考えであっていると思います。
ただ、"63+" の "9"と思っていました。
的外れな回答でしたら申し訳ありません。
2)MtoBの仕様
その通りです。
こちらも、"633*+"と思っていました。
実は、最初は”回答”の上に
printf("変換:%s\n",str.str);
を入れていました。
しかし、課題内容にはないため外しました。
変換後の結果が出るものです。
0542デフォルトの名無しさん
2009/11/03(火) 18:30:12http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/10054.txt
0543デフォルトの名無しさん
2009/11/03(火) 18:52:200544533 = 539
2009/11/03(火) 19:35:51逆ポとLispを勘違いしてたみたい。
だけど6 3 +も + 6 3両方試したけど
元のコードでは期待通り動いていないみたいだよ。
とりあえず逆ポの関数書いてみた。命名則は自分流なので
reversePolishNotationが元のBCalculationと思ってください。
エラーは適当にアボートしちゃっていますが、動作は期待通りでしょうか?
http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/10055.txt
0545509
2009/11/03(火) 20:30:17返事が遅くなり申し訳ございません。
残念ながら動作しませんでした。
コンパイルは出来たでですが、実行すると
何も入力する前に、
「問題が発生したため、muda.exe を終了します。 ご不便をおかけして申し訳ありません。」
と出て終了してしまいました。
新しくコードを書いて頂いたようで、申し訳ございません。
しかし、一度前のものを提出し追加課題として「エラーを検知させよ」
だった為、条件として
[5] その他の制限:途中までのソースコードがありますので、そちらに追記お願いします。
と記載しておりました。
できましたら、追記でお願いしたいのですが無理でしょうか?
宿題を解いて頂いているのに、文句言って本当にすいません。
0546540
2009/11/03(火) 20:56:58ソースをみる限り第一引数に逆ポーランド式を指定しないとダメです。
たとえば、
foo.exe "1 1 +"
とします。
>>544
おかしいですね。私のところでは、BCalculation はうまく動いていますが。(bcc32/gcc/VC++2008)
0547509
2009/11/03(火) 21:30:57逆ポーランド部分は出来ていると、自分の中では信じきっていました・・・
そうでしたか、もう一度考えてみます。
0548デフォルトの名無しさん
2009/11/03(火) 21:54:18代数式(中置式)→逆ポーランド式(後置式)の変換は、定番の方法がありまして、
コンパイラ(とか数理言語)の教科書をみればたいてい説明されています。
ソースを得たいのであれば、
http://www.amazon.co.jp/dp/4874084141
にそのものがあります。ダウンロードは
http://oku.edu.mie-u.ac.jp/~okumura/algo/archive/
からできます。これを気に書き直されるのも一興かと思います。
0549548
2009/11/03(火) 21:57:12○機に
0550デフォルトの名無しさん
2009/11/03(火) 21:58:19mainを下記のように書き直して試してみた。
int main(void)
{
struct NewStr str;
printf("式を入力\n");
gets(str.str);
printf("\n");
// str = MtoB(str.str);
printf("回答:%4.2lf\n\n",BCalculation(str.str));
return 0;
}
例えば"6 3 +"を入力していて解答6となっておかしい、と思っていた。
コードを追っかけてみて"6 3 + "(最後にスペースが入っている)と入力すると上手く行くことがわかった。
これは仕様制限ということでよいのですよね?
そういう前提でもう一度見てみる。
確認するけど、基本的に正常系の動作はしていて、
>演算不可能な場合は、エラー表示させること。
>例:6+3** 9// 9-5) 8+(
という部分の実装が漏れている、ということなのかな。
0551546=548
2009/11/03(火) 22:12:06>>509 の代数式→逆ポ変換 (MtoB()) は力作でして、(多分)うまく動いているのですが、
括弧の処理をとくにリカーシブに書いているところもあり、私もなかなか把握しきれないでいます。異常系の切り分けも難しい。
いずれ、どうあがいても、リカーシブに書かざるを得ないとは思いますが、ここで、心機一転、定石をお勧めしたしだいです。
MtoB() を自力でここまで書いたのであれば、尊敬に値します。少なくとも私にはできません。
0552509
2009/11/03(火) 22:34:48はい、その通りです。
>演算不可能な場合は、エラー表示させること。
>例:6+3** 9// 9-5) 8+(
の部分が抜けています。
>551
しかし、一度提出してる手前、再度初めからとなると
このエラーを表示させる課題ごと意味が無くなってしいます。
この課題に取り掛かって、1ヶ月ほど助言を受けたり、書いては
書き直ししているうちに段々訳がが分からなくなってきて気が付くと
この形でした。
0553551
2009/11/03(火) 22:44:07なるほど。
定石をお勧めしたい気持ちはやまやまなのですけれども。
ちょっと説明していただけますか?たとえば、
char stack[STR_MAX], str[STR_MAX], tempstr[STR_MAX*2];
int newstr_pos=0, i, flg=0, parentheses_flg=0, str_pos=0, minus_flg=0, tempstr_pos=0, stack_pos=-1;
の各バッファ、各 pos の意味合いとか、どうしてこういう仕掛けを作ったかとか。
0554デフォルトの名無しさん
2009/11/04(水) 00:51:43[2] 問題文(含コード&リンク): http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/10056.txt
[3] 環境
[3.1] OS:Windows/vista
[3.2] コンパイラ名とバージョン: Visual C++ 2008
[3.3] 言語: C++
[4] 期限: 2009年11月6日
[5] その他の制限: 問題を乗せているテキストに進め方があるのでそれに沿ってもらえれば。
よろしくお願いします。
0555509, 553
2009/11/04(水) 01:21:51http://codepad.org/ziaFqKsi
定石の代数式→逆ポーランド変換を行いつつ、同時に各項の値を計算させています。
0556509
2009/11/04(水) 02:12:30申し訳ありません。逆ポーランドの所が出来ていなかったので
自分で考えると言った手前考えていましたらいつの間にか
こんな時間になっており、質問が来ているのに気が付きませんでした。
533さんに書いて頂いたコードと548さんに紹介して頂いたサイトのコードを
参考に逆ポーランドの部分も間違いが直す事ができ、課題も完了する事が
出来ました。
皆様本当にありがとうございました。
0557デフォルトの名無しさん
2009/11/04(水) 02:23:14教えてください
0558デフォルトの名無しさん
2009/11/04(水) 02:47:090559デフォルトの名無しさん
2009/11/04(水) 11:42:51[2] 問題文(含コード&リンク):ユークリッド互除法を使って二つの数字の最大公約数を求める。ただし、マイナスの数も求められるようにする。
[3] 環境
[3.1] OS: Linux
[3.2] コンパイラ名とバージョン: Gcc3.4(MinGW)
[3.3] 言語: C言語
[4] 期限: 今日中
[5] その他の制限: 特になし
よろしくお願いいたします。
0560デフォルトの名無しさん
2009/11/04(水) 13:06:15http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/10058.txt
0561デフォルトの名無しさん
2009/11/04(水) 20:08:57[2] 問題文(含コード&リンク):http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/10060.txt
[3] 環境
[3.1] OS: Linux
[3.2] コンパイラ名とバージョン: gcc
[3.3] 言語: C言語
[4] 期限: 11/13 16:00まで
[5] その他の制限: 特になし
よろしくお願いします。
0562デフォルトの名無しさん
2009/11/04(水) 21:30:08[2] 問題文(含コード&リンク):http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/10061.txt
[3] 環境
[3.1] OS: Linux
[3.2] コンパイラ名とバージョン: gcc
[3.3] 言語: C言語
[4] 期限: 11/6 12:00まで
[5] その他の制限: 特になし
おねがいします
0563デフォルトの名無しさん
2009/11/04(水) 23:32:32[2] 問題文(含コード&リンク):
(π/4) = tan^-1(1) = 1 - (1/3) + (1/5) - … + (-1)^k * (1/(2k+1)) + …
の公式を用いて、第n項までの多項式近似により円周率を求め、その誤差と計算時間を測定するプログラムを作成せよ。
[3] 環境
[3.1] OS:Windows XP
[3.2] コンパイラ名とバージョン:オールインワンエクリプス
[3.3] 言語:C
[4] 期限:できれば明日までに
[5] その他の制限:特になし
0564デフォルトの名無しさん
2009/11/05(木) 00:29:07[1] 授業単元:C言語
[2] 問題文
問題文1
整数 n を入力すると 'a' から n個目までのアルファベットを全て表示するプログラムを作成せよ。 (例:n=6 の時 abcdefを表示)
問題文2
整数 n を入力すると1からn までの間で 3の倍数か、
5の倍数のどちらかであるような数の和を表示するプログラムを作れ。
(例:n=10 の時 3+5+6+9+10=33)
問題文3
次のプログラムの (a)-(j)の部分をfor 文を使って書き直せ。 #include<stdio.h> int main() { int a[10]; double sum,ave; sum=0; a[0]=1; a[1]=5; a[2]=7; a[3]=2; a[4]=4; a[5]=1; a[6]=9; a[7]=4; a[8]=20; a[9]=5; sum=sum+a[0];
/* (a) ここ */ sum=sum+a[1]; /* (b) ここ */ sum=sum+a[2]; /* (c) ここ */ sum=sum+a[3]; /* (d) ここ */ sum=sum+a[4]; /* (e) ここ */ sum=sum+a[5]; /* (f) ここ */ sum=sum+a[6]; /* (g) ここ */ sum=sum+a[7];
/* (h) ここ */ sum=sum+a[8]; /* (i) ここ */ sum=sum+a[9]; /* (j) ここ */ ave=sum/10; printf("総和は %d です。平均は %d です。\n",sum, ave); }
問題文4
整数を5個入力すると、まずそのまま表示し、次に逆順で表示するプログラムを作れ。
実行例: 数を入力して下さい: 3 数を入力して下さい: 7 数を入力して下さい: 1 数を入力して下さい: 2 数を入力して下さい: 5
そのまま表示 3 7 1 2 5 逆順に表示 5 2 1 7 3 プログラムのテキストをコピーして下のテキスト入力フィールドへ出力結果と共に貼り付けて提出すること。
[3] 環境
[3.1] OS: XP
[3.3] 言語: C++
[4] 期限: 明日まで
[5] その他の制限
#include <stdio.h>
int main()
スタートでお願いします。
0565デフォルトの名無しさん
2009/11/05(木) 00:48:10[2] 問題文(含コード&リンク):http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/10062.txt
[3] 環境
[3.1] OS:Windows
[3.2] コンパイラ名とバージョン: gcc
[3.3] 言語: C
[4] 期限: 11月05日18:00まで
[5] その他の制限: 問題文どおりです
0566デフォルトの名無しさん
2009/11/05(木) 00:53:39[2]コマンドラインで指定された英数字と空白、タブ、改行記号
のみから構成されるテキストファイルに含まれる単語の頻度を
アルファベット順に出力するプログラム。
単語とは英数字のみで構成されているものを指す。
一つの単語が1回現れた時は部分単語すべてが現れたものとする。
部分単語とは、その単語の連続する部分文字列のことである。
授業で述べた多重ハッシュテーブルを利用すること。
行の長さ、行の総数、単語の長さに制限は無いが、頻度は
32bit整数(符号付き)で正の範囲に表せるものとする。
[3] Linux/gcc 4.0/C言語
[4] 今週の金曜日夕方18:00迄
0567デフォルトの名無しさん
2009/11/05(木) 01:03:37水準別に解答貼付け専用スレを立ててそこに誘導したほうが
良くね?高校生レベルの問題と大学院修士課程レベルの問題とかが
混在したら回答者の精神衛生に問題が生じる可能性があるから
0568デフォルトの名無しさん
2009/11/05(木) 01:05:55ttp://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/10063.txt
0569デフォルトの名無しさん
2009/11/05(木) 01:33:33[2] 問題文(含コード&リンク):
台数近似を用いて、分割数nに対する I = ∫[1,2]ln(x)dx の値を求めるプログラムを作成し、誤差を求めよ。
[3] 環境
[3.1] OS:Windows XP
[3.2] コンパイラ名とバージョン:オールインワンエクリプス
[3.3] 言語:C
[4] 期限:今日中
[5] その他の制限:特になし
0570デフォルトの名無しさん
2009/11/05(木) 01:42:04分類の必要なし
各人のスキルは違う
高校生が大学院生よりプログラムできることはある
0571566
2009/11/05(木) 02:02:07《追加条件》
ファイルを読み込んでいる間に、記憶している単語別頻度の順位に変更が発生したら、その時点でアルファベット順に都度出力すること
0572デフォルトの名無しさん
2009/11/05(木) 02:04:18これわからん
0573566
2009/11/05(木) 02:16:21お答え下さいましてとりあえずありがとうございます。
わたしも良くわからないんですが、ハッシュテーブルが
衝突だったら別のハッシュ関数でその下にテーブルを
作るとかかなんとかだったと記憶してますけど...
ノートには次のように写してます。(板書写しなんで
間違ってるかもです)
if( array[ hash1(string) ] = NIL )
array[ hash1(string) ] := string;
else if array[hash1(string)][ hash2(strin) ]=NIL
array[hash1(string)][hash2(string)]:=string;
else ........
0574デフォルトの名無しさん
2009/11/05(木) 05:28:40ch[0] + p * ch[1] + p^2 * ch[2] + ・・・ + の上か下の何ビットかをハッシュにしたらいいのでは。
異なるハッシュがいくらでも作れる。
0575デフォルトの名無しさん
2009/11/05(木) 08:57:24ひでーやり方だなw
0576デフォルトの名無しさん
2009/11/05(木) 09:03:310577デフォルトの名無しさん
2009/11/05(木) 09:34:47for(i=p; i<=q; i++) a[i] = b[j] < c[k] ? b[j++] : c[k++];
0578デフォルトの名無しさん
2009/11/05(木) 09:50:27http://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q1132363616
配列は使わなくて良いのでしょうか。
http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/10064.c
0579デフォルトの名無しさん
2009/11/05(木) 10:42:21問題文1が間違っている。
'f' は 'a' から 5 個目だろ。
0580デフォルトの名無しさん
2009/11/05(木) 10:43:060581デフォルトの名無しさん
2009/11/05(木) 12:35:48http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/10065.c
http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/10066.c
http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/10067.c
http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/10068.c
0582デフォルトの名無しさん
2009/11/05(木) 14:34:010583デフォルトの名無しさん
2009/11/05(木) 16:43:05[2] 問題文(含コード&リンク):ttp://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/10069.zip
[3] 環境
[3.1] Linux
[3.2] gcc
[3.3] c
[4] 期限: 11月6日まで
問題はreadme.txtの中に書いておきました
よろしくお願いします
0584デフォルトの名無しさん
2009/11/05(木) 16:58:20その埋めるところ以外ってまさかもとから問題として書かれてるわけじゃないよな?
565が自分で書いてみただけだよな?
0585デフォルトの名無しさん
2009/11/05(木) 17:52:41SENTINELは全く出てこないが...
0586デフォルトの名無しさん
2009/11/05(木) 17:59:20for(i=p,j=k=0;i<=q;i++)
if( j>m-p) a[i]=c[k++];
else if( k>=q-m) a[i]=b[j++];
else if(c[k]<b[k]) a[i]=c[k++];
else a[i]=b[j++];
}
0587デフォルトの名無しさん
2009/11/05(木) 17:59:380588デフォルトの名無しさん
2009/11/05(木) 18:00:300589デフォルトの名無しさん
2009/11/05(木) 18:04:58>else if(c[k]<b[k]) a[i]=c[k++];
>else if(c[k]<b[k]) a[i]=c[k++];
>else if(c[k]<b[k]) a[i]=c[k++];
>else if(c[k]<b[k]) a[i]=c[k++];
else if(c[k]<b[j]) a[i]=c[k++];
じゃね?
0590デフォルトの名無しさん
2009/11/05(木) 18:06:450591デフォルトの名無しさん
2009/11/05(木) 18:11:17どこ?おしえて
0592デフォルトの名無しさん
2009/11/05(木) 18:29:20水準は兎も角、意外に奥の深い問題と学習確認クイズは
区別されたほうが良いかもな
0593デフォルトの名無しさん
2009/11/05(木) 18:33:25プログラミングではわずかなミスが致命的なバグとなる事がよくある
0594デフォルトの名無しさん
2009/11/05(木) 18:35:000595デフォルトの名無しさん
2009/11/05(木) 18:55:30589の問題は嬉しそうに挙げ足をとっていることなんだけど
改行厨みたいで迷惑
0596デフォルトの名無しさん
2009/11/05(木) 19:19:55アルゴリズムとプログラミング
[2] 問題文(含コード&リンク):
下のアドレスのプログラムに追加して、ダイクストラ法のプログラムを完成させてください
http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/10070.txt
プログラムに使用するデータファイル↓
http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/10071.txt
[3] 環境
[3.1] OS: (Windows/Linux/等々)
Linux
[3.2] コンパイラ名とバージョン: (gcc 3.4 VC 6.0等)
gcc
[3.3] 言語: (C/C++/どちらでも可 のいずれか)
C
[4] 期限: ([yyyy年mm月dd日hh:mmまで] または [無期限] のいずれか)
11月10日
[5] その他の制限: (どこまで習っているか、標準ライブラリは使ってはいけない等々)
特にありません
よろしくお願いします。
0597デフォルトの名無しさん
2009/11/05(木) 19:59:34台形公式のことですよね。
http://codepad.org/XRuQqaF0
0598初心者 ◆.6Hqkk7dyk
2009/11/05(木) 21:06:28[2] 問題文(含コード&リンク): 2つの整数値と1つの文字を、例えば「4+2」のように入力し、
入力に応じた四則演算を行って結果を出力するプログラムを作成しなさい。
ただし、中央の文字に四則演算の記号以外の文字が入力された時のことも考慮しなさい。
[3] 環境
[3.1] OS: UNIXのemacs
[3.2] コンパイラ名とバージョン: gcc
[3.3] 言語: C
[4] 期限:2009年11月7日17時まで
まだまだ初心者でよくわかりませんorz
よろしくお願いします。
0599デフォルトの名無しさん
2009/11/05(木) 21:51:19[2] 問題文(含コード&リンク):
http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/10073.txt
[3] 環境
[3.1] OS: UNIX
[3.2] コンパイラ名とバージョン: gcc
[3.3] 言語: C
[4] 期限:11月13日まで
[5]無し
構造体とポインタの問題です、よろしくお願いします。
0600デフォルトの名無しさん
2009/11/06(金) 03:11:52誰もやらないから最初の問題だけやってみた
提出あさってじゃんね
http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/10074.txt
0601デフォルトの名無しさん
2009/11/06(金) 08:26:531問目
http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/10075.txt
2問目
http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/10076.txt
0602デフォルトの名無しさん
2009/11/06(金) 13:20:08N*2が並び替える配列のサイズであるとしたら、
最初に呼び出したときにSENTINELがb[N]、c[N]の範囲外に代入されてしまう。
再帰関数を呼び出すごとにb[N],c[N]を確保するのは領域の無駄以外の何者でもない。
0603デフォルトの名無しさん
2009/11/06(金) 15:43:27http://codepad.org/JEJ72Jb5
0604デフォルトの名無しさん
2009/11/06(金) 22:56:50using namespace std;
int main() {
int i,goukei=0;
int kokugo[5];
float heikin;
for(i=0;i<5;i++) {
cout << "出席番号" << i+1 << "番の国語の成績を入力してください\n";
cin >> kokugo[i];
goukei = goukei + kokugo[i];
}
heikin = (float)goukei/5.0;
cout << "平均点は" << heikin << "点です\n";
for(i=0;i<5;i++) {
cout << "出席番号" << i+1 << "番の国語の成績は" << kokugo[i];
cout << "点で、平均との差は" << heikin-(float)kokugo[i] << "です\n";
}
return 0;
}
これを
数学の点数も入力する
数学の平均も出力する
国語と数学の総合的な平均点も出力する
ようにするにはどうすればいいんですか?
0605デフォルトの名無しさん
2009/11/06(金) 23:01:320606604
2009/11/06(金) 23:21:34C++です
0607デフォルトの名無しさん
2009/11/06(金) 23:45:10プログラムはろだにうpしろ
0608デフォルトの名無しさん
2009/11/07(土) 00:08:45小学生でも出来るレベルだぞ・・・それ
0609609
2009/11/07(土) 02:02:45using namespace std;
int main() {
int goukei_k = 0, goukei_s = 0;
int kokugo[5], suugaku[5];
float heikin_k, heikin_s, heikin;
for(int i=0; i<5; i++) {
cout << "出席番号" << i+1 << "番の国語の成績を入力してください\n";
cin >> kokugo[i];
goukei_k += kokugo[i];
cout << "同じく数学の成績を入力してください\n";
cin >> suugaku[i];
goukei_s += suugaku[i];
}
heikin_k = (float)goukei_k/5.0;
cout << "国語の平均点は" << heikin_k << "点です\n";
heikin_s = (float)goukei_s/5.0;
cout << "数学の平均点は" << heikin_s << "点です\n";
heikin = (float)(goukei_k + goukei_s)/5.0;
cout << "合計の平均点は" << heikin << "点です\n";
for(int i=0; i<5; i++) {
cout << "出席番号" << i+1 << "番の国語の成績は" << kokugo[i];
cout << "点で、平均との差は" << heikin_k - kokugo[i] << "です\n";
cout << "同じく数学の成績は" << suugaku[i];
cout << "点で、平均との差は" << heikin_s - suugaku[i] << "です\n";
cout << "同じく合計の成績は" << kokugo[i] + suugaku[i];
cout << "点で、平均との差は" << heikin - (kokugo[i]+suugaku[i]) << "です\n";
}
return 0;
}
0610デフォルトの名無しさん
2009/11/07(土) 10:36:26[2] 問題文
マルチプロセスを利用したシステムの開発を行い,結果を以下の項目にまとめ報告せよ. fork(),セマフォ,メッセージをすべて使用すること.
・システムの要求仕様
・プログラムのソースファイル
・上記プログラムの簡単な解説,特に fork(),メッセージ,セマフォの周辺について
[3] 環境
[3.1] OS: Linux
[3.2] コンパイラ名とバージョン: Gcc
[3.3] 言語: C言語
[4] 期限: 11/9いっぱい
[5] その他の制限:なし
フォーク、セマフォの作り方がよくわからないのでよろしくおねがいします。
0611デフォルトの名無しさん
2009/11/07(土) 13:48:39>>474-479
0612デフォルトの名無しさん
2009/11/07(土) 16:31:27なにか異常な状況になると、なにもせずに終わります。
http://codepad.org/kU1vQSYE
0613デフォルトの名無しさん
2009/11/07(土) 21:44:16ありがとうございました
0614デフォルトの名無しさん
2009/11/07(土) 22:13:11↓空白が入った場合は考慮していない(1 + 2など)。
http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/10077.c
0615デフォルトの名無しさん
2009/11/07(土) 23:42:13順番通りに表示できるようにするのってどうするんですか
#include <iostream>
using namespace std;
int main() {
で始まる感じで(もしかしたらcmathとか使うかもしれないですが)
最後は
return 0;
}です
0616デフォルトの名無しさん
2009/11/08(日) 00:52:50へぇ〜ほぉ〜小学校でC言語やプログラミングって習うんだぁ。どこ?
0617デフォルトの名無しさん
2009/11/08(日) 00:56:180618デフォルトの名無しさん
2009/11/08(日) 01:34:55小学校は難しいとしても、勘のいい人なら普通の人でもできる内容かもね。
国語を算数に変えたら算数になることは分かるだろうし。
0619デフォルトの名無しさん
2009/11/08(日) 01:39:120620620
2009/11/08(日) 01:42:22using namespace std;
int main() {
int i, n, bin[32];
cout << "Number:"; cin >> n;
cout << "Binary:";
for(i=0; i<32; i++) {
bin[i] = n & 1;
n >>= 1;
}
for(i=31; i>=0; i--)
cout << bin[i];
return 0;
}
0621デフォルトの名無しさん
2009/11/08(日) 01:47:24小学生がやるのは個人の好き勝手だと思うし、愚かだとは思わない。
よしんば愚かだと思ってもそれが骨頂の愚かな行為とまでは思えない。
0622デフォルトの名無しさん
2009/11/08(日) 01:52:0719を2進数にすると10011だと思うんですが
その前に0が沢山並ぶのはOKなんでしょうか?
0623デフォルトの名無しさん
2009/11/08(日) 02:04:07プログラミングというのは本来、プログラミング言語自体を
作りながらやるもの。これは到底小学生に出来る世界じゃない。
出来合のプログラミング言語解釈疑似実行プログラム(=コンパイラ)
を使って遊ぶことは、実はプログラミングとは言うのはかなり
恥ずかしい。
有害無益とまでは言わないが、商業的には兎も角、教育的な意味で
有益にするのはかなり難しい。
相当に優秀な教師でも居ない限りね。
0624デフォルトの名無しさん
2009/11/08(日) 02:14:49たとえば何の言語作ったの?
0625デフォルトの名無しさん
2009/11/08(日) 02:20:48ひとつだが万能な言語じゃない。万能な言語など無い。
0626デフォルトの名無しさん
2009/11/08(日) 02:22:36それはそうと、俺は言語作ったこと無いけどみんなはあるの?
0627デフォルトの名無しさん
2009/11/08(日) 02:26:47プログラム言語だってコンパイラだって出来合いのをコンパイルしたもんだろ
機械語に直接翻訳するようなのを自分で作るなら話は別だが
0628デフォルトの名無しさん
2009/11/08(日) 02:28:20>プログラミングというのは本来、プログラミング言語自体を
>作りながらやるもの。
そもそもこの定義はどこから来たのw?
0629デフォルトの名無しさん
2009/11/08(日) 02:30:18されちゃってるなw
0630デフォルトの名無しさん
2009/11/08(日) 03:01:490631デフォルトの名無しさん
2009/11/08(日) 03:03:100632デフォルトの名無しさん
2009/11/08(日) 03:05:38優秀なプログラマは、天賦な言語にバグなどないと敬虔に信じ
救われる。
0633デフォルトの名無しさん
2009/11/08(日) 03:23:30プログラミングとは言語を作ることだと言っている。
つまり、プログラマと名乗る以上、優秀であろうとそうでなかろうと言語を作っているはずなんだよ
だから俺はプログラマじゃないの。
0634デフォルトの名無しさん
2009/11/08(日) 03:25:480635デフォルトの名無しさん
2009/11/08(日) 03:27:24C言語でおk
0636デフォルトの名無しさん
2009/11/08(日) 03:27:260637デフォルトの名無しさん
2009/11/08(日) 04:23:01ものじゃないと考えるわけだ。
0638デフォルトの名無しさん
2009/11/08(日) 05:23:26[2] 問題文(含コード&リンク):ソケット通信を用いたチャットの作成
(http://mikilab.doshisha.ac.jp/dia/research/report/2003/0714/006/report20030714006.html)
にある2.1、2.2のクライアント、サーバのプログラム(出来れば簡単な解説もお願いします)
[3] 環境
[3.1] OS:Linux
[3.2] コンパイラ名とバージョン: gcc
[3.3] 言語: C++
[4] 期限: 2009年11月08日23:00まで
[5] その他の制限: なし
0639620
2009/11/08(日) 07:55:5819を2進数にすると10011だと思うんですが
その前に0が沢山並ぶのはOKなんでしょうか?
620は○△先生じゃないから、質問されても答えられない。
-9を2進数にすると幾つだと思うか?!
0640デフォルトの名無しさん
2009/11/08(日) 09:03:53東京にIQ130以上の子供だけを入園させることが出来る幼稚園(だっけな?)とかなかったかな
確かそこでプログラミングしてたはず
それに近頃の、ませた小学生がプログラミングに興味を持ってるのもいるしなぁ。
0641デフォルトの名無しさん
2009/11/08(日) 09:34:410642デフォルトの名無しさん
2009/11/08(日) 12:47:03簡単なお絵描きプログラムなんですが、
BASICの本のサンプルみたいなのを、機能拡張しながら使ってた。
そのときはテープも使えず、フロッピーディスクなんてのもないから、
覚えてしまったコードを毎回入力してたけど、毎回すこしずつ違ったコードでした。
0643デフォルトの名無しさん
2009/11/08(日) 13:49:24負の数を2進数にする時のためにも、最初に全体のビット数は
何ビットなのかはっきりさせておかなければ
2進数では大抵負の数は2の補数という表現を取り、最上位
ビットは1になる
0644デフォルトの名無しさん
2009/11/08(日) 20:09:22[2] 問題文(含コード&リンク): http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/10079.txt
[3] 環境
[3.1] OS: Linux
[3.2] コンパイラ名とバージョン: gcc
[3.3] 言語: C
[4] 期限:11/13まで
[5] その他の制限: 特になし
0645デフォルトの名無しさん
2009/11/08(日) 20:35:07[2] 問題文:ブレゼンハムのアルゴリズムを用いて、ウィンドウ内に線分を描画するプログラムを
作成しなさい。(以下の仕様で作成せよ)
■仕様(マウスの右と左のボタンを使用する。候補線の表示なし。)
マウスの左ボタンクリック 線分の始点座標の指定
マウスの右ボタンクリック 線分の終点座標の指定及び線分の描画
[3] 環境
[3.1] OS: Windows vista
[3.2] コンパイラ名とバージョン: Visual C++ 2008
[3.3] 言語: C++
[4] 期限:2009年11月17日まで
[5] その他の制限:特になし
0646デフォルトの名無しさん
2009/11/08(日) 21:52:25○△先生ってなんですか?
0647デフォルトの名無しさん
2009/11/08(日) 22:55:280648デフォルトの名無しさん
2009/11/08(日) 23:32:22意味わからないですよね?
普通に読むとそうですが
0649デフォルトの名無しさん
2009/11/08(日) 23:45:32#include <iostream>
#define TRUE (1==1)
using namespace std;
int main() {
int i = 0, n, bin[sizeof(int) * 8];
cout << "Number:"; cin >> n;
cout << "Binary:";
while(TRUE){
bin[i] = n & 1;
if ((n >>= 1) == 0){break;}
i++;
}
while(i >= 0){
cout << bin[i--];
}
cout << '\n';
return 0;
}
0650デフォルトの名無しさん
2009/11/09(月) 00:05:270651デフォルトの名無しさん
2009/11/09(月) 00:27:39[2] 問題文(含コード&リンク):
正の整数nの2乗の数に、2種類の数字しか現れない
4桁の正の整数 n をすべて挙げなさい
[3] 環境
[3.1] OS: linux
[3.2] コンパイラ名とバージョン: gcc
[3.3] 言語: c言語
[4] 期限: 2009年11月13日13:00まで
[5] その他の制限:なるべく簡単にお願いします
よろしくお願いします
0652デフォルトの名無しさん
2009/11/09(月) 00:40:56#include<stdio.h>
int main(void){
puts("1000 2000 3000 3114");
return 0;
}
0653デフォルトの名無しさん
2009/11/09(月) 00:44:06求めるプログラムお願いします
0654デフォルトの名無しさん
2009/11/09(月) 01:09:50ダイクストラ法の部分だけ実装しています。シミュレーション部分は、そもそもなんのシミュレーションなのかわからないので
放っています。
http://codepad.org/bxTi0dpv
何をシミュレートしているのか詳しくおしえていただければ、あるいは続きを書けるかもしれません。
0655デフォルトの名無しさん
2009/11/09(月) 01:41:35()を適当に埋めて整数の桁に現れる数を数え上げる関数
count(int n)を作ってこれを使って完成させな
int count( int n ){
int i,c[10],d;
for(i=0;i<(?);i++) c[i]=( );
while(?){ c[(?)]++;n/=10; }
for(i=d=0;i<10;i++) d+=(c[i]==0)?(?):(?);
return (?);
}
0656656
2009/11/09(月) 01:42:47int main(void){
int i, j, ii, count, digit[10];
for(i=1000; i<10000; i++){ // sqrt(1000) = 31.6227
for(j=0;j<10;j++) digit[j]=0;
ii = i*i;
for(j=0;j<8;j++) { // 10,000*10,000 = 100,000,000
digit[ii%10] = 1;
ii /= 10;
if(ii==0) break;
}
count = 0;
for(j=0;j<10;j++)
if(digit[j] == 1) count++;
if(count==2) {//printf("-->");
printf("%d %d %d\n", i, count, i*i);
}
}
}
0657デフォルトの名無しさん
2009/11/09(月) 03:47:58[2] 問題文(含コード&リンク):
n件のデータを配列に入力しその平均値を出力するプログラムをつくり、
実行部において添字演算子は用いず、*(p+i)と*p++それぞれを用いるパターンを作る
ただし、入出力処理をファイル処理に、入出力ファイル名はコマンドラインで指定する
[3] 環境
[3.1] OS: とくになし
[3.2] コンパイラ名とバージョン: とくになし
[3.3] 言語: c言語
[4] 期限: 2009/11/09日中
[5] その他の制限:途中まで出来ている部分を使ってください。
#include<stdio.h>
int main(void)
{
int A[100];
int a,b,i,n,*p;
*p=A[0];
scanf("%d",&n);
for(i=0;i<n;i++){
scanf("%d",*(p+i));
}
for(i=0;i<n;i++){
b+=*(p+i);
}
a=b/n;
printf("%d",a);
return(0);
}
です。よろしくお願いします。
0658デフォルトの名無しさん
2009/11/09(月) 05:50:29ありがとうございます.コンパイルしてみます
0659デフォルトの名無しさん
2009/11/09(月) 09:20:08#include <stdio.h>
int check(int n)
{
int i, a[2], temp, c = 0;
while(n) {
temp = n % 10;
for(i=0; i<c; i++) if(a[i]==temp) break;
if(i==2) return 0;
if(i == c) a[c++] = temp;
label:
n /= 10;
}
return 1;
}
int main(void)
{
int i;
for(i=1000; i<10000; i++) if(check(i*i)) printf("%d\n", i);
return 0;
}
0660デフォルトの名無しさん
2009/11/09(月) 09:21:02label:は消しといて
0661デフォルトの名無しさん
2009/11/09(月) 09:29:06バグってるぞ
実行結果
1000
2000
3000
3114
0662デフォルトの名無しさん
2009/11/09(月) 09:33:090663デフォルトの名無しさん
2009/11/09(月) 09:36:33表示するのは4桁の整数の方だし
0664デフォルトの名無しさん
2009/11/09(月) 10:34:0710進数表記で、3種類以上の数字が現れる、
もしくは1種類の数字しか現れない」という
ことが無いものをすべて挙げなさい
0665デフォルトの名無しさん
2009/11/09(月) 10:35:27「「10進数表記で、3種類以上の数字が現れる、
もしくは1種類の数字しか現れない」という
ことが無いもの」をすべて挙げなさい
0666656
2009/11/09(月) 10:37:30int main(void)
{
int i;
for(i=1; i<10000; i++) if(check(i*i)) printf("%04d\n", i);
return 0;
}
0667デフォルトの名無しさん
2009/11/09(月) 10:52:350668デフォルトの名無しさん
2009/11/09(月) 10:56:46>>652への追加課題
0669デフォルトの名無しさん
2009/11/09(月) 10:59:290670656
2009/11/09(月) 11:01:05int main(void) {
int i;
for(i=1; i<10000; i++) if(i%10) if(check(i*i)) printf("%4d %d\n", i, i*i);
return 0;
}
0671デフォルトの名無しさん
2009/11/09(月) 11:02:370672656
2009/11/09(月) 11:07:19for(i=4; ......
0673デフォルトの名無しさん
2009/11/09(月) 11:08:21生徒はそれを写す
んだろ?
0674デフォルトの名無しさん
2009/11/09(月) 11:12:540676デフォルトの名無しさん
2009/11/09(月) 11:39:58で、どこがバグってるの?
0677デフォルトの名無しさん
2009/11/09(月) 11:40:22出来ないの?
0678デフォルトの名無しさん
2009/11/09(月) 11:50:08お前はなんで自分にレスしてんだよw
0679613
2009/11/09(月) 14:32:26const int(*func)(void*) = ...
のように宣言すると、funcの挙動としてconstが定義されて(戻り値がconst int型となり)
変数func自体はconst化されず、プログラム中でポインタの書き換えが行えてしまいます。
関数の挙動としては戻り値にconstをつけず、ポインタ自体にconstを当てはめたいのですがー
どなたかいい手法をご存知ないでしょうか?
0680デフォルトの名無しさん
2009/11/09(月) 14:35:300682デフォルトの名無しさん
2009/11/09(月) 14:42:39#include <stdio.h>
int func(void)
{
return 1;
}
int main(void)
{
int (* const fun)(void) = func;
printf("%d\n", fun());
return 0;
}
出力結果
1
0683デフォルトの名無しさん
2009/11/09(月) 14:44:50#include <stdio.h>
int func(void)
{
return 1;
}
int func2(void)
{
return 2;
}
int main(void)
{
int (* const fun)(void) = func;
printf("%d\n", fun());
fun = func2;
return 0;
}
const_func2.c: In function 'main':
const_func2.c:19: error: assignment of read-only variable 'fun'
0684デフォルトの名無しさん
2009/11/09(月) 14:44:59という疑問のほうが...
0687デフォルトの名無しさん
2009/11/09(月) 14:49:56【初心者歓迎】C/C++室 Ver.69【環境依存OK】
http://pc12.2ch.net/test/read.cgi/tech/1256022655/
ここあたりに行こうぜ
0688デフォルトの名無しさん
2009/11/09(月) 15:19:21どういう状況でfuncという変数を使うのか知ってみたい
0689デフォルトの名無しさん
2009/11/09(月) 15:27:38int Stage2( void );
int Stage3( void );
int (* const func[])(void) = { Stage1, Stage2, Stage3 };
{
while(1) func[now_stage];
}
0690デフォルトの名無しさん
2009/11/09(月) 15:45:190691656
2009/11/09(月) 16:37:19int check(int n) {
int i, a[2], temp, c = 0;
while(n) {
temp = n % 10;
for(i = 0; i < c; i++)
if(a[i] == temp) break;
if(i == 2) return 0; // check NG
if(i == c) a[c++] = temp;
n /= 10;
}
if(c == 2) return 1; // check OK
return 0;
}
0692デフォルトの名無しさん
2009/11/09(月) 16:45:160693デフォルトの名無しさん
2009/11/09(月) 16:49:14自演で何やってんだよw
0694デフォルトの名無しさん
2009/11/09(月) 18:05:46[2] 問題文(含コード&リンク):
ブレゼンハムのアルゴリズムを用いて、ウインドウ内に線分を描画するプログラムを作成しなさい。
動作の仕様は2通りの中から選びなさい。(どちらでもよい)
仕様1(マウスの左ボタンと右ボタンを使用する。候補線を表示はなし。)
マウスの左ボタンクリック 線分の始点座標の指定
マウスの右ボタンクリック 線分の終点座標の指定及び線分の描画
仕様2(マウスの左ボタンだけで操作する。候補線を表示する。)
マウスの左ボタンクリック 線分の始点座標の指定、及び線分の描画開始
マウスの移動 始点から線分を絶えず候補として描画。(古い線分は消す)
マウスの左ボタンクリック 線分の終点座標の確定。線分を描画。
ただし、ライブラリの点を描画するAPI関数を使って線分を引くこと。直線を引くAPI関数を使ってはならない。
[3] 環境
[3.1] OS: WindowsXP
[3.2] コンパイラ: Microsoft Visual C++ 2008 Express Edition
[3.3] 言語: C++
[4] 期限: 09年11月11日(水)
[5] その他の制限: 特になし
仕様は1と2どちらでもOKなので、簡単なほうで構いません。
よろしくお願いします。
0695デフォルトの名無しさん
2009/11/09(月) 18:36:14[2] 問題文(含コード&リンク):不定方程式が解を持つか判断して、持つ場合には解を求めるプログラムを作れ
[3] 環境
[3.1] OS: Windows vista
[3.2] コンパイラ名とバージョン: Visual C++ 2008
[3.3] 言語:C++
[4] 期限: 明日まで
[5] その他の制限: 特になし
もしどなたかやっていただけるならばお願いしますm(_)m
0696デフォルトの名無しさん
2009/11/09(月) 19:30:06[2] 問題文(含コード&リンク): http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/10081.txt
[3] 環境
[3.1] OS: Windows XP
[3.2] コンパイラ名とバージョン: VC2003
[3.3] 言語: C
[4] 期限: 明日中
[5] その他の制限: 特になし
0697デフォルトの名無しさん
2009/11/09(月) 19:58:10ありがとうございます!
シミュレーション内容について詳しく書いたファイルを↓に上げました。
よければよろしくお願いします。
[1] 授業単元:
アルゴリズムとプログラミング
[2] 問題文(含コード&リンク):
http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/10082.txt
プログラムに使用するデータファイル↓
http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/10071.txt
[3] 環境
[3.1] OS: (Windows/Linux/等々)
Linux
[3.2] コンパイラ名とバージョン: (gcc 3.4 VC 6.0等)
gcc
[3.3] 言語: (C/C++/どちらでも可 のいずれか)
C
[4] 期限: ([yyyy年mm月dd日hh:mmまで] または [無期限] のいずれか)
11月17日
[5] その他の制限: (どこまで習っているか、標準ライブラリは使ってはいけない等々)
特にありません
0698デフォルトの名無しさん
2009/11/09(月) 19:59:12buf[4] = '\0';
0699デフォルトの名無しさん
2009/11/09(月) 20:37:11using namespace std;
int main() {
int a[100],b=-9999;
int i=0,j;
do {
cout << "整数値を入力してください\n";
cin >> a[i];
b += a[i];
i++;
}while( a[i-1] != 9999);
cout << b << '\n';
for(j=0;j<i-1;j=j+1)
cout << a[j] * 3 << '\n';
return 0;
}
このプログラムってループを抜ける条件は9999と入れた時だけですか?
0700デフォルトの名無しさん
2009/11/09(月) 21:02:19いえ、他にも、100回を超えても何度も何度も操作を続けて
書き込み禁止のメモリに到達したときにも抜けます(異常終了という形で)。
0701デフォルトの名無しさん
2009/11/09(月) 21:27:03仕様2で
ttp://codepad.org/IeQFbfNo
0702デフォルトの名無しさん
2009/11/09(月) 21:29:26ありがとうございます
0703604
2009/11/09(月) 21:37:51っていう言葉の意味が分からないんですが、これは、合計を5で割ればいいんですかね?
10で割ればいいんですかね?
0704デフォルトの名無しさん
2009/11/09(月) 21:41:36国語の平均と数学の平均の合計を2で割ってもまぁ良い
0705デフォルトの名無しさん
2009/11/09(月) 21:44:31[2] 問題文(含コード&リンク):
入力された小文字のアルファベットを,リストを用いて順次格納する.
’−’が入力された時に文字の入力を終了し,それまでに格納された全ての文字を表示するプログラムを作成
せよ.
ただし,リストに格納する際,リストの最後に追加するようにせよ.
例(a, b, c, - と順に入力したときa,b,cと出力される)
[3] 環境
[3.1] OS:Linux
[3.2] コンパイラ名とバージョン:gcc
[3.3] 言語:C
[4] 期限:特に無し
[5] その他の制限:双方向リストは使わない。
ヘッダは#include <stdio.h>以外は使わない
0706604
2009/11/09(月) 21:45:16つまり、これは総合的平均っていうのは100を越すことはないという事ですか?
0707デフォルトの名無しさん
2009/11/09(月) 23:07:35制限付きで面白そうなのでやってみようかな
0708デフォルトの名無しさん
2009/11/09(月) 23:22:25そういうことになるな。
0709デフォルトの名無しさん
2009/11/09(月) 23:24:36ありがとうございました
0710デフォルトの名無しさん
2009/11/09(月) 23:35:40#include <iostream>
using namespace std;
int main() {
int i,n,bin[32];
cout << "10進数:";
cin >> n;
cout << "2進数:";
for(i=0; i<32; i++) {
bin[i] = n & 1;
n >>= 1;
}
for(i=31; i>=0; i--)
cout << bin[i];
return 0;
}
結局これは、0がいっぱい出てくるから、ダメですかね?
それとも負の数も考慮に入れたから、こういう事になったんですか?
0711デフォルトの名無しさん
2009/11/09(月) 23:52:05言ってる意味がわからない。
実行して無いけど、パッと見は合ってるように見える。
どんな入力をしたらどんな出力がされた?
1をいれたら00000000000000000000000000000001が出るのは正しいよ。
2進数での表示ってのは普通そういうもの。
0712デフォルトの名無しさん
2009/11/09(月) 23:53:34#include <iostream>
using namespace std;
int heikin(char *gakka){
int i, seiseki[5], goukei = 0;
float heikin;
for(i = 0; i < 5; i++) {
cout << "出席番号" << i + 1 << "番の" << gakka << "の成績を入力してください : ";
cin >> seiseki[i];
goukei += seiseki[i];
}
heikin = (float)goukei/5.0;
cout << "平均点は" << (float)goukei/5.0 << "点です\n";
for(i = 0; i < 5; i++) {
cout << "出席番号" << i + 1 << "番の" << gakka << "の成績は" << seiseki[i];
cout << "点で、平均との差は" << heikin - (float)seiseki[i] << "です\n";
}
return heikin;
}
int main() {
float sou_heikin = 0;
sou_heikin += heikin("国語");
sou_heikin += heikin("数学");
cout << "総平均は" << sou_heikin / 2 << "です\n";
return 0;
}
0713デフォルトの名無しさん
2009/11/10(火) 00:10:471だとそうやって出まして、-1だと、全部1がずらっと並びました。ごめんなさい
bin[i] = n & 1;っていうのはどういう意味ですか?というか、binというのは何でしょうか?
0714デフォルトの名無しさん
2009/11/10(火) 00:11:11こういう事?
10進数:19
2進数:10011
#include <iostream>
using namespace std;
int main() {
int i=0,n, bufsz = sizeof(int) * 8, bin[bufsz];
cout << "10進数:";
cin >> n;
cout << "2進数:";
for(i = 0; i < bufsz; i++) {
bin[i] = n & 1;
if(!(n >>= 1)){break;}
}
while(i>=0){
cout << bin[i--];
}
return 0;
}
0715デフォルトの名無しさん
2009/11/10(火) 00:12:460がずらっと並ばないというのはそういう事です。
0716デフォルトの名無しさん
2009/11/10(火) 00:21:12でもこれ
定数式が必要です
bin:サイズが不明です
サイズが0の配列を割り当てまたは宣言しようとしました
って出てできません
0717デフォルトの名無しさん
2009/11/10(火) 00:34:28n >>= 1; ってどういう事ですか? >>=って表現あるんですか?
0718デフォルトの名無しさん
2009/11/10(火) 00:35:24-1がそうなるのは正しい、「二進数」とか「二の補数」でググれ。
&ってのはand演算をしている。「論理演算子」でググれ。
binてのはbinaryの略で、そのまんま「二進数」の英訳。
二進数にした一桁一桁の0もしくは1を格納している。
>>716
本当はよりよいソースなんだけど、課題でそこまでこだわるこたーない
とりえあずbin[bufsz];をbin[sizeof(int) * 8]にすりゃ逃げられるだろう。
>>717
a >>= b は a = a >> bと 同じ。+=なら知ってるだろ、あれと同じ考え方。
0719デフォルトの名無しさん
2009/11/10(火) 02:57:53[2] 問題文(含コード&リンク): 基本プログラムを元に各処理を行う
基本プログラム:http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/10083.txt
処理内容: ある画像に円形・方形切り出し
ラベリング、縮退・膨張の処理を行う
処理結果例は画像参照
処理結果例:http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/10084.zip
[3] 環境
[3.1] OS:Windows XP
[3.2] コンパイラ名とバージョン: Visual Studio2008
[3.3] 言語:C
[4] 期限: 2009年11月10日14:30
[5] その他の制限: 基本ソースを元に編集する。
画像処理ライブラリの使用は不可。
切り出しの際の切り出しサイズの指定は特にありません。
期限が近すぎて申し訳ありませんが、よろしくお願いします。また、規制中らしくパソコンからの投稿が出来ないので携帯からの投稿で見難かったら申し訳有りません。
0720デフォルトの名無しさん
2009/11/10(火) 03:29:44そしたら何て答えたと思う?(キリッ)
Yes, I have. だっておー(バンバン)
0721デフォルトの名無しさん
2009/11/10(火) 03:38:31そ
Y
宿題はやくやれってこと?
0722696
2009/11/10(火) 04:13:07ありがとうございます。
しかし、それですと、問題の以降3行ではなくて、以下3行を1行に修正する
と言うことになってしまうと思います。
問題が間違っているのかも改めて確認してみますが、何卒よろしくおねがいします。
[1] 授業単元: C言語
[2] 問題文(含コード&リンク): http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/10081.txt
[3] 環境
[3.1] OS: Windows XP
[3.2] コンパイラ名とバージョン: VC2003
[3.3] 言語: C
[4] 期限: 明日中
[5] その他の制限: 特になし
0723デフォルトの名無しさん
2009/11/10(火) 06:53:580724723
2009/11/10(火) 07:30:12char buf[32], *p;
strcpy(buf, "0123456789");
p[p = buf, p += 4, 0] = '\0';
puts(buf);
return 0;
}
0725デフォルトの名無しさん
2009/11/10(火) 08:05:38[2] 問題文(含コード&リンク):a,b,c,d,eの5文字をアルファベットとして
重複なく4文字をで構成される全てのwordのなかで部分文字列として、
ad,bd,deを含まないものを表示せよ
[3] 環境
[3.1] OS: Linux
[3.2] コンパイラ名とバージョン: gcc 3.4
[3.3] 言語: C
[4] 期限: 11月11日
[5] その他の制限 :
0726デフォルトの名無しさん
2009/11/10(火) 08:53:30http://codepad.org/1M2txu4A
0727デフォルトの名無しさん
2009/11/10(火) 08:56:58p += 4;
*p = '\0';
puts(buf);
この3行を1行にして欲しいんじゃないか?
0728デフォルトの名無しさん
2009/11/10(火) 09:08:28>>722がどうしてもというならやらないこともないが、それで困るのは>>722だろ。
0729デフォルトの名無しさん
2009/11/10(火) 09:14:36ちょ、7行目が未定義動作。
buf[4]='\0';
じゃないか。
0730デフォルトの名無しさん
2009/11/10(火) 09:27:430731731
2009/11/10(火) 09:50:49http://jbbs.livedoor.jp/bbs/read.cgi/computer/32221/1246384344/27
0732デフォルトの名無しさん
2009/11/10(火) 10:22:31ありがとうございます。
0733デフォルトの名無しさん
2009/11/10(火) 11:19:47[2] 問題文:白黒濃淡画像をガンマ補正するプログラムを作る
[3] 環境
[3.1] OS:Windows XP
[3.2] コンパイラ名とバージョン: Cygwin
[3.3] 言語: C言語
[4] 期限: 2009年11月30日0:00まで
[5] その他の制限:特にないです
よろしくお願いします
0734696
2009/11/10(火) 11:38:43以降は、その行は含まれない。
以下は、その行が含まれる。
ものだと思ってました。プログラムの前に日本語勉強しろって感じですね
その行が含まれるのか聞いて見ます。
ありがとうございました。
0735デフォルトの名無しさん
2009/11/10(火) 11:42:20聞くなら、課題を提出した上で確認する形で聞くんだぞ。
0736デフォルトの名無しさん
2009/11/10(火) 12:12:22正の整数nの2乗の数に
0737デフォルトの名無しさん
2009/11/10(火) 12:14:130738デフォルトの名無しさん
2009/11/10(火) 12:16:5331.622776601683793319988935444327
0739デフォルトの名無しさん
2009/11/10(火) 12:19:150740719
2009/11/10(火) 12:25:54誤 [2] 問題文(含コード&リンク): 基本プログラムを元に各処理を行う
正 [2] 問題文(含コード&リンク): 基本プログラムを元に編集し各処理を行う
わかる方いましたら回答お願いいたします
0741デフォルトの名無しさん
2009/11/10(火) 12:27:41sprintf(stdout, "%.4s", buf);
ってやるとどうなるんだろ。
問題見てないけど。
0742デフォルトの名無しさん
2009/11/10(火) 12:30:370743デフォルトの名無しさん
2009/11/10(火) 12:42:210744デフォルトの名無しさん
2009/11/10(火) 12:43:19√1000 = ?
0745デフォルトの名無しさん
2009/11/10(火) 12:49:10ほんと日本語読めてないな。
問題文音読してみろ
0746デフォルトの名無しさん
2009/11/10(火) 12:52:26正の整数nの2乗が、2種類の数字で構成される
4桁の整数となるような n をすべて挙げなさい
0747デフォルトの名無しさん
2009/11/10(火) 12:55:41アラヤダ
fprintf(stdout, "%.4s", buf);
だと?
0748デフォルトの名無しさん
2009/11/10(火) 13:02:36宿題ってレベルじゃないだろ
0749デフォルトの名無しさん
2009/11/10(火) 13:04:46>>746
正の整数nの2乗の数に、2種類の数字しか現れない
4桁の正の整数 n をすべて挙げなさい
0750デフォルトの名無しさん
2009/11/10(火) 13:06:04ぃょぅ、日本語は読めても意味をしっかりと理解できない、物事を的確に判断できない認知症患者w
頼むから自動車の運転だけはするなよ。他人を殺しかねないからな。せいぜいこのスレで
自分の勘違いを指摘する奴を必死に罵倒して顔を真っ赤にしてろやw
0751デフォルトの名無しさん
2009/11/10(火) 13:10:10int main(void){
int i;
for(i=32;i<100;i++) printf("%d^2 = %d ",i,i*i);
printf("たかだか70個だろ、自分で確認しろ");
return 0;
}
0752デフォルトの名無しさん
2009/11/10(火) 13:12:39>>651の記述が曖昧だな。
普通に解釈すれば、「4桁の正の整数 n」とは、2乗する前の「正の整数n」の事だろうけど。
問題文で計算の前後(n-->n*n)を同じ「n」で表現するのは混乱の元だから。
だが、ひょっとして問題文が間違っていて、実は
「正の整数nを2乗して得られる4桁の整数のうち、
2種類の数字しか現れないものをすべて挙げなさい」
かもしれん。
0753デフォルトの名無しさん
2009/11/10(火) 13:15:44やるやつはやるしやらないやつはやらんし、
それが本当に宿題なのかなんなのか確認する術などないからいんじゃね
0754デフォルトの名無しさん
2009/11/10(火) 13:22:17すみませんがあなたの理解した内容を教えていただけませんか?
0755デフォルトの名無しさん
2009/11/10(火) 13:27:100756デフォルトの名無しさん
2009/11/10(火) 13:37:062000*2000=4000000
3000*3000=9000000
3114*3114=9696996
0757デフォルトの名無しさん
2009/11/10(火) 13:38:210758デフォルトの名無しさん
2009/11/10(火) 13:39:22まわされたってことだよw
0759デフォルトの名無しさん
2009/11/10(火) 13:41:130760675
2009/11/10(火) 13:42:15http://www.asahi-net.or.jp/~kc2h-msm/mathland/math02/index.htm
0761デフォルトの名無しさん
2009/11/10(火) 13:46:07火消しに必死だな
ボケて突っ込んだ?どこをどうよんだら?
0762759
2009/11/10(火) 13:49:36火消しがなんのことか知らないが、俺がそうとしか読めないと言ってるのは
求めるのは4桁の整数nであるということ。さっき来たからこのスレの流れは知らない
0763デフォルトの名無しさん
2009/11/10(火) 13:49:48勘違いして暴れたあげく、突っ込まれると釣りってことにして誤魔化す。
全く成長してないな。
0764デフォルトの名無しさん
2009/11/10(火) 13:52:17普通の日本語読解力があれば、651を誤読することはない。
0765デフォルトの名無しさん
2009/11/10(火) 13:54:39質問主は>>653で、答えが4桁であること自体には文句をつけてない。
0766デフォルトの名無しさん
2009/11/10(火) 14:00:14[2] 問題文(含コード&リンク):http://www.dotup.org/uploda/www.dotup.org348430.pdf.html
基礎となるプログラムhttp://www.dotup.org/uploda/www.dotup.org348443.txt.html
[3] 環境
[3.1] OS: (Windows
[3.2] コンパイラ名とバージョンVC
[3.3] 言語: (C/
[4] 期限: ([14日
0767デフォルトの名無しさん
2009/11/10(火) 14:00:44>>4桁の正の整数 n をすべて挙げなさい
まず4桁の条件を満たす最低値は32、最大値は99かな
100だと10000になっちゃうし、31だと961になっちゃうから。
0768デフォルトの名無しさん
2009/11/10(火) 14:01:54もっとあると思ってたのに・・・
0769デフォルトの名無しさん
2009/11/10(火) 14:05:030770デフォルトの名無しさん
2009/11/10(火) 14:10:29ここまでは確定。
あとは、釣りで誤魔化そうとしてるのが怪しいが確定はできない。
0771デフォルトの名無しさん
2009/11/10(火) 14:12:37列挙せよ(無限個ある場合は小さいほうから数えてn番目の
ものを構成する関数,s_10_2(int n)を作れ)
0772デフォルトの名無しさん
2009/11/10(火) 14:20:310773デフォルトの名無しさん
2009/11/10(火) 14:20:53http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/10085.zip
0774デフォルトの名無しさん
2009/11/10(火) 14:25:170775デフォルトの名無しさん
2009/11/10(火) 14:27:00いや普通にあるよ?
だから、問題の指定が
「2種類の数字だけで構成される4桁の整数」で「その数はある整数の二乗でなければならない」ってことだろ?
0776デフォルトの名無しさん
2009/11/10(火) 14:27:140777デフォルトの名無しさん
2009/11/10(火) 14:29:342乗したときの数(n^2)が2種類の数字のみで構成されるような「4桁の数字」nだろw
0778デフォルトの名無しさん
2009/11/10(火) 14:38:490779デフォルトの名無しさん
2009/11/10(火) 14:39:280780デフォルトの名無しさん
2009/11/10(火) 14:40:46日本人、かと思われますが、どう致しましょうか、大佐?
ピンポイント爆撃、バンカーバスター、クラスター爆弾、どれにしやしょ〜?
0781デフォルトの名無しさん
2009/11/10(火) 14:44:07「その数の自乗の10進表記に2種類の数字しか現れない
4桁の整数を列挙しなさい」ですね?
問題文にヘンにnとか横文字持ち出されてるんでお○カな人たちが混乱
してますよ
0782デフォルトの名無しさん
2009/11/10(火) 14:44:470783デフォルトの名無しさん
2009/11/10(火) 14:48:514桁の正の整数である n をすべて挙げなさい
0784デフォルトの名無しさん
2009/11/10(火) 14:50:584桁の負の整数である n をすべて挙げなさい
0785デフォルトの名無しさん
2009/11/10(火) 14:54:12ファビョ━ l|l l|l ━ン!
(⌒;;.. ∧_∧
(⌒.⊂,ヽ#`Д´>
(⌒)人ヽ ヽ、从
从ノ.:(,,フ .ノゝ⊃
人从;;;;... レ' ノ;;;从人
0786デフォルトの名無しさん
2009/11/10(火) 14:54:58何回こんな風に暴れて恥じかいても、懲りねーところが救いがたい。
0787デフォルトの名無しさん
2009/11/10(火) 15:02:14いや、お前だけだろw
0788デフォルトの名無しさん
2009/11/10(火) 15:04:594桁の正の整数である,n をすべて挙げなさい
正の整数nで,2乗の数が2種類の数字しか現れない,
4桁の正の整数であるnをすべて挙げなさい
0789デフォルトの名無しさん
2009/11/10(火) 15:06:36答えは4つのようですね
0790デフォルトの名無しさん
2009/11/10(火) 15:06:47>>4桁の正の整数 n をすべて挙げなさい
正の整数nの2乗の数 & 2種類の数字しか現れない4桁の正の整数
n をすべて挙げなさい
に≠&,に≠∩ 読点(に、)の位置が可笑しいとか。「の〜の〜の」の書き間違いとか。
正の整数nが2回も出てくるから、改行も削除して短くしてみた。
>>nの2乗の数に、2種類の数字しか現れない4桁のnをすべて挙げなさい
0791デフォルトの名無しさん
2009/11/10(火) 15:09:19原文改竄してまで、どっちにも取れるって言い張りたいの?w
0792デフォルトの名無しさん
2009/11/10(火) 15:09:30ハッキリと言わないから分からないけど。解釈は一通りしか出来ないよ
0793デフォルトの名無しさん
2009/11/10(火) 15:11:44コードも書かない(書けない)アホが一人で暴れてただけw
0794デフォルトの名無しさん
2009/11/10(火) 15:16:094桁の正の整数 n をすべて挙げなさい。
正の整数nの2乗の数が2種類の数字しか現れない
4桁の正の整数なn をすべて挙げなさい
0795デフォルトの名無しさん
2009/11/10(火) 15:18:51大丈夫、読めてないのは一人だけだからw
0796デフォルトの名無しさん
2009/11/10(火) 15:24:330797デフォルトの名無しさん
2009/11/10(火) 15:26:22お前自分がした失敗を必死に隠そうと必死過ぎだろw
バレてんぞw
0798デフォルトの名無しさん
2009/11/10(火) 15:26:37正の整数nの2乗の数は、2種類の数字しか現れない4桁の正の整数
n をすべて挙げなさい
0799デフォルトの名無しさん
2009/11/10(火) 15:28:02nは4桁って789(=651)も認めてるみたいだけど?
0800デフォルトの名無しさん
2009/11/10(火) 15:29:08白々しい、しらばっくれてやんのw
口数が多いだけ余計に怪しいんだよ
0801デフォルトの名無しさん
2009/11/10(火) 15:30:52君は>>736でnの2乗が4桁だと勘違いして暴れた人でいいのかな?
0802デフォルトの名無しさん
2009/11/10(火) 15:36:02すべて求めよ
0803デフォルトの名無しさん
2009/11/10(火) 15:36:41自分は問題を解くコードを書いたんですか?w
0804デフォルトの名無しさん
2009/11/10(火) 15:38:040805デフォルトの名無しさん
2009/11/10(火) 15:53:410806デフォルトの名無しさん
2009/11/10(火) 16:00:15>>1のテンプレすらみないで投稿するヤツも多いんだし。
0807デフォルトの名無しさん
2009/11/10(火) 17:07:57自分が間違えたんじゃないってアピールしたくて必死だなw
IDもないし、別にお前がどこの誰か分からないから、いい加減口を慎めよ、池沼w
0808デフォルトの名無しさん
2009/11/10(火) 17:10:100809デフォルトの名無しさん
2009/11/10(火) 17:14:01レスありがとうございます
卒業研究の途中過程でガンマ補正のプログラムが必要だったんです
>>773
ありがとうございます
早速参考にさせていただきます
0810デフォルトの名無しさん
2009/11/10(火) 17:24:10やめて!彼の顔は真っ赤っかよ!
0811デフォルトの名無しさん
2009/11/10(火) 17:47:160812デフォルトの名無しさん
2009/11/10(火) 19:02:21ヤツのHPは無限に回復するぞ!
0813デフォルトの名無しさん
2009/11/10(火) 19:07:390815デフォルトの名無しさん
2009/11/10(火) 19:48:24[2] 問題文(含コード&リンク): http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/10078.txt
[3] 環境
[3.1] OS:Linux
[3.2] コンパイラ名とバージョン:gcc
[3.3] 言語: C言語
[4] 期限:出来るだけ早めに
0816816
2009/11/10(火) 20:37:07http://jbbs.livedoor.jp/bbs/read.cgi/computer/32221/1246384344/28
Linuxで"%*c"の動作はこれでいいんだっけ?
0817デフォルトの名無しさん
2009/11/10(火) 21:34:06[2] 問題文(含コード&リンク): http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/10088.txt
(リンク先はエラーが出た自作の奴です)
N 円の借金がある.年利 a % の利息が付くとして,毎年 b 円返済したなら 何年で返済できるか計算するプログラムを作成せよ.
(N, a, b はキーボードから入力する)
ただし,無限ループに陥らないように工夫すること.
また,利息は返済前にかかるとせよ.なお,利子による端数(1円未満の 利子)は切り捨てること.
[3] 環境
[3.1] OS:Windows
[3.2] コンパイラ名とバージョン:VC
[3.3] 言語: C言語
[4] 期限: ([2009年11月12日まで]
期限が近くて申し訳ないです。一応自作の奴のエラーは
(34) : error C3872: '0x3000': この文字を識別子で使用することはできません
(34) : error C2065: ' break' : 定義されていない識別子です。
(38) :上とおなじ
というものでした。
宜しくお願いします。
0818デフォルトの名無しさん
2009/11/10(火) 21:57:180819デフォルトの名無しさん
2009/11/10(火) 22:02:03大丈夫だと思います
[1] 授業単元:C言語とアルゴリズム
[2] 問題文(含コード&リンク): http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/10086.txt
[3] 環境
[3.1] OS:Linux
[3.2] コンパイラ名とバージョン:gcc
[3.3] 言語: C言語
[4] 期限:出来るだけ早めに
よろしくお願いします。
0820デフォルトの名無しさん
2009/11/10(火) 22:56:22[2] 問題文(含コード&リンク): http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/10089.txt
[3] 環境
[3.1] OS:Windows
[3.2] コンパイラ名とバージョン:Microsoft Visual Studio
[3.3] 言語:C
[4] 期限:2009年11月16日
[5] その他の制限:特に無し
0821デフォルトの名無しさん
2009/11/10(火) 23:43:47[2] 問題文(含コード&リンク): http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/10090.txt
[3] 環境
[3.1] OS:Windows vista
[3.2] コンパイラ名とバージョン:Microsoft Visual Studio 2008
[3.3] 言語:C
[4] 期限:2009年11月11日
[5] その他の制限:特に無いです。
期限が明日までです。
急ですみませんが、よろしくお願いします。
0822デフォルトの名無しさん
2009/11/10(火) 23:58:200823デフォルトの名無しさん
2009/11/11(水) 01:09:340824デフォルトの名無しさん
2009/11/11(水) 01:10:45なに自作自演してんだよ?w
勘違いしたのが自分のくせしてw
あっ、自分で自分をいたぶる趣味のある人?マゾ?
0825デフォルトの名無しさん
2009/11/11(水) 10:12:42[2] 問題文(含コード&リンク):1から20までを表示するプログラムを繰り返し処理を用いて作製しよ
[3] 環境
[3.1] OS:Windows vista
[3.2] コンパイラ名とバージョン:gcc
[3.3] 言語:C
[4] 期限:明日
[5] その他の制限:特に無いです。
自分じゃわからないのでよろしくお願いします
0826デフォルトの名無しさん
2009/11/11(水) 10:21:11#include<stdio.h>
int main(void)
{
for(int i = 0; i < 20; i++) printf("%d", i);
return i;
}
0827デフォルトの名無しさん
2009/11/11(水) 10:25:55int main()
{
int i=0;
while(++i<=20) printf("%d", i);
}
0828デフォルトの名無しさん
2009/11/11(水) 11:24:44int _tmain(int argc, _TCHAR* argv[])
{
int i = 0;
start:
printf("%d ", ++i);
if (20 != i) {
goto start;
} else {
goto end;
}
end:
return 0;
}
0829デフォルトの名無しさん
2009/11/11(水) 13:18:02main(){
char*a[] = {"1 2 3 4 5 6 7 8 9 10", "11 12 13 14 15 16 17 18 19 20"};
for(int i=0; i<sizeof(a)/sizeof(*a); i++) printf(a[i]);
}
0830デフォルトの名無しさん
2009/11/11(水) 13:35:15この人、今後どうするんだろ……
0831デフォルトの名無しさん
2009/11/11(水) 14:09:56http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/10092.c
0832デフォルトの名無しさん
2009/11/11(水) 14:47:35[2] 問題文(含コード&リンク):http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/10093.txt
[3] 環境
[3.1] OS: (Linux)
[3.3] 言語: (C) emacsで書くやつ・・
[4] 期限: できるだけ早く
0833デフォルトの名無しさん
2009/11/11(水) 14:51:19[2] 問題文(含コード&リンク):http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/10094.txt
[3] 環境
[3.1] OS: (Linux)
[3.3] 言語: (C) emacsで書くやつ・・
[4] 期限: できるだけ早く
0834デフォルトの名無しさん
2009/11/11(水) 14:55:24[2] 問題文(含コード&リンク):http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/10095.txt
[3] 環境
[3.1] OS: (Linux)
[3.3] 言語: (C) emacsで書くやつ・・
[4] 期限: できるだけ早く
0835デフォルトの名無しさん
2009/11/11(水) 14:57:16main() (笑)
sizeof(笑)
char *a[](爆笑)
0836デフォルトの名無しさん
2009/11/11(水) 14:58:26[2] 問題文(含コード&リンク):http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/10096.txt
[3] 環境
[3.1] OS: (Linux)
[3.3] 言語: (C) emacsで書くやつ・・
[4] 期限: できるだけ早く
0837デフォルトの名無しさん
2009/11/11(水) 15:15:28空白とタブは改行文字と同じ区切り文字として扱われる
バッファオーバーランが発生する可能性がある
予期せぬ値が入力されると、其の値を読み込まず、ストリーム上に残してしまう
0838デフォルトの名無しさん
2009/11/11(水) 16:50:48別な課題なので一緒にせず別にしてもらえないでしょうか?
お願いします
0839デフォルトの名無しさん
2009/11/11(水) 18:31:08http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/10100.c
0840デフォルトの名無しさん
2009/11/11(水) 19:00:58[2]問題文:http://Kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/10101.txt
[3]環境
[3.1]OS:windousVISTA
[3.2]コンパイラ名:gcc
[3.3]言語:C言語
[4]期限:明日まで
自分にとって複雑でわからなかったです…
よろしくお願いします
0841デフォルトの名無しさん
2009/11/11(水) 23:07:47あんまきれいじゃないけどw
http://codepad.org/jZ6LnL38
0842841
2009/11/11(水) 23:13:24http://codepad.org/ziwiY0t3
0843デフォルトの名無しさん
2009/11/11(水) 23:18:270844デフォルトの名無しさん
2009/11/11(水) 23:22:25入力のチェック(0,1,2以外を入力、など)はしていない。
http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/10102.c
0845841
2009/11/12(木) 00:17:33http://codepad.org/ud5AtNmt
0846デフォルトの名無しさん
2009/11/12(木) 00:20:55勝ち負けをテーブル参照にするとか、
いくらでもあるだろ。
0847デフォルトの名無しさん
2009/11/12(木) 00:23:33using namespace std;
int main() {
int i,j;
int vector[]={10,20,30,40};
int matrix[][3] = {{1,2,3},{4,5,6},{7,8,9}};
for (i=0;i<4;i++) {
cout << vector[i] << ' ';
}
cout << '\n';
for(i=0;i<3;i++) {
for(j=0;j<3;j++) {
cout << matrix[i][j] << ' ';
}
cout << '\n';
}
return 0;
}
0848847
2009/11/12(木) 00:25:45係数を『初期化』を使って配列に入力する
キーボードから入れる
上に書いたやつを参考にできると思って載せたんですが、分かる人いますか?
上のプログラムを参考になるっぽいんですが分かる人いますか?
0849デフォルトの名無しさん
2009/11/12(木) 01:49:16>>1
0850デフォルトの名無しさん
2009/11/12(木) 03:46:37[2] 問題文(含コード&リンク): http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/10103.zip
[3] 環境
[3.1] OS:Linux
[3.2] コンパイラ名とバージョン:gcc 4.2.3
[3.3] 言語:c言語
[4] 期限:2009年11月13日18:00まで
[5] その他の制限:どうなってるか知りたいので出来れば書いて頂いたプログラムの中にコメント
アウトで簡単な説明して頂けるとありがたいです。
課題内容の説明等が少し長いので、課題の内容とソースはzipにまとめています。
途中まで書いてみたのですが行き詰まりました。。。
0851デフォルトの名無しさん
2009/11/12(木) 05:14:29プログラムのデータ構造が指定されていてそれを十分生かして
やらなければならないとしたらコードテクニカル
でコメントがあっても理解するのは難しいとオモ(自分で
書かないとわからない)
固定されていないとすれば、データ構造設計ミスかも(行き詰まる
とオモ)
0852デフォルトの名無しさん
2009/11/12(木) 09:58:39[2] 問題文(含コード&リンク):ビット演算子を用いて入力された数値の「1の補数」が表示されるプログラムをC言語で作成しなさい
[3] 環境
[3.1] OS: (Windows/Linux/等々)
[3.2] コンパイラ名とバージョン: Visual Studio2008
[3.3] 言語:C
[4] 期限: 無制限
[5] その他の制限: 入力される数値は8bitの整数とし、NOTは使わずにお願いします
0853デフォルトの名無しさん
2009/11/12(木) 10:00:12OSはXPです
0854デフォルトの名無しさん
2009/11/12(木) 10:29:01int main(int ac, char **av)
{
int n;
char buf[4096];
fgets(buf, sizeof(buf), stdin);
sscanf(buf, "%d", &n);
printf("%d", n ^ -1);
return 0;
}
0855840
2009/11/12(木) 10:42:07ありがとうございます!
0856デフォルトの名無しさん
2009/11/12(木) 12:30:35自力ではできないし、聞けるような友だちもいなくて...
よろしくお願いします。。
0857デフォルトの名無しさん
2009/11/12(木) 12:57:53取り敢えず>>833だけ
http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/10104.txt
0858デフォルトの名無しさん
2009/11/12(木) 13:07:110859デフォルトの名無しさん
2009/11/12(木) 13:09:10ttp://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/joyful.cgi?mode=thr&no=9997#RES
0860デフォルトの名無しさん
2009/11/12(木) 13:12:35http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/10106.txt
0861デフォルトの名無しさん
2009/11/12(木) 13:31:49http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/10107.txt
0862デフォルトの名無しさん
2009/11/12(木) 14:08:30自分のプログラムが吐いた文字列を読むとかそういう状況
だけに使ってね
0863デフォルトの名無しさん
2009/11/12(木) 14:20:55うっせーわボケ
そう思うならお前が答えてやれ
0864デフォルトの名無しさん
2009/11/12(木) 14:44:53マナのやさしくC読んでくれないの?
0865デフォルトの名無しさん
2009/11/12(木) 14:49:12指摘してみろ
gets_sは処理系依存だからだめ
fgets()を使えというんだろうが行末に'\n'が入るから嫌なんだよ
0866デフォルトの名無しさん
2009/11/12(木) 14:56:35という事なんだろうが、「絶対に使ってはいけない」というレベルではない
宿題程度ならgets()で十分
使う人が気を付ければいいだけの話
誰かが規格票に書いてない事を無理に強制しようとしても無駄
0867デフォルトの名無しさん
2009/11/12(木) 15:18:33バッファーオーバーランするとそれだけでハードが
壊れちゃう環境もあるの。だからマナを守ってね。お願い(はーと)
0868デフォルトの名無しさん
2009/11/12(木) 15:33:230869デフォルトの名無しさん
2009/11/12(木) 15:42:48これからもマナとC言語を愛してね
0870デフォルトの名無しさん
2009/11/12(木) 15:42:53なにが(はーと)だ気持ちわるいんだよネカマ野郎
>>868
その通り
俺はこれからもgets()を使うね
0871デフォルトの名無しさん
2009/11/12(木) 15:43:34とっとと消えろネカマ野郎
0872デフォルトの名無しさん
2009/11/12(木) 15:55:11朝鮮人みたいだ
義務を果たさず権利だけ要求するわけだから
0873デフォルトの名無しさん
2009/11/12(木) 16:04:29わかりやすく印象的なツラしてるが故に、妙に流通して禍を齎す
ってことが得てしてありがちだともオモ
0874デフォルトの名無しさん
2009/11/12(木) 16:08:31悔しかったら自分で書け
それが本来当たり前なんだから
0875875
2009/11/12(木) 16:32:19http://jbbs.livedoor.jp/bbs/read.cgi/computer/32221/1246384344/29
0876デフォルトの名無しさん
2009/11/12(木) 17:57:18cos(x/2)の値を二分法で出すC++プログラムを作る問題なんですが
#define err 10e-5
double x1,x2,c,e;
while(e >= err) {
c=(x1+x2)/2;
}
if(cos(x1/2)*cos(c/2)>0)
x1=c;
else
x2=c;
e=fabs(x1-x2);
}
cout << x1 << '\n';
return 0;
}
こう書いてありますが、正解教えてくれませんか?
0877デフォルトの名無しさん
2009/11/12(木) 18:04:08方程式 cos(x/2)=0 を二分法で解く、のではないでしょうか?
0878デフォルトの名無しさん
2009/11/12(木) 18:05:15多分そういう事です。じゃなきゃおかしいですものね
0879デフォルトの名無しさん
2009/11/12(木) 18:14:240880デフォルトの名無しさん
2009/11/12(木) 18:19:21そういうのも何もないんですよね。仮にこれincludeつけても全然違うみたいですし…
大分前のですが、正解が知りたいです
#include <iostream>
#define err 10e-5
using namespace std;
double x1,x2,c,e;
while(e >= err) {
c=(x1+x2)/2;
}
if(cos(x1/2)*cos(c/2)>0)
x1=c;
else
x2=c;
e=fabs(x1-x2);
}
cout << x1 << '\n';
return 0;
}
0881デフォルトの名無しさん
2009/11/12(木) 18:33:460882デフォルトの名無しさん
2009/11/12(木) 18:38:54・main関数の始まりがない。
・変数を初期化していない。
・coutの直前の } は何と対応するの?
・#include <cmath>がない。
一言で言えば、まったくプログラムの体をなしてない。
0883デフォルトの名無しさん
2009/11/12(木) 18:39:360884デフォルトの名無しさん
2009/11/12(木) 18:42:210885デフォルトの名無しさん
2009/11/12(木) 18:43:070886デフォルトの名無しさん
2009/11/12(木) 18:57:120887デフォルトの名無しさん
2009/11/12(木) 19:20:38[2]下記のプログラムの問題点を指摘し正しく動作するように修正しなさい
[3]OS:(Linux) 言語:(C)
[4]できるだけ早く
[5]
#include <string.h>
int main()
{
char *str1 = "hoge";
char *str2 = "fuga";
strcat(str1, str2);
return 0;
}
0888デフォルトの名無しさん
2009/11/12(木) 19:37:260889デフォルトの名無しさん
2009/11/12(木) 20:19:02おいおい、メモリの割り当てをこわしてどうするんだ。解答側にたつには20年早い。
0890デフォルトの名無しさん
2009/11/12(木) 20:20:41ん?
0891デフォルトの名無しさん
2009/11/12(木) 20:23:53int main()
{
char *str1 = "hoge¥0¥0¥0¥0";
char *str2 = "fuga";
strcat(str1, str2);
return 0;
}
0892デフォルトの名無しさん
2009/11/12(木) 20:28:06リテラルを書き換えようとするなよ
0893デフォルトの名無しさん
2009/11/12(木) 20:28:11\0 が一個たりない(笑)
0894デフォルトの名無しさん
2009/11/12(木) 20:31:22segmentation falt
0895デフォルトの名無しさん
2009/11/12(木) 20:35:43bcc32 でコンパイルしたら、堕ちない。
あなたの使っている環境やコンパイラに問題があるのでは?
0896895
2009/11/12(木) 20:36:240897デフォルトの名無しさん
2009/11/12(木) 20:45:05bccの方が問題だろw
0898デフォルトの名無しさん
2009/11/12(木) 21:05:410899デフォルトの名無しさん
2009/11/12(木) 21:10:14#include <stdlib.h>
int main()
{
char *str1 = strdup("hoge¥0¥0¥0¥0¥0¥0¥0¥0¥0¥0¥0¥0");
char *str2 = "fuga";
strcat(str1, str2);
return 0;
}
0900デフォルトの名無しさん
2009/11/12(木) 21:11:14スタック潰してない?
0901デフォルトの名無しさん
2009/11/12(木) 21:12:50>>882
#include <iostream>
#include <cmath>
#define err 10e-5
using namespace std;
int main() {
double x1=0,x2=0,c,e;
while(e >= err) {
c=(x1+x2)/2;
}
if(cos(x1/2)*cos(c/2)>0){
x1=c;
else
x2=c;
e = fabs(x1-x2);
}
cout << x1 << '\n';
return 0;
}
これではダメですかね。合ってそうですが、何か実行できません
0902デフォルトの名無しさん
2009/11/12(木) 21:15:31#include <iostream>
#include <cmath>
#define err 10e-5
using namespace std;
int main() {
double x1=0,x2=0,c,e=0;
while(e >= err) {
c=(x1+x2)/2;
}
if(cos(x1/2)*cos(c/2)>0){
x1=c;
}
else{
x2=c;
e = fabs(x1-x2);
}
cout << x1 << '\n';
return 0;
}
0903デフォルトの名無しさん
2009/11/12(木) 21:18:09>>898
リテラルの書き換えはするなよ
0904デフォルトの名無しさん
2009/11/12(木) 21:42:21二分法なら、↓でいいんでは?
http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/10108.cpp
0905デフォルトの名無しさん
2009/11/12(木) 21:53:12すみません。でも
x1:cos(x/2)って入れると
x2:-9.25596e+061
って出ましたが、061なんて数字ありませんよね?
0906デフォルトの名無しさん
2009/11/12(木) 21:55:18strdup() を使うのなら、最後にfree()するのがお作法というもの。でてくるのは3年早い。(笑)
0907デフォルトの名無しさん
2009/11/12(木) 21:55:220908デフォルトの名無しさん
2009/11/12(木) 21:56:42x1, x2 の間に解が存在するように、x1, x2 に数値を代入するのが二分法というものです。
0909デフォルトの名無しさん
2009/11/12(木) 21:57:35終わったら解放されるから問題ない
無限ループしてるなら別だが
0910デフォルトの名無しさん
2009/11/12(木) 21:57:37指数表記をしらないのか
0911デフォルトの名無しさん
2009/11/12(木) 22:05:37C が本来オブジェクトの扱いが貧弱で、メモリの確保にはそれなりの注意を払わなければならない、という特質をご存じないのかと疑われてもしかたがないと思いますが。
プロセス終了時に解放されるから問題ないと頭ごなしにいわれてもね‥‥‥。
0912デフォルトの名無しさん
2009/11/12(木) 22:09:55勘違いしてました。cos(x/2)じゃなくて、
5とか8とかの数字をその2つに代入するって事ですね
>>910
知らなかったですすみません
0913デフォルトの名無しさん
2009/11/12(木) 22:12:35の指摘がまっとうに見えて実は滅茶苦茶ハズしている件について
0914デフォルトの名無しさん
2009/11/12(木) 22:13:14そうです。cos(x/2)= 0 という方程式はプログラムに組み込まれています。
0915デフォルトの名無しさん
2009/11/12(木) 22:14:01どこをどうはずしているのか、まったく説明が出来ない件について(笑)
0916デフォルトの名無しさん
2009/11/12(木) 22:15:300917デフォルトの名無しさん
2009/11/12(木) 22:21:08[2] 問題文(含コード&リンク):http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/10109.txt
[3] 環境
[3.1] OS:Linux
[3.2] コンパイラ名とバージョン: gcc
[3.3] 言語: C
[4] 期限: 11月20日
[5] その他の制限: 特になし。
0918デフォルトの名無しさん
2009/11/12(木) 22:42:38ありがとうございました
0919デフォルトの名無しさん
2009/11/12(木) 22:43:01#include <string.h>
int main()
{
char *str1 = "hoge";
char *str2 = "fuga";
strstr(str1, str2);
return 0;
}
0920デフォルトの名無しさん
2009/11/12(木) 22:45:05cos(x/2)じゃなくてsin(x/2)なら15行目のcosをsinに変えればいいと思って、実行したら、
x1:3
x2:4でそれぞれやったらcosの時と同じ値が出ましたがOKですか?
0921デフォルトの名無しさん
2009/11/12(木) 22:56:28http://codepad.org/iEIz7hlP
データファイルのパスは適宜ソースを書き直してやってください。
さて、宿題をしながらじっくりと考えていきましょうか(笑)
>>913
めちゃくちゃはずしている、とのことですが、どこがどうはずれているのかご説明いただけますでしょうか。
>>919
strstr() は標準にも入っている関数ですよ。なに寝ぼけているんですか。文字列をサーチしてどうするのですか?
0922デフォルトの名無しさん
2009/11/12(木) 23:05:142箇所とも書き換えましたか?
x = 2π, 4π, 6π, etc になるはずですから、>>920 の結果はまずいですね。
0923デフォルトの名無しさん
2009/11/12(木) 23:09:59int main() { return 0; }
でも正解。
0924デフォルトの名無しさん
2009/11/12(木) 23:25:440925デフォルトの名無しさん
2009/11/12(木) 23:48:533.99994になりました。
すみません
0926デフォルトの名無しさん
2009/11/12(木) 23:55:39スレチなら、誘導してもらえるとありがたいです
0927デフォルトの名無しさん
2009/11/13(金) 00:01:170928デフォルトの名無しさん
2009/11/13(金) 00:14:27[2] 問題文(含コード&リンク): 用意された100個の整数の値から最大の値を求めて、 画面に表示するプログラムを作れ
[3] 環境
[3.1] OS: Windows
[3.3] 言語: mips(アセンブラ?)
[4] 期限: 2009年11月13日10:00まで
[5] その他の制限: 授業では、資料配布のみ。初めて作りました。あまり理解が深くないです。
プログラムを作ってみた結果、実行できなかったので添削をしてもらいたいです。
初めて作ったのでひどいかもしれません。(.word は省略しました)
0929928
2009/11/13(金) 00:15:25.word 100
.word 99
:
:
.word 1
.word 0
.text
.globl __start
__start:
addi $t0, $zero, 0
addi $t2, $zero, 100
addi $t7, $zero, 4
addi $t9, $zero, 1
add $a1, $gp, $t0
add $a2, $gp, $t7
lw $t5, 0($a1)
lw $t6, 0($a2)
0930デフォルトの名無しさん
2009/11/13(金) 00:15:55[2] 問題文(含コード&リンク):
問3 多次元配列を用いて各自定めた行列(3×3)の転置、行列式、逆行列を求めるソースを作成せよ。
[3] 環境
[3.1] OS: (windows xp)
[3.2] コンパイラ名とバージョン: Visual C++ 2008
[3.3] 言語: (C++)
[4] 期限: 13日の23:59まで
[5] その他の制限: 関数を用いないで下さいとの事です。行列の成分も具体的に各自定めて良いようです。
0931848
2009/11/13(金) 00:16:070932デフォルトの名無しさん
2009/11/13(金) 00:17:01本当にありがとうございました。
0933928
2009/11/13(金) 00:17:23slt $t1, $t2,$t0
bne $t1, $zero, stopprog
slt $t3, $t5, $t6
bne $t3, $zero, loopend
addi $t5, $t6, 0
loopend:
add $a2, $a2, $t7
sub $t2, $t2, $t9
j loop
stopprog:
addi $a0, $gp, 0
addi $v0, $zero, 1
syscall
0934デフォルトの名無しさん
2009/11/13(金) 00:22:523 〜 4 には解がないので、端点に収束してしまったようですね。
2π≒6.28 ですから、x1=6, x2=7 を入力すれば、解に収束するでしょう。
0935デフォルトの名無しさん
2009/11/13(金) 00:42:290936デフォルトの名無しさん
2009/11/13(金) 02:28:08http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/10110.txt
0937928
2009/11/13(金) 03:13:000938デフォルトの名無しさん
2009/11/13(金) 03:31:02C宿題スレ的にはMIPS用のgccとか使って(動くかどうかは知らないし
入手できるかどうかも知らん)-Sオプションでコンパイルして.s
(アセンブリファイル)ファイルを出してそれを参考に
作れとしか言いようが無いな。
例えば次のコードとかコンパイルしてみる
int display(int);
int main(void){
int num[100]={1,100,2,99,3,98,4,97,5,96,6,95,7,94,....};
int i,max=-1;
for(i=0;i<100;i++) if(max<num[i]) max=num[i];
display(max);
return 0;
}
0939848
2009/11/13(金) 16:22:06a10x+a11y+a12z=β
a20x+a21y+a22z=γ
連立方程式の形はこんな感じです。
0940デフォルトの名無しさん
2009/11/13(金) 16:55:52単純ピボット選択を使ったガウスの消去法で解けるだろ
反復法でもいい
0941848
2009/11/13(金) 16:57:05そんなの使うんですか。数学でも、ガウスの消去法なんて聞いた事なかったです。
どうりで難しいわけですね
0942デフォルトの名無しさん
2009/11/13(金) 17:15:220943デフォルトの名無しさん
2009/11/13(金) 17:34:30[2] 問題文(含コード&リンク):http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/10113.txt
[3] 環境
[3.1] OS:Windows/vista
[3.2] コンパイラ名とバージョン: Microsoft Visual Studio 2008
[3.3] 言語:C++
[4] 期限:2009年11月18日
[5] その他の制限: 発展問題は無視していいです〜。
よろしくお願いします。
0944デフォルトの名無しさん
2009/11/13(金) 18:02:013x3の領域がおかしい
0945デフォルトの名無しさん
2009/11/13(金) 18:31:16そうならばどこがおかしいか言ってもらえれば。
0946デフォルトの名無しさん
2009/11/13(金) 19:09:51有難う御座いました
なんとか期限内に提出することが出来ました
0947デフォルトの名無しさん
2009/11/13(金) 19:26:46そしてみんなはプログラミングが大好きなの?
0948デフォルトの名無しさん
2009/11/13(金) 19:29:16作ったとおりに動くから好き
0949デフォルトの名無しさん
2009/11/13(金) 19:42:56[2] 問題文(含コード&リンク): http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/10114.txt
[3] 環境
[3.1] OS:Windows/vista
[3.2] コンパイラ名とバージョン: Microsoft Visual Studio 2008
[3.3] 言語:C++
[4] 期限:2009年11月18日
[5] その他の制限:943ですが指摘されたので見たところ、
例文のところで一部0が足りなかったところがあったので修正しました。 問題文には間違いはありませんでした。
0950デフォルトの名無しさん
2009/11/13(金) 19:43:22[2] 問題文(含コード&リンク):
問 新聞の東京為替市場の欄を見て1米ドルと1英ポンドの値を調べ、
その値から1ポンドが何ドルかを算出するプログラムを作れ。
[3] 環境
[3.1] OS: (windows xp)
[3.2] コンパイラ名とバージョン: Visual C++ 2008
[3.3] 言語: (C++)
[4] 期限: 15日の23:59まで
[5] その他の制限: scanf使用
よろしくお願いします
0951デフォルトの名無しさん
2009/11/13(金) 19:59:50すきだよ おれのいきがいだから
0952デフォルトの名無しさん
2009/11/13(金) 20:34:490953デフォルトの名無しさん
2009/11/13(金) 20:42:06#include<stdio.h>
int main(void){
int i;
printf("#include<stdio.h>\nint main(void){\n\tint i=0;\n");
for(i=0;i<10000-6;i++) printf("\ti++;\n");
printf("\tprintf(\"%%d\\n\", i);\n\treturn 0;\n}\n");
return 0;
}
0954デフォルトの名無しさん
2009/11/13(金) 20:51:27そういう意味なのか?w
0955デフォルトの名無しさん
2009/11/13(金) 21:09:2210000行全部putsで教授の悪口でも書いて出せば?
0956デフォルトの名無しさん
2009/11/13(金) 21:15:33#include <stdio.h>
int main(void)
{
unsigned int a[9], n = 0, i;
FILE *fp;
if((fp=fopen("in.txt", "r"))==NULL) return 0;
for(i=0; i<9; i++) fscanf(fp, "%u", a + i);
fclose(fp);
for(i=0; i<9; i++) n |= 1 << (a[i] - 1);
n = ~n;
for(i=9; i>0; i--) printf("%c", 1 & n >> (i - 1) ? '1' : '0');
return 0;
}
0957デフォルトの名無しさん
2009/11/13(金) 22:01:140958848
2009/11/13(金) 22:27:36じゃあ、そのサンプルとは別で、
3元3列の連立方程式の係数を格納し、格納されて結果を表示するプログラムを作成せよ。ただし以下の2通りで行う事
係数を『初期化』を使って配列に入力する
キーボードから入れる
っていうのを教えてくれませんか
0959959
2009/11/13(金) 23:18:02#include <stdio.h>
int main(void) {
float doller = 89.805;
float pond = 149.430;
printf("yen/doller="); scanf("%f", &doller);
printf("yen/pond="); scanf("%f", &pond);
printf("doller/pond=%f", (1/doller)/(1/pond) );
return 0;
}
0960デフォルトの名無しさん
2009/11/13(金) 23:47:150961デフォルトの名無しさん
2009/11/13(金) 23:47:380962デフォルトの名無しさん
2009/11/14(土) 00:18:39簡単に作れるよ
他の人頼んだw
0963デフォルトの名無しさん
2009/11/14(土) 00:20:04どんな言語でも
言語名 + 電卓
とかでググればサンプルが出てくるよ
0964デフォルトの名無しさん
2009/11/14(土) 01:07:18各種パーツと工作機械が必要。
0965デフォルトの名無しさん
2009/11/14(土) 01:08:29日本人でも英語圏に行けば作れるようになる。
0966デフォルトの名無しさん
2009/11/14(土) 01:10:160967デフォルトの名無しさん
2009/11/14(土) 02:15:190968デフォルトの名無しさん
2009/11/14(土) 02:31:10ありがとうございました!
0969デフォルトの名無しさん
2009/11/14(土) 02:43:24[2]
1 画像を読み込む
2 1の任意の箇所の隣接した同系色を範囲選択
3 読み込んだ画像の任意の箇所から色を抽出
4 2で選択した範囲を3の色で塗りつぶす
5 結果を出力する
[3] 環境
[3.1] OS:Windows
[3.2] コンパイラ名とバージョン: Visual Studio 2008
[3.3] 言語: どちらでも可
[4] 期限: 09/11/30
[5] その他の制限: 制限なし
正直お手上げ状態です・・・
参考サイトでも構いませんのでご指導お願いします
0970次スレ立てて下さい。誤字修正テンプレ
2009/11/14(土) 08:10:17【質問者へ】
回答者の便宜のため、質問の際は以下を行うことを推奨します。
・質問は【質問テンプレ】を利用してください。
・問題文は、出題されたまま全文を書いてください。
・問題文やコードをリンクするときは、一言内容にについて説明をつけましょう。
・計算問題は数式をあげ、どのような計算をするのか詳しく説明してください。
・エラーは、その詳細と発生した行を書きましょう。エラーメッセージはコピペしてください。
・後から問題に付け足しするのはコラー!!です。付け足しは作業を無駄にしがちです。
・なりすましを防ぐため、トリップを使ってください。名前欄に、「#」に続けて任意の文字列を入力して投稿すると、その文字列を知らない他人に騙られることを防ぐことができます。
【質問テンプレ】
[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://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/joyful.htm
【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++の宿題片付けます 131代目
http://pc12.2ch.net/test/read.cgi/tech/1255709298/
0971デフォルトの名無しさん
2009/11/14(土) 08:34:380972デフォルトの名無しさん
2009/11/14(土) 08:37:14一言内容にについて
直ってねーw
0973デフォルトの名無しさん
2009/11/14(土) 09:23:40diff
あなたが解けないC言語/C++言語の宿題を片付けもらうスレッドです。気に入らない質問や発言はスルーの方向で。
あなたが解けないC言語/C++言語の宿題を片付けもらうスレッドです。気に入らない質問や発言はスルーの方向で。
あなたが解けないC言語/C++言語の宿題を片付けもらうスレッドです。気に入らない質問やその他や発言はスルーの方向で。
0974デフォルトの名無しさん
2009/11/14(土) 09:24:02C/C++の宿題片付けます 132代目
http://pc12.2ch.net/test/read.cgi/tech/1258158172/
970は誤字の修正がちゃんとしてないようなので、
ここの1をそのままコピペしました。
0975デフォルトの名無しさん
2009/11/14(土) 09:28:06※ちゃんとは曖昧な言葉です。
0976デフォルトの名無しさん
2009/11/14(土) 09:30:120977デフォルトの名無しさん
2009/11/14(土) 09:41:12>>972を見てこの場合のちゃんとの意味が理解できないようなら日本語を勉強しなおしてください。
0978デフォルトの名無しさん
2009/11/14(土) 09:47:210979デフォルトの名無しさん
2009/11/14(土) 09:48:53画像形式の指定が無いから自分で勝手に設定すれば良いんじゃね?
0980デフォルトの名無しさん
2009/11/14(土) 10:24:360981デフォルトの名無しさん
2009/11/14(土) 10:36:540982デフォルトの名無しさん
2009/11/14(土) 12:12:15画像フォーマットのサンプル画像-UP
0983デフォルトの名無しさん
2009/11/14(土) 13:29:120984デフォルトの名無しさん
2009/11/14(土) 14:31:130985デフォルトの名無しさん
2009/11/14(土) 14:44:350986デフォルトの名無しさん
2009/11/14(土) 18:44:36C言語で、国語・数学・理解の得点を入力して、平均点が
90点以上…「平均点X点はAです。」
80点以上…「平均点XはBです。」
70点未満…「平均点Xは赤点です。」
と表示するプログラムを作成したいのですが、どのように書いたらいいのですかね?
当方初心者で全くわかりません。
どなたか回答してくれませんか?
0987デフォルトの名無しさん
2009/11/14(土) 18:48:440988950
2009/11/14(土) 19:03:09[2] 問題文(含コード&リンク):
問 新聞の東京為替市場の欄を見て1米ドルと1英ポンドの値を調べ、
その値から1ポンドが何ドルかを算出するプログラムを作れ。
[3] 環境
[3.1] OS: (windows xp)
[3.2] コンパイラ名とバージョン: dev c++
[3.3] 言語: (C++)
[4] 期限: 15日の23:59まで
[5] その他の制限: scanf、printf、int、switchは習いました。
前スレ950です。すみませんがよろしくお願いします
今、下記まで完成しました。
#include <stdio.h>
main()
{
int doll,pond;
int d,p;
printf("1米ドルと1英ポンドの値を入力してください");
scanf("%dドル %dポンド",&doll &pond);
printf("%dドル, %dポンド, doll,pond);
このあと、上記で入力した値から1ポンドが何ドルかを求めたいのですが、
わかりませんでした。よろしくお願いします。
0989デフォルトの名無しさん
2009/11/14(土) 19:19:53入力した得点から平均点を計算する
平均点に基づいてメッセージを表示する
以上の処理を行うようなプログラムを書く
0990デフォルトの名無しさん
2009/11/14(土) 19:23:25[1] 授業単元:プログラミング論�U
[2] 問題文:国語・数学・理科の3教科の得点を入力し、平均点が
90点以上…「平均点X 評価はAです。」
80点以上…「平均点X 評価はBです。」
70点未満…「平均点X 追試の対象です。」
と表示するプログラムを作成しなさい。
実行例
国語90
数学90
理科90
平均点90点 評価はAです。
[3] 環境
[3.1] OS:windous
[3.2] コマンドプロンプト
[3.3] 言語:C言語
[4] 期限: 11月17日
[5] その他の制限: 完全な初心者です。
本当に申し訳ありませんがどなたか回答していただきたいと思います。
0991デフォルトの名無しさん
2009/11/14(土) 19:30:1270〜79までなんて表示すればいいんだ?
0992デフォルトの名無しさん
2009/11/14(土) 19:58:06情報不足過ぎてすみません。
70〜79まではCでした…
0993デフォルトの名無しさん
2009/11/14(土) 20:01:090994デフォルトの名無しさん
2009/11/14(土) 20:06:34じゃあこれで
しかし、これくらいも書けないと次回以降の宿題も
全部ここで頼むことになる気がする
#include <stdio.h>
int main()
{
int kokugo, sugaku, rika;
int heikin;
printf("国語");
scanf("%d", &kokugo);
printf("数学");
scanf("%d", &sugaku);
printf("理科");
scanf("%d", &rika);
heikin = (kokugo + sugaku + rika) / 3;
printf("平均点%d ", heikin);
if(heikin >= 90)
printf("評価はAです。\n");
else if(heikin >= 80)
printf("評価はBです。\n");
else if(heikin >= 70)
printf("評価はCです。\n");
else
printf("追試の対象です。\n");
}
0995デフォルトの名無しさん
2009/11/14(土) 20:10:470996デフォルトの名無しさん
2009/11/14(土) 20:16:28助かりました。
プログラムをちゃんと理解できるように頑張ります。
0997デフォルトの名無しさん
2009/11/14(土) 20:40:1810 input "国語";kokugo:input "数学";suugaku:input "理科";rika
20 heikin=(kokugo+suugaku+rika)/3.0
30 print "平均=";heikin
40 if heikin >90 then print "評価はAじゃ" :end
50 if heikin >80 then print "評価はBじゃ":end
60 if heikin >70 then print "評価はCじゃ":end
70 print "追試じゃ"
0998デフォルトの名無しさん
2009/11/14(土) 20:48:06参考にさせていただきます。
ありがとうございます。
0999デフォルトの名無しさん
2009/11/14(土) 20:53:39Cが出来て中学生
C++が出来て高校生
Javaが出来て大学生
1000デフォルトの名無しさん
2009/11/14(土) 20:53:41ttp://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/10115.c
読み違えてたら爆死ものだけど
・scanfの使い方
・main関数について
見ておくといいと思うよ
C/C++の宿題片付けます 132代目
http://pc12.2ch.net/test/read.cgi/tech/1258158172/
10011001
Over 1000Threadもう書けないので、新しいスレッドを立ててくださいです。。。
レス数が1000を超えています。これ以上書き込みはできません。