C/C++の宿題なら俺にやらせろ!
レス数が1000を超えています。これ以上書き込みはできません。
0001C++房 ◆9ye75cT6
NGNG今まで8ヶ月、毎日休まず一生懸命C++を勉強してきた。
わからない宿題若しくは処理があったら俺にやらせてくださいm(_ _)m
ただしソート、2分木など俺が5分以上悩むの問題はお断りだ。
他の手強に聞いてくれ
0002デフォルトの名無しさん
NGNGあらあら、宿題なのね?
http://pc.2ch.net/test/read.cgi/tech/1020785918/l50
あなたの役目はとうに終わった。
0003デフォルトの名無しさん
NGNG0004デフォルトの名無しさん
NGNG○:条件によっては勝てるアルゴリズム
●:相手が勝てる条件を作るアルゴリズム
完璧。
0005デフォルトの名無しさん
NGNG0006デフォルトの名無しさん
NGNG∧_∧ ( )
( ´Д`) //。
/⌒ ⌒ヽ// 。
/_/| // 。
(ぃ9 ./ /// 。
/ //3
( ///
\ .\\
.\ .\\
> ) )
/ //
/ / /
/ / /
( ヽ ヽ
\__つ)
とても我慢できないよぅ!
0007デフォルトの名無しさん
NGNGここに質問しないで↓のスレにどうぞ。
あらあら、宿題なのね?
http://pc.2ch.net/test/read.cgi/tech/1020785918/
0008デフォルトの名無しさん
NGNG ̄ ̄ ̄ ̄ ̄∨ ̄ ̄ ̄ (´´
∧∧ ) (´⌒(´
⊂(゚Д゚⊂⌒`つ≡≡≡(´⌒;;;≡≡≡
 ̄ ̄ (´⌒(´⌒;;
ズザーーーーーッ
0009デフォルトの名無しさん
NGNGその前に俺と安達裕美をヤラせろ!
0010デフォルトの名無しさん
NGNG0011デフォルトの名無しさん
NGNG0012デフォルトの名無しさん
NGNG0013デフォルトの名無しさん
NGNG機能として次の3つの処理が行えるものとする。
1.ファイルから文書の読み込み
2.文書の入力とファイルへの書き込み
3.行単位の修正
4.終了
0014デフォルトの名無しさん
NGNG夢・独り言
http://life.2ch.net/yume/
0015デフォルトの名無しさん
NGNG「それってed?」的な考えが……
001613
NGNGed?すまんシロウトでわからん。
学校の宿題なんだがサパーリ分からん。
0017デフォルトの名無しさん
NGNG0018デフォルトの名無しさん
NGNG>>7
0019仕様書無しさん
NGNG△
○
∨)
((
0020mika
NGNG課題の丸投げでごめんなさい。教えてください。
課題11-1
キーボードからの入力を一行受けとり、その内容をfgets によって一度文字配列に格納した後に、その
中に“A ”の文字があれば“a ”に書き換え、他の文字はそのままにして、書き換えた後の文字列を一度の
printf で表示するプログラムを作成せよ。
すなわち、”ABC ”と入力すれば、”aBC ”と表示するプログラムを作成せよ。
動作を確認し、プログラムリストをレポートとせよ。
課題12-1
キーボードからの入力を一行受けとり、その内容をfgets によって一度文字配列に格納した後に、その
中の’\n ’を除いた文字列の長さを表示するプログラムを作成せよ。例えば“abc ”と入力すると、3 と表
示する。
動作を確認し、プログラムリストをレポートとせよ。
課題12-2
キーボードからの入力を一行受けとり、その内容をfgets によって一度文字配列に格納した後に、その
文字列中の’a ’の字および’b ’の字の個数のそれぞれを、一度に表示するプログラムを作成せよ。例え
ば、”abcabca ”と入力すると、a の個数を3 、b の個数を2 と表示する。
動作を確認し、プログラムリストをレポートとせよ。
課題12-3 (optional)
キーボードからの入力を一行受けとり、その内容をfgets によって一度文字配列に格納した後に、その
文字列中の単語の数を表示するプログラムを作成せよ。なお、単語は1 文字以上の空白文字’’によって
区切られるものとする。例えば“life is not a dream.”と入力すると、5 と表示する。
動作を確認し、その動作原理の解説およびプログラムリストをレポートとせよ。
0021デフォルトの名無しさん
NGNGここに質問しても放置になりますのでお気を付けください。
宿題とか手伝えます
http://pc3.2ch.net/test/read.cgi/tech/1026138039/
0022デフォルトの名無しさん
NGNGキタ━(・∀・)━!
0023最初のだけやってみたよ
NGNG{
char buff[256], *p;
buff[sizeof(buff)-1] = '\0';
retry:
printf("\n");
if (!fgets(buff, sizeof(buff)-1, stdin))
goto end;
p = buff;
next:
switch (*p) {
case '\0':
case '\n':
*p = '\0';
goto print;
case 'A':
if (*(p+1) == ' ')
*p -= 'A' - 'a';
default:
++p;
break;
}
goto next;
print:
printf(&((strcmp(buff, "ABC ") != 0)<<3)["aBC \0%4d%.*s\0%2u\n"], p-buff, buff);
goto retry;
end:
return 0;
}
0024デフォルトの名無しさん
NGNG002523
NGNGcase 'A':
if (*(p+1) == ' ')
*p -= 'A' - 'a';
は、
case 'A':
*p -= 'A' - 'a' &- (*(p+1) == ' ');
の方がよかった
0026デフォルトの名無しさん
NGNGこれがよくわからん。
0027セキュリティ
NGNGhttp://www.gamecreators.net/
0028デフォルトの名無しさん
NGNG課題11-1
int i;
char line[256];
fgets(line, sizeof line, stdin);
for (i = 0; line[i] != '\0' ;i++)
if (line[i] == 'A') line[i] = 'a';
printf("%s", line);
課題12-1
int i;
char line[256];
fgets(line, sizeof line, stdin);
printf("%d\n", strlen(line)-1);
a課題12-2
int a, b, i;
char line[256];
fgets(line, sizeof line, stdin);
for (a = b = i = 0; line[i] != '\0' ;i++)
if (line[i] == 'a') a++;
else if (line[i] == 'b') b++;
printf("出現回数: a -> %d回, b -> %d回\n", a, b);
課題12-3 (optional)
int i;
char line[256], *pbuf;
fgets(line, sizeof line, stdin);
for (i = 0, pbuf = strtok(line, " "); pbuf != NULL ;pbuf = strtok(NULL, " "), i++);
printf("%d\n", i);
0029デフォルトの名無しさん
NGNGgotoなんて使うな!
0030デフォルトの名無しさん
NGNGCでgotoを使うといったら3重ループを抜ける時ぐらいだよ
switchに関しては言わないでおこう
0031デフォルトの名無しさん
NGNG>Cでgotoを使うといったら3重ループを抜ける時ぐらいだよ
さらしage
0033デフォルトの名無しさん
NGNG0034デフォルトの名無しさん
NGNG0035デフォルトの名無しさん
NGNGそこまでやるならcaseも反則だろ。
0036デフォルトの名無しさん
NGNG0037デフォルトの名無しさん
NGNG0038デフォルトの名無しさん
NGNG他人がフォローする理由ないし。必死すぎ。
0039デフォルトの名無しさん
NGNG○だろ
0040デフォルトの名無しさん
NGNG004123
NGNGろくにわかってない奴(goto使わなきゃループも出来ない奴)でも
printf(&((strcmp(buff, "ABC ") != 0)<<3)["aBC \0%4d%.*s\0%2u\n"], p-buff, buff);
とか
case 'A':
*p -= 'A' - 'a' &- (*(p+1) == ' ');
の動作を理解出来るようなら苦労はしないよな
おっと、勘違いしないで。
↑のは両方「わざとわかりずらいように」書いたんだからね。
004223
NGNGそのままコピーして提出したら怒られるように、わざとね
0043デフォルトの名無しさん
NGNG0044デフォルトの名無しさん
NGNG(゚o゚)<クソスレageる奴は地獄に落ちるって母ちゃん言ってたぞ
(ー)ー
))
0045デフォルトの名無しさん
NGNG姉ちゃんじゃねぇのか?
0046デフォルトの名無しさん
NGNG0047デフォルトの名無しさん
NGNG(゚o゚)<婆ちゃんだった。
(ー)ー
))
004838
NGNG/ /. │ ヽ \
∧ ∧/ /. │ ヽ ∧\∧
( ⌒ ヽ / │ ヽ ( ⌒ ヽ
∪ ノ / │ ヽ ∪ ノ
ヽ_),) / │ ヽ し' l_ノ
ミ / │ ヽ
∧ /∧ │ ∧ヽ∧ 彡
( ⌒ ヽ │ ( ⌒ ヽ
∪ ノ ミ ∧│∧ 彡 ∪ ノ
ヽ_),) ( ⌒ ヽ し' l_ノ
∪ ノ
ヽ_),)
0049デフォルトの名無しさん
NGNG0050デフォルトの名無しさん
NGNG0051デフォルトの名無しさん
NGNG宿題とか手伝えます
http://pc3.2ch.net/test/read.cgi/tech/1026138039/
0052デフォルトの名無しさん
NGNGそれ1000逝ったから、このスレを宿題スレにしようよ。
0053デフォルトの名無しさん
NGNG0054デフォルトの名無しさん
NGNGタイトル読めや。
0055デフォルトの名無しさん
NGNGhttp://pc3.2ch.net/test/read.cgi/tech/1027756023/l50
0056デフォルトの名無しさん
NGNGhttp://pc3.2ch.net/test/read.cgi/tech/1027756023/6
なんかこっちをC/C++専用の宿題スレ化するみたいなことが書いてあったが。
0057Rina ◆tI333vNE
NGNG駄目だったでしょうか?
0058デフォルトの名無しさん
NGNG宿題スレは一つでいい。
宿題手伝います
http://pc3.2ch.net/test/read.cgi/tech/1027756023/l50
0059Rina ◆tI333vNE
NGNG0060デフォルトの名無しさん
NGNG0061デフォルトの名無しさん
NGNG0062デフォルトの名無しさん
NGNG0063デフォルトの名無しさん
NGNG0064デフォルトの名無しさん
NGNG90度270度180度に回転し
出力するプログラムを作れ。
0065デフォルトの名無しさん
NGNG作った。
0066デフォルトの名無しさん
NGNGさんきゅ、使わせてもらってるよ。
0067デフォルトの名無しさん
NGNGモニター依存か。
0068デフォルトの名無しさん
NGNG普通にA4用紙に印刷してから回転すると楽だよ。
0069デフォルトの名無しさん
NGNGフラグ立てるのか、goto使うのか、定石を教えてください。
0070デフォルトの名無しさん
NGNGgotoに一票
0071デフォルトの名無しさん
NGNG時と場合に応じて。あと、その部分を関数に分けてreturnで抜けるとか
007269
NGNGgoto使ってもいいんだな、ほんとにいいんだな、
文句いわれないんだな。
じゃあ、使おう。
0073デフォルトの名無しさん
NGNG0074
NGNG三角関数が math.h でどのように定義してあるのか見てみたら
それらしいのがみあたらず、それっぽいもので
double _RTLENTRY _EXPFUNC sin (double __x);
がありました。あってますか?
てっきり、こんなものを想定してました・・・
single sin(single i){
}
0075デフォルトの名無しさん
NGNG0076デフォルトの名無しさん
NGNGman sin
>>75
man cc
0077デフォルトの名無しさん
NGNGつぅか型から変わってるんだが・・・。
0078デフォルトの名無しさん
NGNG定義はそこには無いんじゃないか?
0079デフォルトの名無しさん
NGNGman co
0080デフォルトの名無しさん
NGNG008174
NGNGman は使えません・・・
0082デフォルトの名無しさん
NGNG#pragma hdrstop
#include <stdio.h>
#include <iostream.h>
#include <conio.h>
//---------------------------------------------------------------------------
void item();
void deposit(int item);
#pragma argsused
int main(void)
{
char option;
cout << endl;
cout << "S) Select An Item" << endl;
cout << "D) Deposit Money" << endl;
cout << "C) Cancel" << endl << endl;
cout << "Select the menu:";
cin >> option;
clrscr();
if (option == 'S' || option == 's')
{
item();
clrscr();
}
else if (option == 'D' || option == 'd')
{
deposit(int item);
clrscr();
}
else if (option == 'C' || option == 'c')
cout << "cancel" << endl;
else
cout << "Please select S or D or C" << endl;
getch();
}
0083デフォルトの名無しさん
NGNG{
int item;
cout << " 1 2 3" << endl;
cout << " Coke Sprite Orange Juice" << endl;
cout << "$1.00 $1.00 $1.25" << endl << endl;
cout << " 4 5 6" << endl;
cout << " Mars Oh Henry! Kit-Kat" << endl;
cout << "$0.75 $0.75 $1.00" << endl << endl;
cout << "Select the item:";
cin >> item;
clrscr();
if (item == 1)
cout << "Please deposit $1.00";
else if (item == 2)
cout << "Please deposit $1.00";
else if (item == 3)
cout << "Please deposit $1.25";
else if (item == 4)
cout << "Please deposit $0.75";
else if (item == 5)
cout << "Please deposit $0.75";
else if (item == 6)
cout << "Please deposit $1.00";
deposit(int item);
}
void deposit(int item)
{
int dep, change;
int howMuch[6]={100, 100, 125, 75, 75, 100};
cout << endl << endl;
cout << "Enter how much you are going to deposit" << endl;
cin >> dep;
change = dep - howMuch[item - 1];
cout << "Your change is " << change << endl;
}
何が間違ってる?
0085デフォルトの名無しさん
NGNG(お約束だけど)質問の仕方
0086デフォルトの名無しさん
NGNG0087モヒモヒ
NGNGってかこれ明日がdueで、もうあきらめモード。
ここまででいいかなって思いがある。十分やったっしょ。
0088デフォルトの名無しさん
NGNG0089デフォルトの名無しさん
NGNGせめて商品カタログは構造体の配列にして
すべての処理で参照するようにせんかね?
コンピュータにさせるべきことを人間が打ち込みすぎてるよそれ。
価格変更や商品点数変更をしようとするとあちこち変更が必要になってるやん。
0090モヒモヒ
NGNG今流はどんなんよ。
0091デフォルトの名無しさん
NGNG少なくとも単語は略さないね。
clear_screen()とかClearScreen()とかそんな方向じゃない?
C++ならむしろ Screen というオブジェクトで Screen.clear()とかね。
0092デフォルトの名無しさん
NGNG使えました。13件ヒット
http://www.linux.or.jp/JM/html/LDP_man-pages/man3/sin.3.html
しかし
>>78
定義が見つかりませんでした。
0094モヒモヒ
NGNGsyntax errorってのが起きて困ってるんですけど、見てくれては頂けないでしょうか。
0095名無しさん@Emacs
NGNGdeposit(int item)って宣言やん….
0096デフォルトの名無しさん
NGNG0097デフォルトの名無しさん
NGNG0098デフォルトの名無しさん
NGNGvoid item()で"if-elseif"の連続があるけど、switchを使った方がいいと思う。
0099デフォルトの名無しさん
NGNGパーミッションをゲットするにはどうすればいいのでしょうか?
因みにセットする場合のコマンドは644をセットする場合
site chmod 644 でいいんですよね?
0100デフォルトの名無しさん
NGNGあと, stdio.hとiostreamを混在させるのは俺は好かん.
0101モヒモヒ
NGNG思いつく事全部やったんですけど。
deposit(), deposit(int), deposit(int i), deposit(int item)
どれもコンパイルしないっす。
0102デフォルトの名無しさん
NGNGすげえ! 天才じゃないのか?(笑)
0103名無しさん@Emacs
NGNG2ちゃんにきてる暇があったら, C言語の勉強した方がいいと思う.
人に尋ねる以前の問題.
0104デフォルトの名無しさん
NGNG自分の惑星に帰ったほうがいいんじゃないのか?
0105デフォルトの名無しさん
NGNG0106名無しさん@Emacs
NGNG0107デフォルトの名無しさん
NGNGどこか良い手ほどきしてるHP教えてください
0108デフォルトの名無しさん
NGNGman fwrite
0109デフォルトの名無しさん
NGNG基本からやり直した方がいいよ。
つか、そのソースは自分で作った奴じゃなくて、他人のをコピペして改造した
だけだろ。
0110デフォルトの名無しさん
NGNGdouble sin(double x){
float s;
_asm{
fld x
lea ecx, [c]
lea eax, [s]
fsincos
fstp dword ptr[ecx]
fstp dword ptr[eax]
}
return s;
}
こんな感じかな?
あとこういうのが気になりだしたら、
http://sources.redhat.com/glibc/
あたりからソースを持ってきて見てみるといいかも。
0111名無しさん@Emacs
NGNGふーん、asm使ってるのか…. 勉強ニナターヨ. >>93じゃないが
気になるので俺もglibcのソース落してみる. さんくすこ.
0112デフォルトの名無しさん
NGNGループのないコードを書いてなぜすぐ
終了するのか悩んだものさ。
0113デフォルトの名無しさん
NGNGmain(int argc, char **argv);
の部分が本によっては
main(int argc, char *argv);
とアスタリスクが1つの本と2つの本があるのですがどう違うのでしょうか?
0114デフォルトの名無しさん
NGNG0115デフォルトの名無しさん
NGNGint main(int argc, char* argv[])ってかくつもりだったんか?
0116デフォルトの名無しさん
NGNGひとつだけなのか。
*argv[]とでもなっていないなら、その本は棄てるべき。
0117デフォルトの名無しさん
NGNGC++初めて弄ったんだけど、どう?(ちなみに自販機)
ネタ混じりだが此れ自体はネタではない。
0118デフォルトの名無しさん
NGNG0119名無しさん@Emacs
NGNGドラクエみたい…w
0120113
NGNGいまだに char **argv が何に対するポインタなのかはさっぱりですけど。
0121デフォルトの名無しさん
NGNGchar *に対するポインタ
0122デフォルトの名無しさん
NGNG腐った機構。
0123デフォルトの名無しさん
NGNG例えば
bcc foo.cpp
とコマンドラインから入力した場合、
argcは2となり、
argv[0]は"bcc"
argv[1]は"foo.cpp"
となるのです。
0124デフォルトの名無しさん
NGNGそいつが三角関数かどうかは、やってみるのが早いやろ
どうなってたら三角関数か知らんつーのは反則やけど
媒介変数とか知っとんのやったらこんな実験くらい思いついたらどないやねん
printfで表示さしてみて三角関数表でチェックゆーのもつまらんやろ
#include <windows.h>
#include <math.h>
main()
{
HDC hdc;
double t;
hdc = CreateDC("DISPLAY", NULL, NULL, NULL);
for(t = 0.0; t <= 6.28; t += 0.01)
{
double x = sin(t);
double y = cos(t);
LineTo(hdc, 320 + 300 * x, 240 + 200 * y);
}
DeleteDC(hdc);
}
0125デフォルトの名無しさん
NGNGだれか解けや。カスどもが!ぼけ!ぼけ!みんなみんな死んでしまえ!
0126デフォルトの名無しさん
NGNG0127デフォルトの名無しさん
NGNG0129デフォルトの名無しさん
NGNGDirectX1でもいいの?3Dなさそうだけど。
0130デフォルトの名無しさん
NGNG0131デフォルトの名無しさん
NGNGGameSDKの次はDirectX2じゃないの?
0132デフォルトの名無しさん
NGNG#include <HomeWork.h>
int main()
{
DDHomeWork Dx;
if( !Dx.Init() )
return (-1);
Dx.square(10,10,20,20);
Dx.wait();
return (0);
}
0133名無しさん@Emacs
NGNG細かいことだが
return(1);
の方がいいと思われ.
0134132
NGNGちゃんと上のソース使ったぞ!
(一部変更 Dx.square()の引数なし! DDHomeWorkのコンストラクタで
四角の頂点を初期化〜☆)
DirectX7だけど・・・。
四角い板って意外にむずいな・・・。3D面白いかも知れん・・・。
0135132
NGNGそうだよ・・・return (1)がよろし・・・。
何年プログラム組んでんだよ俺・・・(遠い目)
0136名無しさん@Emacs
NGNG0137デフォルトの名無しさん
NGNG#include "DoAllMyHomeWorks.c"
だろ
0138132
NGNGどうやってクラスを実装しているんだよ 藁)
0139デフォルトの名無しさん
NGNGサーフェスに四角でも描いて提出しとけ。
カスが!ぼけ!ぼけ!おまえはおまえは死んでしまえ!
0140デフォルトの名無しさん
NGNGCOMみたいにvtblを自前で書いてるんだろ(他人事)
0141138
NGNGそれはもうDirectXの宿題の範囲を超えている予感。(俺事!?)
0142デフォルトの名無しさん
NGNGprotected継承はどういう目的で使うものなんでしょうか?
あるクラスで公開されているものを派生クラスで隠そうとする発想が
どうにも分からんのですが、言語仕様として存在するということは
何らかの使い方を想定しているんですよね??
0143デフォルトの名無しさん
NGNG0144デフォルトの名無しさん
NGNGそれは、親クラスのメンバを継承先の子クラスから自由にいじりたい時
だろう。
privateでは継承した途端にマスキングされてしまうし、publicではクラス
外から自由に触れてしまう。
0146デフォルトの名無しさん
NGNGちょっと待って。俺が勘違いしていたかも。public継承はよく使うけど、
private継承やprotected継承はあまり使わないね。
0147デフォルトの名無しさん
NGNGそれらが必要なケースでは所有で解決するべきじゃないか?
アップキャストすればメンバさわり放題なんだし。
0148デフォルトの名無しさん
NGNGpublic継承:
元protected → protectedのまま
元public → publicのまま
protected継承:
元protected/public → protected
private継承:
元protected/public → private
でよかったっけ。
0149デフォルトの名無しさん
NGNG意味を持たせればいいのかは、誰も知らないようだ。」とあります。
メンバをprivateやprotected属性にするのとは違い、継承にprivateや
protectedを使う時は、注意が必要なようです。
0150デフォルトの名無しさん
NGNGprotected継承はhas-a
と聞いたことがある。
0151デフォルトの名無しさん
NGNGそうそう。
0152デフォルトの名無しさん
NGNG0153142=148
NGNGてゆーか EffectiveC++読まなきゃだめだね(苦笑
どうもさんくすでした。
0154デフォルトの名無しさん
NGNGどういうときに使う?
あんまり意味があるとは思えないんだけど
0155デフォルトの名無しさん
NGNGhas-a時に、
ベースクラスのprotectedメンバを操作する場合
(ベースクラスのコンストラクタやデストラクタがprotected等)や、
ベースクラスの仮想関数をオーバーライドする場合。
0156デフォルトの名無しさん
NGNG所有/包含の代わりに使う。「それを実装手段とする」だね。また継承元
のprotedtedメンバを使えるという点で、包含よりも柔軟な事がある。
0157デフォルトの名無しさん
NGNG0158デフォルトの名無しさん
NGNGあちらのスレは何気に荒れているからかな。
0159デフォルトの名無しさん
NGNGなるほどねぇ、俺は絶対やりたくないですね
面倒でも所有させちゃいます。
0160デフォルトの名無しさん
NGNG所有/包含とfriend class宣言のセットが一番ポピュラーなんでしょうな。
0161デフォルトの名無しさん
NGNGだから所有の1つの方法なんだって。
>>160 のいってるように、
protectedにアクセスするだけなら
メンバとして所有してfriendを使ってもいい。
オーバーライドが必要ならprivate継承。
0162デフォルトの名無しさん
NGNGって書いてあるけど、何をそんなにムキになってるんだ?
0163デフォルトの名無しさん
NGNGあんまりバカだから。
>>159
> なるほどねぇ、俺は絶対やりたくないですね
> 面倒でも所有させちゃいます。
とかバカ丸出し。
その所有を実現するために、
場合によっては必要なんだよ。
夏ってこんな奴ばっかりだな。
0164デフォルトの名無しさん
NGNG必要な例って何?
すべて所有で置き換え可能だから、
C#やJavaではprivate継承がないんでしょ。
0165デフォルトの名無しさん
NGNG>>155>>156
0166デフォルトの名無しさん
NGNGだから、プロテクトメンバーを捜査する必要がある場面って何かある?
勿論柔軟なプログラムが可能だろうけど、親クラスの実装に強く依存することになるんでない?
0167デフォルトの名無しさん
NGNG0168デフォルトの名無しさん
NGNGSOFTBANK刊、「詳説C++」のP165〜P168に、まさにそのような論議が
書かれています。XはYを使って実装される、の関係を表すのに、できる
だけ包含/所有を使い、private/protected継承は使わないように、と
推奨されています。
他の欠点として、継承すると、親クラスは一つしか使えないことがあげ
られています。包含/所有を使えば、いくつでもはめ込むことが可能で
すから。
protectedなメンバを参照する機会というのは、実際、あまりないでしょ
う。論理的な組み立ての流れの中で、そのような場合も考慮しておか
なければならないでしょうが、実務の世界では親クラスの設計が悪い
時に現れてくるかもしれません。
0169花男
NGNGC言語の構造体の問題です。
「1:00から5:00まで4時間分の電車の時刻表がある。この時間帯(1:00〜4:00)
のある時刻を入力し、次の電車の到着時刻は何分後で何時何分か表示せよ
(時刻表)
1時 10分 24分 35分 40分 55分 59分
2時 13分 26分 37分 49分
3時 7分 15分 45分
4時 30分 51分 」
ちなみに自分はプログラムではCが初めてでそれも数ヶ月はじめたばかりの厨房です。
せめてヒントを下さい。よろしくお願いいたします。
0170デフォルトの名無しさん
NGNGして所有させればいいように思う。それから A* ap = &b; とできないので、
ポリモーフィックな動作をさせられないのは意外だった。
##include <iostream>
using namespace std;
class A {
protected:
int i;
A() { i = 111; }
virtual void print() const { cout << i << endl; }
};
class B : private A {
int j;
public:
B() : A() { j = 222; }
void print() const { A::print(); cout << j << endl; }
};
int main()
{
B b;
b.print();
}
0171デフォルトの名無しさん
NGNG構造体を使わずに書けるが。
0172花男
NGNG0173デフォルトの名無しさん
NGNG時刻を構造体に入れるの?
0174デフォルトの名無しさん
NGNG#include <stdio.h>
struct train_arrival {
int hour;
int min;
} TA[] = {{1, 10}, {1, 24}, {1, 35}, {1, 40}, {1, 55}, {1, 59}, {2, 13}, {2, 26}, {2, 37},
{2, 49}, {3, 7}, {3, 15}, {3, 45}, {4, 30}, {4, 51}, {-1, -1}};
int main(void)
{
int h, m, i = 0, j, k;
printf("現在時刻を入力して下さい(hh:mm)? ");
scanf("%d:%d", &h, &m);
while (TA[i].hour >= 0)
if ((j = TA[i].hour * 60 + TA[i].min) < (k = h * 60 + m)) i++;
else break;
printf("次の電車の到着まで後 %d分で、%d時%d分に到着します。\n", j - k, j / 60, j % 60);
return 0;
}
0175花男
NGNG本当に申し訳ありません。やむを得ぬ用事が出来てしまったためまた改めてこのスレで
質問します。またどうぞよろしくお願いします。
173さんの質問は・・・恐らくint型で。
0176デフォルトの名無しさん
NGNG0177花男
NGNG0178デフォルトの名無しさん
NGNG>>174さんのサービスについてのコメントはなしですか?
0179デフォルトの名無しさん
NGNGマルチだからあちこちのスレ見てて忙しいんだよ
0180デフォルトの名無しさん
NGNG0181デフォルトの名無しさん
NGNGこういう場合は答えを書かずにつき合ってやった方がいいのか。
これからそうしようか。
0182デフォルトの名無しさん
NGNG機能が変容するから多態できなくて当然
class battle_ship {
protected:
report local_order(command) ;
public:
void sail(void) ;
void move(two_dimensional_direction) ;
void attack(battle_ship) ;
void attack(submarine) ;
void communicate(station) ;
void suicide_bomb(void) ;
} ;
class space_battle_ship : protected battle_ship {
public:
void takeoff(void) ;
void move(three_dimensional_direction) ;
void attack(space_battle_ship) ;
using battle_ship::communicate ;
using battle_ship::suicide_bomb ;
void hadouho(three_dimensional_direction) ;
} ;
battle_ship yamato ;
space_battle_ship uchu_senkan_yamato ;
0183デフォルトの名無しさん
NGNGまったくやる気の見えないやつはマルチポストしたりしてうざかったりするので
ずばり答を書いて追い払うこともあったりする(w
今回はヒントをくれということだったんで、少しの間付き合ってみようかと思ってた。
0184デフォルトの名無しさん
NGNGusing宣言を行うと、何か特別な意味があるの?virtualがついてない
から関数のオーバライドとも違うようだけど・・・・
>>183
なるほど。これから場の雰囲気を読むようにしますね。
0185デフォルトの名無しさん
NGNGメソッドをインポートしているだけ。
void communicate() { battle_ship::communicate(); }と記述しなくていい。
0186デフォルトの名無しさん
NGNG>継承すると、親クラスは一つしか使えない
ってどゆこと?
0187デフォルトの名無しさん
NGNG例えば Stackクラスを Listクラスで実装するとして
class Stack {
List l1;
List l2;
};
のように Listクラスを Stackクラスの中に必要なだけ埋め込み
できるけど、継承したら Listクラスの実体は一つしかできない。
0188デフォルトの名無しさん
NGNGん?特にbattle::とスコープを解決しなくても、public継承なら親クラスの
関数はそのまま継承されてくると思うけど?usingをつけないと都合の
悪いことがあるのかな、と思って。
0189デフォルトの名無しさん
NGNGスマソ、protected継承でした。逝ってきます・・・・・・
0190186
NGNG0191デフォルトの名無しさん
NGNGそしたら、こういう場合の B::print は、public属性なのでしょうか、それとも
protected属性なのでしょうか。わけが分からなくなってきました(~_~;)
class A {
int i;
public:
A() { i = 111; }
void print() const { cout << i << endl; }
};
class B : protected A {
public:
using A::print; // void print() const { A::print(); }
};
class C : protected B {
public:
using B::print;
};
int main()
{
B b;
C c;
b.print();
c.print();
}
0192デフォルトの名無しさん
NGNG0193デフォルトの名無しさん
NGNGそんなもんやってみれば一発じゃん
0194花男=169
NGNG特に174さん問題解いてくださって本当にありがとうございました!
すれ違いになってしまって174さんの書きこみ(解答)を見ずに175、177
のレスを書いた後席をはずしてしまいました。というか外出しておりまして
現在も外から書いております。本当に返事が遅れてしまい申し訳ありませんでした。
現在用事を済ませ、見せていただいています。あんなに早く解ける方がいるとは
思いませんでした。
今更なのですが{-1, -1}(8行目)がどういうことか分からないのですが
解説して頂けないでしょうか。
このプログラムそのものに関してはこれからじっくり考えさせて頂きたいと
思います。
0195デフォルトの名無しさん
NGNGwhile (TA[i].hour >= 0) の所でwhileを抜ける為。
0196花男
NGNGレス有難うございます。もう少し分かりやすく説明して頂けないでしょうか。
0197デフォルトの名無しさん
NGNG>>195さんも書かれていますが、最低限のエラートラップです。
配列添字が範囲を超えてしまうのを防いでいます。
0198デフォルトの名無しさん
NGNGそれから入力する時刻が1:00〜4:00までに限定されていますが、これは
チェックしてないので、チェックするように変えてみてください。
0199花男
NGNG考えさせてください。プログラムの全体の形は理解するのに時間がかかると
思いますので・・
もっと厨房的な質問になってしまうのですが
printf("現在時刻を入力して下さい(hh:mm)? "); の(hh:mm)
のような表記で時間が出るのでしょうか。本当に厨房な質問ですみません。
0200デフォルトの名無しさん
NGNG数ヶ月でそれかよ、、、そんなの始めて2日以内のところだろ、、
0201デフォルトの名無しさん
NGNG違う違う。11:22のようにコロン( : )を間に挟んで入力してくれ、という意味。
例えば 1時20分なら 1:20[enter] と入れればよい。
0202花男
NGNGお恥ずかしい限りです。
じっくり考えたいと思います。皆さんありがとうございました。
0203デフォルトの名無しさん
NGNG本に書いてあることを鵜呑みにしないで、実践することも必要だぞ。
こんなケース無いだの、ベースクラスが悪いだの、
頭の中で空想しても何も得ることはない。
要は所有が必要なときに、その実装として何が最適かだ。
メンバで持つだけで解決できなかったり、
ベースクラスが変更できないときに、
実装できません・ベースクラスの設計が悪いです・
僕は悪くありませんじゃプロとして失格だろ。
自分の知識の無さが恥ずかしくて、自分を正当化ばかりしていないで、
設計の選択肢の1つとして覚えておけ。
誰もお前に、その手法を強制しているわけじゃない。
言ってること理解できるか?
0204名無しさん@Emacs
NGNGカコイイ!! 確かにそうだと思う.
…でもベースクラスの設計が悪かったんだよぉ, 残業になったのは
俺のせいじゃないよぉ、ウワアアアァァァンヽ(´Д`)ノ
…ごめん, 俺テンパってるかもしれん. 逝って来る.
0205デフォルトの名無しさん
NGNGそれよりも日本語として変。
0206デフォルトの名無しさん
NGNGパーミッションをゲットするにはどうすればいいのでしょうか?
0207デフォルトの名無しさん
NGNGベースクラスの設計が悪くてプロテクトメンバーをいじる必要があるなら、
継承させずにもう一枚少し大きめなラッパーを書きますが、何か?
0208デフォルトの名無しさん
NGNGこういう粘着の質問に答えたヤシは災難だな、いってることも矛盾だらけだし
0209デフォルトの名無しさん
NGNGどれが正しいというもんでもない。
チーム開発では統一しなきゃいかんけど。
絶対に正しいプログラムは作れないという数学的証明があるらしい。
0210デフォルトの名無しさん
NGNG0211デフォルトの名無しさん
NGNG>絶対に正しいプログラムは作れないという数学的証明があるらしい。
何もしないプログラム。
nop
すぐ終わるプログラム。
halt
0212デフォルトの名無しさん
NGNGチューリングマシンの停止問題っすか?
0213デフォルトの名無しさん
NGNG0214花男
NGNGどなたか助けてください。困っている点その�@コンパイルしたら>>174 で通るんですが
「パラメーターが足りません」とエラー表示され実行されないんです。
どうしたら良いのでしょうか。
�Awhile〜else break;間の意味を解説して頂けませんでしょうか。
お願いします。
0215デフォルトの名無しさん
NGNG機種依存文字。
0216花男
NGNG0217デフォルトの名無しさん
NGNG215「丸つき数字を使うなヴォケ」ということです。
分かりましたか?
0218デフォルトの名無しさん
NGNGできた実行形式のファイルの名前は何?
0219花男
NGNG実行形式のファイル名は「shukudai.c」とつけました。
お願いします。上記の2点に関して教えてください。
0220218
NGNG他に同名のファイルがあって、そっちを実行してんじゃないかとおもった。
0221デフォルトの名無しさん
NGNGk = h * 60 + m;
while (TA[i].hour != -1) {
j = TA[i].hour * 60 + TA[i].min;
if (j >= k) break;
i++;
}
ちょっと変更してみた。多少わかり易くなったと思うけど。
これでもわからないですか?
0222デフォルトの名無しさん
NGNG0223デフォルトの名無しさん
NGNGwhileの中の条件式は、配列TAが最後まで到達したかどうか見てる。
TAの初期化で最後に{-1,-1}ってのがあるだろ。それと比べてる。
これは番兵という手法で一般的に使われる。
ifの中は時と分で表されたものを分だけに直して、大小比較してる。
たとえば3時15分だったら、(3*60+15)=195分とかね。
構造体のままだと大小比較できないから分に直してるわけだ。
で、入力された時刻と時刻表を比べて入力された時刻の直後の時刻表の時刻が
出てきたらbreakしてる。
こんなもんでいいかな。
0224デフォルトの名無しさん
NGNG0225デフォルトの名無しさん
NGNG要はデータに絶対出てこない数値が入っていれば良いんでは?
0226花男
NGNGわかりやすく説明して頂いたように思います。
ありがとうございます。たいへん助かりました。
{-1,-1}に関しては前もどなたかにお聞きしたのですが
使い方が難しいですね。
ところでコンパイルの方は何故エラーが出てしまうのでしょう。
0227224
NGNG最後を{5,0}にすると
while (TA[i].hour >= 0)
を
while (1)
とかけるようになる。
終端検出の比較と次の到着時刻を求める比較とを
同じにすることで、ループ中の比較回数を減らす手法だと
解釈していたんだけど。
0228デフォルトの名無しさん
NGNGでも5時は (現在の仕様では) ありえないし。
でも100%現実には-1時はないから -1の法がいいけどな。
0230223
NGNGんん。おれの番兵の解釈間違ってるのか。
番兵って言葉どの本で覚えたんだっけかな。
手近にある「プログラミング作法」を開いてみると、
訳語が「番人」だったけど載ってた(以後「番人」で統一する)。
ちょっと引用すると、
>データの末尾にNONWORDを2〜3個追加しておくと、プログラムのメイン処理ルー
>プが格段にシンプルになる。これは番人(sentinel)値を追加して境界をマーク
>するテクニックの一例だ。
(「プログラミング作法」103ページ)
コードまでは載せないけど、ここに書いてあることからおれが読み取れることは
・あるデータの集まりがあって
・その末尾にありえないデータを置いておく。このありえないデータ値を「番人」と呼ぶ
・データの集まりを一通り舐めるときは番人が出現するまでループをまわす
ということなんだけど、この解釈で間違ってる?
間違ってるとすると認識を改めないと。
0231デフォルトの名無しさん
NGNGあるデータの集まりを探索するときに、末尾に必ず条件にマッチする
データ(これには番兵であるという印を付けておく必要がある)を置いて
おく。このことによって(ループのたびに行われる)終了判定の式を省く
ことができる。
ってのが(いわゆる)番兵の使用法ですよね。
たぶん223さんの頭にあるのは、Cの文字列のNULL終端子みたいな
ものだと思うのですが、そういうのを番兵と呼ぶのは、少なくとも私は
聞いたことないです。
0232223
NGNGそうです。確かにCの文字列の終端子が頭にありました。
>>174の例でいうと{5,0}とか、拡張を考えると{25,0}みたいな
ものをおいておくとループの中で
・配列の末尾かどうか
・条件に合うものかどうか
という二つの判定を一つに省くことができるということですね。
で、番兵にぶちあたったかどうかというのはループの外で判定すると。
なるほど一つ賢くなりました。ありがとうございました。
0233デフォルトの名無しさん
NGNG0234デフォルトの名無しさん
NGNG言語はC++かCで。
0235デフォルトの名無しさん
NGNGsprintf()
0236234
NGNG0237デフォルトの名無しさん
NGNGなんで?
0238234
NGNG0239234
NGNGここで聞いたのが間違いでした。
0240デフォルトの名無しさん
NGNGてめー、Cをなめてんじゃねーのか?
勘違いすんじゃねーよボケ!
0241デフォルトの名無しさん
NGNG本気で教えてもらいたいなら、そういうなめた態度止めろよ。
0242デフォルトの名無しさん
NGNG最初からここで質問しようとすんなよ。
ネタだと勘違いするヤツが出てくんだろが。
0243デフォルトの名無しさん
NGNG仕事で、そういう処理を書くなら、
漏れは迷わずsprintf使うけどな。
何か問題あんの?
0244デフォルトの名無しさん
NGNG0245デフォルトの名無しさん
NGNG'\0'で終わる、charの配列。
0246デフォルトの名無しさん
NGNGそういう処理を自分で書く宿題なのだと思われ。
0247デフォルトの名無しさん
NGNG仮数部のビット数を得るマクロとか、ありましたっけ?
0248デフォルトの名無しさん
NGNG書けばいいじゃん。IEEEの浮動小数点っしょ?
0249デフォルトの名無しさん
NGNGfloat.h嫁
0250花男
NGNG2度ほど教えて頂いたのですが、今回で最後にしますのでもう1度だけ同じ質問
に関して教えて頂きたいです。どうぞよろしくお願い致します。
>>174 という解答を頂いたのですがint h, m, i = 0, j, k;の部分が
分かりません。どうしてm, i を他の記号に置き換え、hをゼロとするのでしょうか。
あともうひとつ、仮にこの時刻表が1時〜5時までではなくて2時〜5時だった場合、{}内を
{2, 13}, {2, 26}, {2, 37},・・・以下を書いていくと思うのですが最後の
{-1, -1}はどのように書き換えればよいのでしょうか?これを本当に最後にしますので
宜しくお願いします。
0251デフォルトの名無しさん
NGNG#include <string.h>
main()
{
char ans[]="dictionary";
char guess[]="----------";
char a;
int i,count=0;
do{
printf("%s",guess);
printf("アルファベットを入力してください。:");
a=getchar();
for(i=0;i<10;i++) if(a==ans[i]) guess[i]=a;
count++;
}while(strcmp(ans,guess)!=0);
printf("正解は%sでした。\n",ans);
if(count<15)
{
printf("%d回目で正解です。あなたの勝ち。\n",count);
}
else
{
printf("%d回目で正解です。あなたの負け。\n",count);
}
}
0252デフォルトの名無しさん
NGNGゲームです。
countで、何回で正解したのかを計測している
のですが二倍ぐらいの数になってしまいます。
あと、10、11行目がdoの二回目以降、二回
実行されてしまいます。どうしてでしょう。
この本のソースは間違っているんでしょうか。
0253デフォルトの名無しさん
NGNGfor(i=0;i<10;i++) if(a==ans[i]) {
guess[i]=a;
count++;
}
じゃないのか?
0254デフォルトの名無しさん
NGNGa=getchar();
を
a=getchar();getchar();
にすれば、とりあえず望み通りの結果になる(バグが残ってるけどね)
0255251,252
NGNG考えてくださってありがとうございます。
実行してみましたが、それでも何回か多くなってしまうんですよね…。
しかも根本的には本に書いてあったプログラムを変えていないですし、
どう考えても自分には合っているように思えます。とはいっても始めて
一ヶ月ほどの者なので誤植があったとしてもどう直せばいいのかもわかり
ません。
0256デフォルトの名無しさん
NGNGあのね、入力のとき
a改行
ってするでしょ?
で、1回目のgetchar()がaを取るんだけど、改行がまだ残ってるから、
1回(もしかするとWinだと2回)余分にループしちゃうの。
0257251,252
NGNGありがとうございます。本当に望み通りの結果になりました。
バグも起こりませんでした。
でもa=getchar();getchar(); の意味と、251のではなぜcountの数が違い、
10,11行目のprintfが二回ずつ実行される(doの二回目以降)のかを教えて
いただけないでしょうか。
0259デフォルトの名無しさん
NGNGgetchar()は改行コードも一文字として読むから多くなる。
改行コード(\n)をはじきなさい。
0260259
NGNGただちょっと遅かっただけなんだ。
許せよマザー。
ありがとうファザー。
0261254
NGNGそういうときって普通どうする?
自分で書いといてなんだけど、254のやり方はよくないんだよね。
0262259
NGNG0263254
NGNGwhile((a=getchar())=='\n');
printf("%s",guess);
printf("アルファベットを入力してください。:");
こうするわけですね。どうも
0265254
NGNGああ、ボケてました。そうですよね
了解です。どうもありがとう
0266デフォルトの名無しさん
NGNG原画像を極座標変換して表示したいんですが。
変換後の点が変換前のどの点に対応させるか、その関係がよく分からなくて
困ってます。
どなたか、以前にこのての問題を考えたことがある方いらっしゃらないでし
ょうか?
0267デフォルトの名無しさん
NGNG極座標変換って何かちゃんと知って書いてるか?
普通に逆変換汁!
0268266
NGNG極座標変換は分かってますよ。
原画像をグニャッとドーナツみたいにした画像に変えたいのです。
普通に逆変換ってどういうことですか?
0269デフォルトの名無しさん
NGNGそれならトーラスにマッピングすれば?
0270kso
NGNG数学板へGO
くだらねぇ問題はここへ書けver.3.1415926535897932
http://science.2ch.net/test/read.cgi/math/1029498021/
0271269
NGNG平面(x,y)の画像0<=x<=1、0<=y<=1をz軸を中心軸とするトーラスの上半分だけにマッピングするには
トーラスの円環の半径をa、柱の半径をbとして円筒座標(θ,r,z)に変換すれば
θ=2πx ;
r=a-b*cos(πy)
z=b*sin(πy)
天頂から投影してzを無視しユークリッド座標(v,w)もどすと
arctan(w/v)=2πx
√(w^2+v^2)=a-b*cos(πy)
(x,y)について解いて
x=(1/2π)arctan(w/v) ;実際にはatan2(v,w)を使い0〜2πに変換
y=(1/π)arccos{(a-√(w^2+v^2))/b} ;
てなかんじで
0272269
NGNGそれだと立体感がないぞ
半径をaとすると
θ=2πx
r=ay
でいいだろ。後は同様
0273デフォルトの名無しさん
NGNG0275デフォルトの名無しさん
NGNG0276花男
NGNG0277花男
NGNG0278デフォルトの名無しさん
NGNG悪いけど質問の内容が理解できない。
キミの目には、
「m, i を他の記号に置き換え、hをゼロ」
にしているのが見えるのか?
0279花男
NGNGhで○○時間、mで○○分と表して
時間を入力した数字をKとして変換して構造体の時刻表からjという時間と比較して
入力した数字の方が大きい限りi++して次の時間帯まで探す。
jーkはあと何分後に電車が来るか。j / 60、j % 60で何時何分につくかを示す。
教えて頂いた事を乏しい理解力とつたない文章力で書いてみたのですがint m, i = j, k;
が考え付きません。
0280花男
NGNG0281デフォルトの名無しさん
NGNGint h, m, i = 0, j, k;
は
int h;
int m;
int i = 0;
int j;
int k;
と同じ意味
0282デフォルトの名無しさん
NGNG恥さらしあげ
0283デフォルトの名無しさん
NGNG>これを本当に最後にしますので宜しくお願いします。
0284デフォルトの名無しさん
NGNG0285花男
NGNG自宅のネットが故障しててネットにつなげない状況でして・・
レスが遅れてすみませんでした。283違う人です。281で頂いた回答でやっと全体が分かりました。
本当に初歩から分かっていなかったため迷惑お掛けしました。
多数の方に温かいレスを頂き有難うございました。これに懲りてもっと勉強します。
0286デフォルトの名無しさん
NGNG中相撲
さらには小相撲があるかと思うのですが
どこにあるのでしょうか??
0287花男
NGNG0288shige
NGNGよって「小統領」に降格!
金大中大統領 -> 金大中小統領
0289デフォルトの名無しさん
NGNGを再利用するために int argc の部分を char *t に変えたいのですが
#define で変えるにはどうしたらいいのでしょうか?
文字列だと思って
#define "int argc" "char *t"
とやってみたのですが駄目でした。
0290デフォルトの名無しさん
NGNGとりあえずやめれ。
0291デフォルトの名無しさん
NGNG何をしたいのか、もっとちゃんと書けば、他の回答が得られる
0292デフォルトの名無しさん
NGNGおれさまをだれだとおもっているんだ
ほまれたかき ケツ毛之助というんだ
もんくがあるならかかってこい
0293デフォルトの名無しさん
NGNGargcの部分をchar *tに変えたい
0294デフォルトの名無しさん
NGNGなんで? argcはchar **で固定じゃないか? ポインタの勉強をしてくるべきな気がするが….
0295294
NGNGchar**をintに置き換えてくれ…欝氏
0296デフォルトの名無しさん
NGNGmainを再利用するため
0297294
NGNGこれが分からんのよ. 具体的にはどんな再利用の仕方するの?
# でも絶対そんな使い方は間違ってると思うぞ.
0298デフォルトの名無しさん
NGNG俺に聞かれても困る
俺質問者じゃないから
0299289
NGNGただ、メイン関数を別名関数に移行する手間をできるだけ省きたかったんです。
横着してすいません。
0300デフォルトの名無しさん
NGNG0301デフォルトの名無しさん
NGNGint main(int argc,char *argv[]){
if(argv) printf("%d\n",main(argc,NULL));
else if(argc==0) return 1;
else return argc*main(argc-1,NULL);}
0302デフォルトの名無しさん
NGNG再利用したいmainの中身をほぼ書き写した関数hogeを作る。
int hoge(char*t){
}
それをmainと再利用する関数fで呼ぶ。
main(int, char **v){
hoge(v[1]);
f();
}
f(){
hoge("abc");
}
これじゃだめなのか、っていうか普通mainの中身は最低限しか書かない。
0303302
NGNG>ただ、メイン関数を別名関数に移行する手間をできるだけ省きたかったんです
見逃した。
でも、移行する手間なんて無きに等しいと思うが・・・
むしろmainを再利用しようとする方が>>301のようになって面倒かと。
0304デフォルトの名無しさん
NGNGキミノホウガタダシイ
0305289
NGNGどうもありがとうございました。
0306デフォルトの名無しさん
NGNG0307...
NGNG0309デフォルトの名無しさん
NGNGclass Aとclass Bがあって
Bは、コールバックされる関数(SetTimerとか)を使っていて、
さらにそのコールバックされる関数の中でBのメンバー関数を呼び出したい。
BにAのインスタンスのポインターを持たせればできますが、
1. Bの実装でAに依存しない(class Aのクラス定義を読み込まない)
2. Aをコールバックされる関数を含んだ中傷クラスのサブクラスとしない
という条件で、うまい方法ってないですか?
現状はtemplateを使って(public,private等は省略)
class base {
virtual void operaot()() = 0;
};
template<class T>
class callback : public base
{
typedef void (T::*F)();
callback(T* obj, F func) : o(obj), f(func) {}
void operator()() { return o->*f();
T* o;
F f;
};
とやって、AはBにcallbackのインスタンスを渡すようにしてますが、今市…
0310デフォルトの名無しさん
NGNGa,b,c,dと四則計算(+,-,*/)を使ってeを作る式があれば
全て表示するプログラムをお願いします。。
例えば
1,1,9,9,10なら
9*(1+1/9)=10
0311デフォルトの名無しさん
NGNGデリゲートって知ってるか?
0312デフォルトの名無しさん
NGNG0313デフォルトの名無しさん
NGNGウインドウをつくってください
0314デフォルトの名無しさん
NGNG0315デフォルトの名無しさん
NGNG0316313
NGNGできればソースを教えていただければうれしいでつ
0317デフォルトの名無しさん
NGNG0318デフォルトの名無しさん
NGNGバックトラック法とか?
0319デフォルトの名無しさん
NGNG木を作るのじゃ
0320デフォルトの名無しさん
NGNG猫見れ
0322デフォルトの名無しさん
NGNG実行すれ
0323313
NGNGvoid main()
{
printf("Hello world\n");
return 0;
}
0324デフォルトの名無しさん
NGNG難しい。俺にはできない
0325デフォルトの名無しさん
NGNGvoid
return 0;
ってあんた・・・
0326313
NGNG#include <stdio.h>
void main()
{
printf("Windowsのプログラム\n");
return;
}
でした
0327デフォルトの名無しさん
NGNG#include <stdio.h>
#define LEAF 0
#define PLUS 1
#define MINUS 2
#define TIMES 3
#define DEVIDE 4
#define TTOP 5
#define TLEFT 1
#define TRIGHT 2
#define DIFMIN 0.000001
0328デフォルトの名無しさん
NGNGchar func;
if ( node->function == LEAF ){
printf( "%.0f", node->value);
}else{
bool flag = false;
if ( node->function == PLUS ){
if(pfunc == TIMES || pfunc == DEVIDE || (pfunc == MINUS && ppos == TRIGHT)) flag = true;
func = '+';
} else if (node->function == MINUS) {
if(pfunc == TIMES || pfunc == DEVIDE || (pfunc == MINUS && ppos == TRIGHT)) flag = true;
func = '-';
} else if (node->function == TIMES) {
if(pfunc == DEVIDE && ppos == TRIGHT) flag = true;
func = '*';
} else if (node->function == DEVIDE) {
if(pfunc == DEVIDE && ppos == TRIGHT) flag = true;
func = '/';
}
if(flag) printf("(");
showans(node->left, node->function, TLEFT, e);
printf("%c", func);
showans(node->right, node->function, TLEFT, e);
if(flag) printf(")");
}
if(pfunc == TTOP){
printf("=%d\n", e);
}
}
0329デフォルトの名無しさん
NGNGstruct culctree newlist[4];
int i, j, k, m;
if(n == 1){
double dif = list[0].value - e;
if(dif < DIFMIN && - dif < DIFMIN) showans(&(list[0]), TTOP, TLEFT, e);
return;
}
for(i = 0; i < n; i++){
for(j = 0; j < n; j++){
if( i == j ) continue;
newlist[0].left = &(list[i]);
newlist[0].right = &(list[j]);
m = 1;
for(k = 0; k < n; k++){
if(k != i && k!= j) newlist[m++] = list[k];
}
if ( i < j ) { // 足し算・掛け算は順序関係ないためa + bとb + aを両方検索しない
newlist[0].function = PLUS;
newlist[0].value = newlist[0].left->value + newlist[0].right->value;
findans(newlist, m, e);
newlist[0].function = TIMES;
newlist[0].value = newlist[0].left->value * newlist[0].right->value;
findans(newlist, m, e);
}
0330デフォルトの名無しさん
NGNGnewlist[0].value = newlist[0].left->value - newlist[0].right->value;
findans(newlist, m, e);
if( newlist[0].right->value > DIFMIN || newlist[0].right->value < - DIFMIN) {
newlist[0].function = DEVIDE;
newlist[0].value = newlist[0].left->value / newlist[0].right->value;
findans(newlist, m, e);
}
}
}
}
0331デフォルトの名無しさん
NGNG// a,b,c,d,eの入力
int a,b,c,d,e;
printf("a = ");
scanf("%d", &a);
printf("b = ");
scanf("%d", &b);
printf("c = ");
scanf("%d", &c);
printf("d = ");
scanf("%d", &d);
printf("e = ");
scanf("%d", &e);
struct culctree list[4];
for(int i = 0; i < 4; i++){
list[i].left = NULL;
list[i].right = NULL;
list[i].function = LEAF;
}
list[0].value = a;
list[1].value = b;
list[2].value = c;
list[3].value = d;
findans(list, 4, e);
}
0332デフォルトの名無しさん
NGNG0334デフォルトの名無しさん
NGNG0335デフォルトの名無しさん
NGNG(2*5-7)*3 = 9
(2*(3+5)-7) = 9
((5+7)/2+3) = 9
の3つ。合ってる?
0336デフォルトの名無しさん
NGNG((2*(3+5))-7)
(((2*5)-7)*3)
(3*((2*5)-7))
(3+((5+7)/2))
の4つ。
0337デフォルトの名無しさん
NGNG誰か教えてくれませんか?
宿題できねぇよぉ〜
0338デフォルトの名無しさん
NGNG行列式をもとめるプログラムとCramerの公式を使えば?
0339337
NGNG0340デフォルトの名無しさん
NGNGAの逆行列Bの(i,j)成分は
(j,i)に関するAの小行列式/Aの行列式で求められる。
0341デフォルトの名無しさん
NGNGfor( i=100; i>-=0; i--)
とかで。
0342デフォルトの名無しさん
NGNGそれは逆行列?
0343デフォルトの名無しさん
NGNG計算機向きの逆行列を求めるアルゴリズムは、ガウス・ジョルダン消去法を
応用したアルゴリズムが使われる。
http://www.mscom.or.jp/~tog/anna/INV1.C
0344デフォルトの名無しさん
NGNG#include<stdlib.h>
#include<math.h>
#define Epsilon 10e-11
void main(void);
double Heihoukon( double ); double Rippoukon( double );
double Yonjoukon( double );
void main(void){
long i;
double x,x2,x3,x4;
printf(" x x^(1/2) x^(1/3) x^(1/4) \n\n");
for(i=1;i<101;i++){
x= (double) i; x2 = Heihoukon(x); x3 = Rippoukon(x); x4 = Yonjoukon(x);
printf("%14.10f %14.10f %14.10f %14.10f \n",x,x2,x3,x4);
}
}
double Heihoukon(double x){
double y; y=sqrt(x); return(y);
}
double Rippoukon(double x){
double y; y=3.0*x; return(y);
}
double Yonjoukon(double x){
double y; y=sqrt(x); return(y);
}
平方根、立方根、四乗根を数表に書く問題なんですけど、平方根以外は倍表示されました。
明日までにやらないと出席になりませぬ。。だれか手助けをキボンヌ。
0345デフォルトの名無しさん
NGNGreturn sqrt(sqrt(x));
}
0346337
NGNG0347デフォルトの名無しさん
NGNG立方根もキボンヌ!!
0348デフォルトの名無しさん
NGNGdouble Sanjoukon(double x)
{
return pow(x, 1/3.);
}
0349デフォルトの名無しさん
NGNG>>343見てよ
0350337
NGNG0351デフォルトの名無しさん
NGNGしょうがねえなあ。ほらよ。3×3の逆行列だ。
#include <stdio.h>
int main(void) {
double a[3][3];
int i, j, k;
double p, q;
int c,d;
a[0][0] = 1;
a[0][1] = 1;
a[0][2] = 1;
a[1][0] = 1;
a[1][1] = 2;
a[1][2] = 3;
a[2][0] = 2;
a[2][1] = 4;
a[2][2] = 5;
0352デフォルトの名無しさん
NGNGp = a[k][k];
a[k][k] = 1.0;
for (j = 0; j < 3; j++) a[k][j] /= p;
for (i = 0; i < 3; i++) {
q = a[i][k];
a[i][k] = 0.0;
if (i != k)
for (j = 0; j < 3; j++) a[i][j] -= q * a[k][j];
}
}
for(c=0;c<=2;c++) {
for(d=0;d<=2;d++) {
printf("inv a[%d][%d] = %f\n",c,d,a[c][d]);
}
}
return 0;
}
0353デフォルトの名無しさん
NGNGx=1.0~x=3.0までの真値、近似値及び相対誤差を求めたいのですが、
#include <stdio.h>
#include <math.h>
int main(void)
{
double true,near,x,gosa;
for (x=1.0; x<=3.0; x=x+0.1){
if(x==2.0) continue;
true=exp(2*x);
near=exp(4)*(1+2*(x-2.0)+2*(x-2.0)^2+4/3*(x-2.0)^3);
gosa=((near-true)/true)*100;
printf(" X=%2.1f\n",x);
printf(" 真値=%f\n",true);
printf(" 近似値=%f\n",near);
printf("相対誤差=%3.0f%\n\n",gosa);
}
return 0;
}
と書いたところ、近似値(変数near)を計算するところで
「浮動点小数の不正な使用です。」と出てきてしまいます。
どうすればいいのでしょうか。
0354デフォルトの名無しさん
NGNGC言語にはべき乗の演算子"^"はありません。
関数pow()を使いましょう。
0355デフォルトの名無しさん
NGNGどうもありがとうございます。
ものすごい馬鹿な質問だったようですね・・・
0356デフォルトの名無しさん
NGNGいえいえ初心者の人は誰でも間違うミスです。
恥ずかしいことはないですよん。
0357デフォルトの名無しさん
NGNG初心者初心者ばーか。
0358353
NGNGfor (x=1.0; x<=3.0; x=x+0.1){
if(x==2.0) continue;
・・・・・
}
と書いたんですが、実行してみたら、
x==2.0のときのforループがスキップされないし、
x==3.0の時の処理をしてくれません。
for (x=1.0; x<=3.1; x=x+0.1){・・・
とすると、x==3.0のときの処理がされるのですが・・・
なんかまた勘違いしてそうですがお願いします。
0359デフォルトの名無しさん
NGNG0.1は、二進数で厳密に表現することができないため、誤差が生じる。
ループ変数は整数で管理し、x = i/10 などと固定小数点で計算すべし。
0360353
NGNG0361デフォルトの名無しさん
NGNGhoge_t *hoge;
// giko_tクラスのポインタを取得して、
// giko_tクラスのgetAA()というメソッドを呼ぶのを同時に、
AA *a = hoge->getGiko()->getAA();
とかってできますよね?
class giko_t{
AA* getAA();
}
class hoge_t{
giko_t* getGiko();
}
0362ひよっこプログラマー
NGNGを使っているのですが、
テキストファイルを読み込んで次々に構造体に書き込んで
2分木を作りたいのですが、fopen関数を使って
fp1 = fopen("gakuseidata.txt","r");として読み込もうとしましたが、
error C2040: 'fp1' : 'struct _iobuf ' は 'struct _iobuf *' と間接操作のレベルが異なります。
とでました。
普段LINAXを使っているのですが、今、家に無いのでわかりません。
どこにテキストファイルを置いて、どのような記述で読み込めばいいのか、
伝授してください。
0363デフォルトの名無しさん
NGNGfp1はどういう宣言したんだ?
0364ひよっこプログラマー
NGNGFILE fp1 と・・。
0365デフォルトの名無しさん
NGNGFILE *fp1;
だ。以上。
0366ひよっこプログラマー
NGNGFILE *fp1
ですがダメでした。(゚△゚;)
0367デフォルトの名無しさん
NGNG0368ひよっこプログラマー
NGNGすいません。糞ミスでした。
FILE *fp1,
ってかいてました。
わざわざ、ありがとうございました。
0369デフォルトの名無しさん
NGNGLINAXって便器の名前?
0370デフォルトの名無しさん
NGNG0371デフォルトの名無しさん
NGNG0372デフォルトの名無しさん
NGNG> LINAXって便器の名前?
Laox と Inax の共同開発です。
0373デフォルトの名無しさん
NGNG便器用や浴室周り用のOSのことだろ? え、違うの?
0374デフォルトの名無しさん
NGNG馬鹿ばっかし...。ちゃんとした会社だ。
http://www.linax.com
0375デフォルトの名無しさん
NGNG0376デフォルトの名無しさん
NGNG使えばいいと思います。
0377デフォルトの名無しさん
NGNGってなんか気持ち悪い。
0378デフォルトの名無しさん
NGNG0379375
NGNG>>376
そうでつね
質問の仕方が悪かったね。ごめん
べき乗を求める関数を作りたかったのです
0380375
NGNGlong bekijou(int a, int b) ←のa,bに、2の2乗って感じで数値入力
{
unsigned long total = a;
while(--b>0)total *= a;
return total;
}
これ以外にもっといい方法ありますか?
0381デフォルトの名無しさん
NGNGvoid main();void main();
void main(); void main();
void main(); void main();
void main(); void main();
void main(); void main();
void main(); void main();
void main(); void main();
void main(); void main();
void main(); void main();
void main(); void main();
void main(); void main();
void main(); void main();
void main(); void main();
void main(); void main();
void main();void main();
0382デフォルトの名無しさん
NGNG標準関数にべき乗求める奴がなかったか
0383375
NGNG0384デフォルトの名無しさん
NGNGbekijou(a,0) = a
なのは仕様かね
0385デフォルトの名無しさん
NGNGで、exp()とlog()をテイラー展開しる。
0386デフォルトの名無しさん
NGNG{
unsigned long total = 1;
while(b--)total *= a;
return total;
}
0388デフォルトの名無しさん
NGNGlong n;
n=pow(a,b);
return n;
}
0389デフォルトの名無しさん
NGNGa ^ 0 = 1
aの零乗って意味ね
0390デフォルトの名無しさん
NGNG#include <math.h>
double pow(double,double);
0391デフォルトの名無しさん
NGNGついでに>>380の方法だと整数しか使えない不備もあるので素直にpow()関数使うのがよし
0392375
NGNGツァイチェン
0393デフォルトの名無しさん
NGNG面白くないな。
0394デフォルトの名無しさん
NGNGhttp://alchemist.hp.infoseek.co.jp/
http://y7.net/alchemist
http://gatecity.gaiax.com/home/crossroad/
http://lovemac.gaiax.com/home/crossroad/
http://rimnesia.gaiax.com/home/crossroad/
http://www.globetown.net/~alchemist/
http://www.friend.jp/mypage?id=al-chemy
http://www.geocities.co.jp/Technopolis/1682
0395デフォルトの名無しさん
NGNGyen=pow(yen,2);
return(yen);
}
0396中三てぃもーる
NGNG0397デフォルトの名無しさん
NGNGreturn yen * yen;
}
0398デフォルトの名無しさん
NGNGそのレスにその関数を書けばレス数が節約できたのに。
オレモカー
0399デフォルトの名無しさん
NGNG(((( ;゚Д゚)))ガクガクブルブル
0400デフォルトの名無しさん
NGNGdouble futsuu_yokin(double yen){
return pow(yen, 1.00001);
}
0401デフォルトの名無しさん
NGNG0402中三てぃもーる
NGNG0403デフォルトの名無しさん
NGNG0404中三てぃもーる
NGNG0405デフォルトの名無しさん
NGNGdouble heihoukon(double val){
return sqrt(val);
}
0406デフォルトの名無しさん
NGNG0408デフォルトの名無しさん
NGNG{
double s, last;
if (x > 0) {
if (x > 1) s = x; else s = 1;
do {
last = s; s = (x / s + s) / 2;
} while (s < last);
return last;
}
if (x != 0) fprintf(stderr, "mysqrt: domain error\n");
return 0;
}
自家製 sqrt()
0410デフォルトの名無しさん
NGNGいま円周率を50桁ぐらいまで計算するプログラムを作っています。
計算式が(長いけどすみません)
3+1/(7+1/(15+1/(1+1/(292+1/(1+1/(1+1/(1+1/(2+1/(1+1/(3+1/
(1+1/(14+1/(2+1/(1+1/(1+1/(2+1/(2+1/(2+1/(2+1/(1+1/(84+1/
(2+1/(1+1/(1+1/(15+1/(3+1/(13+1/(1+1/(4+1/(2+1/(6+1/(6+1/99
))))))))))))))))))))))))))))))))というように繁分数になるのですが
long doubleでは桁数に限界があって計算できません。
これを回避する方法を教えてください。
よろしくお願いします
0411デフォルトの名無しさん
NGNG多倍長演算クラスを自作しれ。
0412デフォルトの名無しさん
NGNG0413410
NGNGまだはじめたばかりでよくわからないんですけど、
処理の概念だけでも教えていただけないでしょうか?
0414デフォルトの名無しさん
NGNGウザイから、マルチヤメレ。
***すれ立てるまでもない質問はここで 第23刷***
http://pc3.2ch.net/test/read.cgi/tech/1034088067/381
0415ちょいと質問
NGNG3つ以上のプロセスをパイプで結ぶプログラムをC言語で
答えてくれるとありがたいです。
0416デフォルトの名無しさん
NGNG3つ以上のプロセスをパイプで結ぶことのできる OS をまず用意しろ。
0417ひよっこプログラマー
NGNGData data;
seito *r;
seito *l;
}seito;
error C2061: 構文エラー : 識別子 'seito' がシンタックスエラーを起こしました。
シンタックスエラーっちなんだーー?
助けてクレーー。
0418manko_chinko ◆GLc2rpKRNM
NGNGData data;
seito_x *r;
seito_x *l;
}seito;
0419デフォルトの名無しさん
NGNGシンタックスエラー=構文エラー
0420デフォルトの名無しさん
NGNGData data;
struct seito_x *r;
struct seito_x *l;
}seito;
0421manko_chinko ◆GLc2rpKRNM
NGNG0422ひよっこプログラマー
NGNGだめでした・・・。(泣)
0423manko_chinko ◆GLc2rpKRNM
NGNG420のが正しいです
0424ひよっこプログラマー
NGNGありがとうございました!!
0425デフォルトの名無しさん
NGNGstruct seito_ {
Data data;
seito *r;
seito *l;
};
0426デフォルトの名無しさん
NGNG3000バイトの文字列に2700バイト目の後ろに、8バイト文字列
を追加するという宿題が出ています。
まず、1〜2700バイト目を文字列から抜き出したいのですが、
VBでいうmidみたいな関数ってありますか?
宜しくお願いします。
0427デフォルトの名無しさん
NGNG> 3000バイトの文字列に2700バイト目の後ろに、8バイト文字列
> を追加するという宿題が出ています。
まず、日本語を勉強しろよ。
0428デフォルトの名無しさん
NGNGcharの配列だったら、文字列について勉強しなおしましょう。
0429デフォルトの名無しさん
NGNG0430デフォルトの名無しさん
NGNGこのプログラムを作って下さい
丸投げですみませんが教えて下さい。
0431デフォルトの名無しさん
NGNGべ〜。
0432デフォルトの名無しさん
NGNGで、どこまで与えられてるわけ?
0433デフォルトの名無しさん
NGNG0f 22 c0
0434デフォルトの名無しさん
NGNGこのあたりでこのすれは終わる
0435デフォルトの名無しさん
NGNGpublic: void f() { cout << "Base method." << endl; }};
class Sub : public Base {
public: void g() { cout << "Sub method." << endl; }};
int main() {
Base *b = new Sub;
b->f();
b = (Sub*)b;
b->g(); // コンパイルエラー Base::g()は無い
// ((Sub*)b)->g(); ok。でも面倒
return 0;
}
Subクラスに存在するgを呼びたいのですが、ダウンキャストってどーやるんですか?
b = (Sub*)b; じゃだめなんですか?
0436デフォルトの名無しさん
NGNGvoid hoge( char* buf, char* org, char* eight ) {
char c = org[2700];
org[2700] = 0;
sprintf(buf,"%s%s%c%s",org,eight,c,org+2701 )
}
0437デフォルトの名無しさん
NGNG>// ((Sub*)b)->g(); ok。でも面倒
あなたの書いた、これがダウンキャスト。
そんなに面倒か?たいしたことないと思うが。
どうしてもアレなら、
Sub* x = (Sub*)b;
x -> g();
って書いたっていいけど、そもそもなぜスーパークラスへのポインタで
そのオブジェクトを指すようにしたのか、その理由を思い出せ。
0438デフォルトの名無しさん
NGNGポインタで連結リストを作ってそこに"浮動小数点"を
挿入することはできますか?
0439デフォルトの名無しさん
NGNGリストを構成する構造体のメンバーにdoubleかfloatを加えればできるだろ。
0440デフォルトの名無しさん
NGNGインラインアセンブラ使わなくちゃできないのでは・・・
0441_
NGNG今勉強中です。
お願いします。
0442デフォルトの名無しさん
NGNG具体例をお願いします。
0443デフォルトの名無しさん
NGNGdouble foo;
struct Hoge *next;
};
0444デフォルトの名無しさん
NGNGうまくいきません。
具体的なソースで書いていただけないでしょうか。お願いします。
0445デフォルトの名無しさん
NGNG0447デフォルトの名無しさん
NGNG表示くらいはできるの?
int ch;
while ((ch = getchar()) != EOF) {
putchar(ch);
}
0448444
NGNGfprintfでの表示もうまくいかないんです・・・
0449デフォルトの名無しさん
NGNGstd::ifstream ifs("hogehoge.txt");
if (!ifs)
{
std::cerr << "ファイルが開かネーヨ" << std::endl;
return 1;
}
char buf[1024];
ifs.width(sizeof(buf));
ifs >> buf;
0450デフォルトの名無しさん
NGNG0451444
NGNG0452デフォルトの名無しさん
NGNGFILE* p = fopen("text", "rt");
while (fgets(buf, sizeof(buf), p)) fputs(buf);
fclose(p);
0453デフォルトの名無しさん
NGNG0454デフォルトの名無しさん
NGNG0455ひよっこプログラマー
NGNGchar sei[10];
char namae[10];
int sex;
int gakuseki;
}Data;
typedef struct seito_x {
Data data;
struct seito_x *right;
struct seito_x *left;
}seito;
この構造体で2分木をつくっているのですが、
mallocで動的にメモリを確保したあと、
scanf("%c",wkdata->data.gakuseki);
で、数字を挿入したのですが、
プログラム実行中にエラーがでて、
上手くいきません。
構造体のint型に数字をいれるのに
scanfをつかうのは問題があるのでしょうか?
ちなみに、データをいれる構造体は、
mallocでメモリを確保してポインタにアドレスを持たせたものです。
0456デフォルトの名無しさん
NGNG0457デフォルトの名無しさん
NGNG0458デフォルトの名無しさん
NGNGscanf("%c",&(wkdata->data.gakuseki));
0459デフォルトの名無しさん
NGNG0460デフォルトの名無しさん
NGNG"%c" --> int gakuseki の方は指摘しなくていいのか ?
0462デフォルトの名無しさん
NGNG>>454
0463デフォルトの名無しさん
NGNGソース見せれ。
そのほうが早く解決する。
0464444
NGNGFILE *fp1,fp2;
int i,ii,iii=0,j,jj;
char I[BUF_SIZE],M[BUF_SIZE],E[BUF_SIZE];
fp1=fopen("DATA.txt","r");
char line[BUF_SIZE];
while(1){
if( fgets(line,sizeof(line),fp1) == NULL ) break;
line[strlen(line)-1] = '\0';
if( line[0] == '>' ){
I[i] = line[i];
}
if( line[0] == '>>' ){
M[ii] = line[ii];
}
if( line[0] == '>>>' ){
E[iii] = line[iii];
}
0465ひよっこプログラマー
NGNG問題は無いはずなのですが、ちなみに
printf("sei= ");
scanf("%s",wkdata->data.sei);
として、文字列を入れても問題は無くて、数字にした瞬間、
実行エラーなのですが・・・。
0466デフォルトの名無しさん
NGNGFILE *fp1;
FILE fp2;
に解釈されなかった?
0467デフォルトの名無しさん
NGNGこれはなんですか?これは。
FILE* fp1, * fp2;
0468デフォルトの名無しさん
NGNG文字列はポインタとして扱われるんじゃない?
0469デフォルトの名無しさん
NGNGM[ii] = line[ii];
}
if( line[0] == '>>>' ){
E[iii] = line[iii];
}
これも意味分からん。
0470444
NGNGテキストデータの中で『>』があったら、I[]に、『>>』があったらM[]に、
『>>>』があったらE[]に入れたいんです・・・
分かりにくくてすみません・・・
0471デフォルトの名無しさん
NGNG>アドレスを渡さなくてもwkdata自体はポインタなので、
>問題は無いはずなのですが
構造体のポインタについて勉強し直すことをすすめる
0472ひよっこプログラマー
NGNGこれの意味はメモリを確保して、そのアドレスを
wkdataのポインタにわたしているんですよね?
0473デフォルトの名無しさん
NGNGstrcpy等を使うべきでは。
iとかiiやiiiの意味がわからん。
0474デフォルトの名無しさん
NGNGしかし、gakusekiは実体だよな。うん。
0475デフォルトの名無しさん
NGNGint型の値がxに代入されるよね。
例えばwkdata->data.gakusekiが100だったら
scanf("%c", wkdata->data.gakuseki);は
scanf("%c", 100);ってやるのと同じこと。
0476デフォルトの名無しさん
NGNGそこまではヨシとして、
wkdata->data.sei
↑は配列の先頭アドレスを示す
wkdata->data.sei[0]
↑は配列の先頭要素の値を示す
wkdata->gakuseki
↑はgakusekiの値を示す
で分かる?
0477ひよっこプログラマー
NGNGしかし、gakusekiは
//データの宣言
typedef struct{
char sei[10];
char namae[10];
int sex;
int gakuseki;
}Data;
//個人情報の構造体宣言
typedef struct seito_x {
Data data;
struct seito_x *right;
struct seito_x *left;
}seito;
この入れ子の構造体なので、
wkdata->data.gakuseki
なのでは?
0478デフォルトの名無しさん
NGNGも変に思うんだが、\0で終わってなかったら
strlenは使えなかったと思う。
0479デフォルトの名無しさん
NGNGint型の変数をchar型へキャストすると
変換された変数は、もともとint型だった時の下位8ビット分だけ抜き取られて
char型になるんですか?
0480デフォルトの名無しさん
NGNG0482476
NGNG○wkdata->data.gakuseki
↑はgakusekiの値を示す
0483ひよっこプログラマー
NGNGとりあえず、また、がんばってみます。
0484444
NGNG要するにテキストデータの中で『>』があったら、I[]に、
『>>』があったらM[]に、 『>>>』があったらE[]に入れたいんですが、
何使ってもいいんで、具体例書いてもらえないでしょうか?
0485デフォルトの名無しさん
NGNGCには文字列型というのは無いよ。
0486デフォルトの名無しさん
NGNGFILE *fp1;
int i,ii,iii=0,j,jj;
char I[BUF_SIZE],M[BUF_SIZE],E[BUF_SIZE];
fp1=fopen("DATA.txt","r");
char line[BUF_SIZE];
while( fgets(line,sizeof(line),fp1) != NULL ) {
char *s = line;
line[strlen(line)-1] = '\0';
if( *s++ == '>' ){
if (*s++ != '>') {
strcpy(I, line);
} else if (*s++ != '>') {
strcpy(M, line);
} else {
strcpy(E, line);
}
}
この続きはどうなってるの?
0487デフォルトの名無しさん
NGNGchar I[BUF_SIZE],M[BUF_SIZE],E[BUF_SIZE];
fp1=fopen("DATA.txt","r");
char line[BUF_SIZE];
while(fgets(line,sizeof(line),fp1)){
char* pdest = (line[0] == '>') ? I : (!strncmp(line, ">>", 2)) ? M : (!strncmp(line, ">>>", 3) ? E : NULL;
if (pdest) strncpy(pdest, line, BUFSIZE);
}
0488444
NGNGあ・・・なんかC++とCがかなりごっちゃになってますね・・・すいません。
>>486
IとMとEの配列の長さ(文字数)を測り、その数値を使って計算したいんです。
計算式はちょっとかけないのですが・・・
ところで、予期せぬEOFが検出されました、と出るのですが・・・
さいきん、なぜかこのエラーが多い・・・
0489デフォルトの名無しさん
NGNGってあったときに
IとM両方にいれるの?
Mだけ?
0490デフォルトの名無しさん
NGNGじゃあもう自分でやれよ。
0491デフォルトの名無しさん
NGNG0493デフォルトの名無しさん
NGNGなんてしてないことを祈る。
0494デフォルトの名無しさん
NGNG>aa>>if>>>kk>a>>>adaf>>fad>>d>>> > >>ad>f
ファイルの中身はこんな感じなの?
0495デフォルトの名無しさん
NGNGstd::ostringstream
使えや!ヽ(`Д´)ノ
文字列処理(゚Д゚)ウマー
0496デフォルトの名無しさん
NGNG0497444
NGNGなんとか、思うように出来ました。ありがとうございました。
0498じょ
NGNGC言の宿題で、行列の諸計算を行うプログラムを書け、というのがあって、
計算自体はできたんですがよくよく課題を見てみると
「・・・を表示し、また同時にファイルに出力する。」
みたいな事が書いてありまして。
さすがにそこら中のprintfを同じ内容の
printfとfprintf2行に書くのはどうかと思い
define使って1行にしようと思ったのですが、
引数がいくつでもいいprintfをdefineに組み込むのが
どうしてもうまくできません。とりあえず今はしょうがなく
#define printf1(a) printf(a), fprintf(fp,a)
#define printf2(a,b) printf(a,b), fprintf(fp,a,b)
#define printf3(a,b,c) printf(a,b,c), fprintf(fp,a,b,c)
・・・(以下略)
としてますが、もっとうまくやる方法を探しています。
だいいち、マクロ名を何個も用意するのは気が進みません
(マクロ内に変数(ファイルポインタ)を直接書くのもどうかと思いますが)。
前にどこかで見かけたモノで、myprintf((式))のように
括弧を2重にするような記述方法があったような気がするんですが
探しても見つかりません。どなたかぐっとくるような回答をお願いします。
0499デフォルトの名無しさん
NGNGdefineじゃなくて関数にすれば?
0500デフォルトの名無しさん
NGNG0501デフォルトの名無しさん
NGNG{
int n;
va_list arg;
va_start(arg, fmt)
vprintf(fmt, arg);
n = vfprintf(fp, fmt, arg);
va_end(arg);
return n;
}
0502じょ
NGNGそれぞれをprintfとfprintfに渡す、ということですか?
それも少し考えたのですが、受け取る型が決まってないので
printfのように文字列を見ていって型を変えるのがどうも。。。
それとも関数を使ったもっとスマートな方法があるのでしょうか
(面倒くさがりやですみません)
0503じょ
NGNGすばやい回答、ありがとうございます。早速試してみます。
0504デフォルトの名無しさん
NGNG0505じょ
NGNGvprintfの存在に気づきませんでした(涙
これでレポート出せます。どもありがとうございました。
0506ひよっこプログラマー
NGNGint型の数字として変換できませんか?もしくは、文字列としてでは無く、
数字として読み込む方法なんてありますか?ちなみに、テキストファイルを
読み込んでおります。
0507デフォルトの名無しさん
NGNG0508デフォルトの名無しさん
NGNGfgets() と atoi() を調べること。
0509デフォルトの名無しさん
NGNGsscanf(str, "%f", &x);
0510ひよっこプログラマー
NGNGakasatana kakikukeko 13330 aiueo
とテキストにある場合一行全部読み込んでしまうので。。。
sscanf(str, "%f", &x); これは?し、知らない。
0511デフォルトの名無しさん
NGNG0512デフォルトの名無しさん
NGNG数字の部分を切り取って渡せば変換するってことなんだけど。
0513ひよっこプログラマー
NGNGまた試行錯誤してみます。
0514デフォルトの名無しさん
NGNG0515デフォルトの名無しさん
NGNG0516515
NGNG0517デフォルトの名無しさん
NGNGループの中で使用してるんですがspがファイルの終端を越えたときに
ループを抜けるようにするにはどのようなループを組めばいいのでしょうか?
0518デフォルトの名無しさん
NGNGint sp, en;
fseek(fp,0,SEEK_END);
en = ftell(fp);
for(sp = 0; sp < en; ) { ...fseekを含む処理... }
0519デフォルトの名無しさん
NGNGftellなんて物があったのですね
有難うございます 今日少しでも寝れそうです
0521デフォルトの名無しさん
NGNG今Linuxでxpm画像を読み込んで画面に表示し、
表示した画像から目的の色の座標を取得するという課題をやっています。
HPや本を調べて画像表示部分はできたのですが、
ここから先がうまくいきません・・・
Gtk,Gdkを使用しています。
担当教授からは解析用の関数があると聞かされたのですが・・・
ここから先をどのようにすればよいかご教授願えないでしょうか?
よろしくお願いしますm(_ _m
0522デフォルトの名無しさん
NGNG#include <gtk/gtk.h>
int main(int argc, char *argv[]){
GtkWidget *window;
GtkStyle *style;
GdkPixmap *pixmap;
GdkPixmap *mask;
GtkWidget *pixmapwid;
gtk_init(&argc, &argv);
window=gtk_window_new(GTK_WINDOW_TOPLEVEL);
gtk_signal_connect(GTK_OBJECT(window), "destroy", GTK_SIGNAL_FUNC(gtk_main_quit), NULL);
style=gtk_widget_get_style(window);
pixmap=gdk_pixmap_create_from_xpm(window->window, &mask, &style->bg[GTK_STATE_NORMAL], "ファイル名");
pixmapwid=gtk_pixmap_new(pixmap, mask);
gtk_container_add(GTK_CONTAINER(window), pixmapwid);
gtk_widget_show(pixmapwid);
gtk_widget_show(window);
gtk_main();
return 0;
}
0523
NGNGfpos_t じゃなかったっけ。。
0524名無しさん@XEmacs
NGNG目的の色ってのはどこから入力するの?出力は?
xpmファイルは普通のテキストファイルなので、その気になれば自前で解析関数作れると思いますが......
とりあえず、GTK or GDK の Reference Manual を参照してはどうですか?
0525521
NGNG色の入力は実行時にキーボードから入力できるようにしたいです。
出力はX Y座標を変数にでも入れて、その座標を表示さえできれば・・・
最終目標がロボカップ(ロボットにサッカーをさせる)なんですが、
最終的には7色を識別(ロボット3対3+ボール)できるようにしたいのです。
このXY座標によって作戦みたいな感じでやりたいと思ってます・・・
0526524
NGNGええと......とりあえず Reference Manual は読みましたか?
私も Gtk+ 詳しいわけじゃないので分かりませんが、GdkImage あたりが怪しいのではないでしょうか?
0527デフォルトの名無しさん
NGNGつーか、関数教えてやれよ。
0528521
NGNGReference Manual をみてもよくわかんないんです・・・
GdkImageって
http://developer.gnome.org/doc/API/gdk/gdk-images.html#GDKIMAGE
のことですよね?
これをどう使えばいいのかわからんですよ・・・
0529524
NGNGとりあえず、GdkImage 作成して、そこに目的の Pixmap 描画して
gdk_image_get_pixel() でどうでしょうか?
これが最良の方法か分かりませんが(それ以前にできるかどうか試してませんが)
0530521
NGNG自宅にLinux環境がなくてためせないんで、
明日試してみたいと思います〜
0531デフォルトの名無しさん
NGNGこれで合ってますか?改善する点があるとすればどこでしょうか?
#include <stdio.h>
#include <stdlib.h>
int main(int argc, char *argv[])
{
FILE *fp1, *fp2;
int c;
fp1 = fopen(argv[1], "r");
if (fp1 == NULL) {
printf("Error!!\n");
exit(1);
}
fp2 = fopen(argv[2], "w");
if (fp1 == NULL) {
printf("Error!!\n");
exit(1);
}
while ((c = fgetc(fp1)) != EOF) {
fputc(c, fp2);
}
fclose(fp1);
fclose(fp2);
return 0;
}
0532デフォルトの名無しさん
NGNGWindowsだとバイナリファイルのコピーがうまくいかない。
0533デフォルトの名無しさん
NGNGバイナリファイルとテキストファイルの判定は、
どのように行えばいいのでしょうか?
0534デフォルトの名無しさん
NGNG一般にはできないので、全部バイナリファイルとしてコピーすればよい。
0535デフォルトの名無しさん
NGNG分かりました。コード改良します。
0536表象文化論専攻
NGNG0537デフォルトの名無しさん
NGNGあっそう
0538デフォルトの名無しさん
NGNGおまえがやりたいのはレジストリなのかシェルなのかはっきりしろ。
やりたいって、やればいいのでは。できるよ。どうなってもしらんが。
0539デフォルトの名無しさん
NGNGwin用
#include<stdio.h>
int main(int argc,char *argv[])
{
char s[BUF_SIZ];
sprintf(s,"copy %s %s",argv[1],argv[2]);
system(s);
return 0;
}
0540デフォルトの名無しさん
NGNG・バッファオーバーフローの可能性がある
・argcが1や2だった場合を考慮してない
70点
0541デフォルトの名無しさん
NGNGバイナリファイルは copy /b じゃないの?
0542デフォルトの名無しさん
NGNG0543デフォルトの名無しさん
NGNGctrl+zコードが残ったままになってまずいのか。
0544デフォルトの名無しさん
NGNGさすが Bill Gates 天才だね!!
>> CRLF コードが LF コードに
>> ctrl+z コードが残って
0545デフォルトの名無しさん
NGNGCP/M時代からの遺物だと思われ。
0546デフォルトの名無しさん
NGNG「DOSのパスにバックスラッシュを使うことにした人」
「バックスラッシュに¥を割り当てた人」
「JISキーボードの0の上の~・ポンド・セント・々などを取っちゃダメって決めた人」
の名前を教えてください。
0547デフォルトの名無しさん
NGNG一番上のは(恐らく)ジョブスって人です。
0548デフォルトの名無しさん
NGNGsplit(char*out, const char*in, char delim);
という形で。delimは'\t'とか、','とか1文字が入るという感じで。
ほんとは正規表現使いたいけど、それを実装するのは面倒そう。
0549デフォルトの名無しさん
NGNG0550デフォルトの名無しさん
NGNG0551548
NGNGstrtokを調べてみました。
自分のやりたいことはこれで済みますね。
どうもありがとうございました。
0552デフォルトの名無しさん
NGNG配列に入っている整数の最小数を探し出して
その要素が何番目なのかをプリントアウトしないといけないのですが
どうしたらいいのでしょうか。
最小数は探し出してプリントアウトできたのですが。
よろしくお願いします。
0553デフォルトの名無しさん
NGNG> 最小数は探し出してプリントアウトできたのですが。
探し出した時に、その添え字を覚えておけばいいとおもうけど...。
0554デフォルトの名無しさん
NGNG回答ありがとうございます。
ちょっと説明不足と言いますか
質問が的確じゃなかったと思います。すみません。
具体的に言えば、下の関数の中で
最小数の添字をelemとして返そうとしているのですが
どうしてもelemの値はゼロになってしまいます。
正しく最少数の添字を返すにはどうしたら良いのでしょう。
よろしくお願いします。
ポインタ、関数は課題としてつかわなければならないので使っています。
int returnSmallestElement(int array[]){
int i,*ptrOne,*ptrTwo,elem=0;
ptrOne=&array[0];
for(i=1;i<SIZE;i++){
ptrTwo=&array[i];
if(*ptrOne>*ptrTwo){
elem=i;
*ptrOne=*ptrTwo;
}
}
return elem;
}
0555デフォルトの名無しさん
NGNG間違ってなさそうだが...。(VC++ 6.0 ならちゃんと動いたぞ。)
ただ、そのプログラムだと array[0] が壊されるようだが、それはいいのか ?
0556デフォルトの名無しさん
NGNG回答ありがとうございます。
Dev-C++使ってるんですが
Elemが0になっちゃいます....
どうしたらいいんだろう。
0558デフォルトの名無しさん
NGNGminimum = returnSmallestElement(array);
としてる?
単に
elem=0;
としてあるが、arrayに正の数しか入っていなくて、比べた時に
0 が 一 番 小 さ い
とかか?
0559デフォルトの名無しさん
NGNG( `Д) <int returnSmallestElement(int array[],int *index);
/(ヘ つ )ヘ とでもして、最小のインデックスを返したら?
それから、なぜ最小値の候補にarray[0]を使うの?
それようの変数を別に用意したら?
0560デフォルトの名無しさん
NGNG/(ヘ つ )ヘ
0561デフォルトの名無しさん
NGNG/(ヘ э )ヘ
0562デフォルトの名無しさん
NGNGやらないとならないのですが****のとこだけ十進で
計算して(a=8000-6Xといった風に。)あとで0xを頭につけて
渡してやるためにはどのように記述すればよいでしょうか。
よろしくおねがいします。
0563デフォルトの名無しさん
NGNG*ptrOne,*ptrTwo
の中の値が保持されてないんじゃないの?
内部で宣言しているし・・・
0564デフォルトの名無しさん
NGNGだったら、
char buf[BUFFER_SIZE];
sprintf(buf, "0x%x", a);
みたいに。文字列に直してからそれを送れば。
0565デフォルトの名無しさん
NGNG/(ヘ つ )ヘ あと、a=8000-6Xってどういう意味?
0566563
NGNGelemでアドレスが返って、
minimum = returnSmallestElement(array);(お借りします。)
として、
printf("adress=%d,minimum_no=%d",minimum,array[minimum]);
これでよくない?
0567562です
NGNG>>564,>>565さん
文字列ではなく関数マニュアルではロングとあります。
今現在は
BOOL sts = m_vcc4a.SetPTAngle2( 0L,0x8080, 0x8000);
って感じでそのまま書いて渡してます。初心者丸出しですみません・・
0568デフォルトの名無しさん
NGNGか?
0569562です
NGNG画像処理をして、その結果により変数Xの値を決めて
0x8000 -> 0x8012 といった風に変えたいのです。
0570562です
NGNG0571562です
NGNGBOOL sts = m_vcc4a.SetPTAngle2( 0L,0x8000+0x2, 0x8000);
で無事通りました・・・お騒がせしました。みなさんありがとうございます。
0572562です
NGNG0573!1
NGNG0574デフォルトの名無しさん
NGNG0575Zetton
NGNGプログラムなんですが・・・
/* 入力されたファイルを画面に表示するプログラム */
#include<stdio.h>
main()
{
FILE * fp ;
char *p ;
char str [ 500 ] ;
char fname [ 100 ] ;
puts ( "ファイル名を入力してください。" ) ;
gets ( fname ) ;
fp = fopen ( fname , "r" ) ;
p = fgets ( str , 500 , fp ) ;
/*ここなんですが、pとstrには何が入ったんでしょうか?*/
/*while文の処理がわかんないんです。*/
/*いろいろ検索したんですが、リファレンスが難しくて・・*/
/*お願いします。*/
while ( p != NULL)
{
printf( "%s" , str ) ;
p = fgets ( str , 500 , fp ) ;
}
fclose ( fp ) ;
}
0576デフォルトの名無しさん
NGNGstr には fnameのファイルの最初から500-1文字が入る。
途中に改行があったらそこで終わる。
pにはstrもしくはファイルが終わってたらNULLが入る。
0577Zetton
NGNG0578Cビギナー
NGNGグラフ表示の方式はソースをみて下さい。
/* 単純法 */
#include <stdio.h>
#include <stdlib.h>
#define INF 1000000
#define malloc_e(t, n)(t*)malloc_e_void((unsigned)(sizeof(t)*(n)))
/* struct edge 型の定義 */
struct edge{
int d;
int end1, end2;
};
/* struct graph 型の定義 */
struct graph{
int width; /* drawgraphでグラフを描画するときに横に並ぶ節点の個数 */
int n; /* 節点数 */
int m; /* 枝数 */
struct edge *E;
};
/* エラーチェック付き malloc; 返り値は void* 型 */
void*
malloc_e_void(size_t size) {
void *ptr = malloc(size);
if (!ptr) {
fprintf(stderr, "malloc : Not enough memory.\n" );
exit(EXIT_FAILURE);
}
return ptr;
}
0579続き
NGNGvoid read(struct graph *gp){
int e;
fscanf(stdin, "%d %d %d", &gp->width, &gp->n, &gp->m);
gp->E = malloc_e(struct edge, gp->m);
for (e = 0 ; e < gp->m; e++){
fscanf(stdin, "%d %d %d", &gp->E[e].d, &gp->E[e].end1, &gp->E[e].end2);
if(gp->E[e].d >= INF){
fprintf(stderr, "ERROR: the cost of the edge %d->%d is too large!\n",
gp->E[e].end1, gp->E[e].end2);
exit(EXIT_FAILURE);
}
}
}
/* drawgraph.tcl 用グラフ定義の出力 */
void
write(struct graph *gp, int source){
int e;
printf("### graph definition\n");
printf("begingraph\n");
printf("width %d\n", gp->width);
printf("nodenum %d\n", gp->n);
printf("edgenum %d\n", gp->m);
printf("source %d\n", source);
printf("nodestart 0\n");
printf("# edges\n");
for (e = 0; e < gp->m; e++){
printf("edge %d %d %d\n", gp->E[e].d, gp->E[e].end1, gp->E[e].end2);
}
printf("endgraph\n###\n");
}
0580続き
NGNGint
main(int argc, char *argv[]){
int v, e, k, source;
int **label;
int *prev;
struct graph g;
/* source: 実行時,引数を省略すれば 0 */
if (argc > 1) source = atoi(argv[1]);
else source = 0;
/* データの読み込み & メモリ確保 */
read(&g);
if (source < 0 || source >= g.n){
fprintf(stderr, "ERROR: invalid source number.\n");
exit(EXIT_FAILURE);
}
/* drawgraph.tcl 用グラフ定義部分の出力 */
write(&g, source);
/* malloc for label[][], prev[] */
label = malloc_e(int*, g.n);
for (v = 0; v < g.n; v++) label[v] = malloc_e(int, g.n+1);
prev = malloc_e(int, g.n);
/* 初期化: label[][] and prev[] */
for (v = 0; v < g.n; v++){
label[v][0] = INF;
prev[v] = -1;
}
label[source][0] = 0;
0581続き
NGNGcalculated, whose value means the shortest path length using at most
k edges from the source.*/
k = 1;
while(1){
for(v = 0; v < g.n; v++) label[v][k] = label[v][k-1];
printf("step # k = %d\n", k);
for(v = 0; v < g.n; v++){
printf("label %d %d\n", v, label[v][k]);
printf("colornode %d white\n", v);
if (prev[v] >= 0) printf("coloredge %d %d red\n", v, prev[v]);
}
printf("step\n");
for(e = 0; e < g.m; e++){
int flag = (prev[g.E[e].end1] == g.E[e].end2 ||
prev[g.E[e].end2] == g.E[e].end1);
if (flag) printf("coloredge %d %d pink\n", g.E[e].end1, g.E[e].end2);
else printf("coloredge %d %d grey\n", g.E[e].end1, g.E[e].end2);
printf("step\n");
0582続き
NGNGif(label[g.E[e].end2][k] > label[g.E[e].end1][k-1] + g.E[e].d){
label[g.E[e].end2][k] = label[g.E[e].end1][k-1] + g.E[e].d;
printf("colornode %d red\n", g.E[e].end2);
if (prev[g.E[e].end2] >= 0){
printf("coloredge %d %d black\n", prev[g.E[e].end2], g.E[e].end2);
}
prev[g.E[e].end2] = g.E[e].end1;
flag = 2;
}
/* the case end2->end1 */
if(label[g.E[e].end1][k] > label[g.E[e].end2][k-1] + g.E[e].d){
label[g.E[e].end1][k] = label[g.E[e].end2][k-1] + g.E[e].d;
printf("colornode %d red\n", g.E[e].end1);
if (prev[g.E[e].end1] >= 0){
printf("coloredge %d %d black\n", prev[g.E[e].end1], g.E[e].end1);
}
prev[g.E[e].end1] = g.E[e].end2;
flag = 2;
}
if (flag == 0){
printf("coloredge %d %d black\n", g.E[e].end1, g.E[e].end2);
}
else if (flag == 1){
printf("coloredge %d %d red\n", g.E[e].end1, g.E[e].end2);
}
else {
printf("coloredge %d %d orange\n", g.E[e].end1, g.E[e].end2);
}
}
0583続き
NGNGfor (v = 0; v < g.n; v++){
if(label[v][k] != label[v][k-1]) break;
}
if (v == g.n) break; /* label[v][k] == label[v][k-1], for all v */
if (k == g.n){
printf("there exists a negative cycle in the input graph.\n");
printf("cannot construct the shortest path tree.\n");
exit(EXIT_SUCCESS);
}
k++;
}
printf("end\n");
/* 最短路の出力 */
for(v = 0; v < g.n; v++){
int curr = v;
printf("# ");
while( prev[curr] != -1 ){
printf("%d <-- ", curr);
curr = prev[curr];
}
printf("%d (length = %d)\n", source, label[v][k]);
}
exit(EXIT_SUCCESS);
}
0584ちなみに自分でここまではしました。
NGNG#include <stdio.h>
#include <stdlib.h>
#define INF 1000000
#define malloc_e(t, n) (t*)malloc_e_void((unsigned)(sizeof(t)*(n)))
/* struct edge 型の定義 */
struct edge{
int d;
int end1, end2;
};
/* struct graph 型の定義 */
struct graph{
int width; /* drawgraphでグラフを描画するときに横に並ぶ節点の個数 */
int n; /* 節点数 */
int m; /* 枝数 */
struct edge *E;
};
/* エラーチェック付き malloc; 返り値は void* 型 */
void*
malloc_e_void(size_t size) {
void *ptr = malloc(size);
if (!ptr) {
fprintf(stderr, "malloc : Not enough memory.\n" );
exit(EXIT_FAILURE);
}
return ptr;
}
0585続き
NGNGvoid read(struct graph *gp){
int e;
fscanf(stdin, "%d %d %d", &gp->width, &gp->n, &gp->m);
gp->E = malloc_e(struct edge, gp->m);
for (e = 0 ; e < gp->m; e++){
fscanf(stdin, "%d %d %d", &gp->E[e].d, &gp->E[e].end1, &gp->E[e].end2);
if(gp->E[e].d >= INF){
fprintf(stderr, "ERROR: the cost of the edge %d->%d is too large!\n",
gp->E[e].end1, gp->E[e].end2);
exit(EXIT_FAILURE);
}
}
}
/* drawgraph.tcl 用グラフ定義の出力 */
void
write(struct graph *gp, int source){
int e;
printf("### graph definition\n");
printf("begingraph\n");
printf("width %d\n", gp->width);
printf("nodenum %d\n", gp->n);
printf("edgenum %d\n", gp->m);
printf("source %d\n", source);
printf("nodestart 0\n");
printf("# edges\n");
for (e = 0; e < gp->m; e++){
printf("edge %d %d %d\n", gp->E[e].d, gp->E[e].end1, gp->E[e].end2);
}
printf("endgraph\n###\n");
}
0586続き
NGNGint
main(int argc, char *argv[]){
int v, e, min, u, source , Pnum ;
int *label ;
int *prev ;
int **Bwidth ;
int *P ; /* uがpの要素ならp[u]==1,そうでなければ0 */
struct graph g ;
/* source 実行時引数を省略すれば0 */
if (argc > 1) source = atoi(argv[1]);
else source = 0 ;
/* データの読み込み & メモリ確保 */
read(&g);
if (source < 0 || source >= g.n){
fprintf(stderr, "ERROR : invalid source number.\n");
exit(EXIT_FAILURE);
}
/* drawgraph.tcl 用グラフ定義部分の出力 */
write(&g, source);
/* malloc for label[],prev[] */
label = malloc_e(int,g.n) ;
prev = malloc_e (int, g.n) ;
0587続き
NGNGfor (v= 0 ; v < g.n ; v++){
label[v] = INF ;
prev[v] = -1 ;
P[v] = 0 ;
}
label[source] = 0 ;
P[0] = 1 ;
Pnum ;
for(v=0;v < g.m; v++){
for (u=0 ; u < g.m ; u++){
Bwidth[v][u] = -1 ;
}
}
for (v=0; v < g.m ;v++){
Bwidth[g.E[v].end1][g.E[v].end2] = g.E[v].d ;
Bwidth[g.E[v].end2][g.E[v].end1] = g.E[v].d ;
}
0588続き
NGNGwhile (Pnum < g.n )
{
if(P[v] == 0){
min = INF ;
for(v = 0 ; v < g.n ; v++){
if ( P[v]){
continue ;
}
if(label[v] < min ){
min = label[v] ;
}
}
printf("\nstep\n") ;
for(v=0 ; v < g.n ; v++){
if(label[v] == min){
if(v != 0){
printf("coloredge %d %d red\n" , v , prev[v]) ;
}
printf("colornode %d gray\n" , v);
P[v] = 1;
Pnum++;
}
}
0589続き
NGNG/* Pにふくまれるもの */
for(v=0 ; v < g.n ; v++){
if (!P[v]){
continue ;
}
for(u =0 ; u < g.n ; u++){
if (P[u]){
continue ;
}
/* Neiborhood */
if (Bwidth[v][u] != -1){
if(label[v] + Bwidth[v][u] < label[u]){
label[u] = label[v] + Bwidth[v][u] ;
prev[u] = v ;
printf("\nstep\n") ;
printf("coloredge %d %d red\n" , v,u ) ;
printf("colornode %d red\n" , u ) ;
printf("label %d %d\n" , u , label[u] ) ;
}
}
}
}
}
}
exit(EXIT_SUCCESS);
printf("end\n");
0590続き
NGNGfor(v = 0; v < g.n; v++){
int curr = v;
printf("# ");
while( prev[curr] != -1 ){
printf("%d <-- ", curr);
curr = prev[curr];
}
printf("%d (length = %d)\n", source, label[v]);
}
exit(EXIT_SUCCESS);
}
0591デフォルトの名無しさん
NGNG0592デフォルトの名無しさん
NGNGhttp://do.sakura.ne.jp/~junkroom/cgi-bin/megabbs/readres.cgi?bo=lounge&vi=1027870433
0593と、解けない・・・
NGNG東径i度(0≦i≦180)、北緯j度(-180≦j≦180)の地表の
三次元座標(x,y,z)としたとき
x=100*cos(j)*cos(i)
y=100*cos(j)*sin(i)
z=100*cos(j)
中心C(-120、0、0)
・上の球の三角形パッチ近似によるオブジェクト定義ファイルを作成せよ。
【ヒント】
経線・緯線を15度刻みに分割する。
そこでえられる個々の球面四角形に対角線を一本引いて得られる三角形パッチ528面を作れ。
0594デフォルトの名無しさん
NGNGC/C++となんか関係あんのか?
0595と、解けない・・・
NGNGすみません、意味不明ですよね。やりたいことを分かりやすくまとめると
・・・・・・・・・・・・・・・
・・・・・・・・・・・・・・・
・・・・・・・・・・・・・・・
・・・・・・・・・・・・・・・
・・・・・・・・・・・・・・・
・・・・・・・・・・・・・・・
左下の点を東経0度、北緯-180度とし
右上の点を東経180度、北緯180度とする。
このとき、左下の座標は、
---------------------------------------------------------
東径i度(0≦i≦180)、北緯j度(-180≦j≦180)の地表の
三次元座標(x,y,z)としたとき
x=100*cos(j)*cos(i)
y=100*cos(j)*sin(i)
z=100*cos(j)
---------------------------------------------------
上の公式から 、左下(100*cos(-180)*cos(0),100*cos(-180)*sin(0),100*cos(-180))となる。
残りのすべての点の座標をこの要領で求める。
ここからが分からないんですけど
A・ B・ F・
C・ D・ E・
上で求めた座標を印字するとき
printf("(Cの座標)(Dの座標)(Bの座標)");
printf("(Cの座標)(Bの座標)(Aの座標)");
pirntf("(Dの座標) (Eの座標) (Fの座標) ") ;
printf("(Dの座標) (Fの座標) (Bの座標) ") ;
上の三角形CDB,CBAのような感じで、三角形を作りながら印字したいんです。
0596もまずにパピコ
NGNGだとしてもよくわからんな。なんで経度の方を180度で取り、緯度を360度取るんだろう。
東極と西極ができちまうじゃないか。
0597デフォルトの名無しさん
NGNGfor(x = -12; x <12;x++){
for( y = 0; y < 11; y ++){
rect = { x, y, (x+1), (y+1)};
triangle1 = { {x,y}, {x+1, y }, {x,y+1} };
triangle2 = { {x,y+1}, {x+1,y } , {x+1, y+1} };
}}
ただし、それぞれ15倍すること
0598と、解けない・・・
NGNG>要するに、球をポリゴヌで作ってその全頂点座標を列挙しやがれ!ってことか?
はい、そのとおりです。
三角形を作るように全頂点座標を列挙するのがポイントと書いてあるます。
>なんで経度の方を180度で取り、緯度を360度取るんだろう
大変すみません。経度(0≦i≦360)でした。
ほんとにすみません。
>>597
おぉ!!なるほど。
どうもありがとう御座いました。
0599もまずにパピコ
NGNGやっぱり地球が丸いのなんて邪教徒の盲信だってことだな。
0600デフォルトの名無しさん
NGNG>y=100*cos(j)*sin(i)
>z=100*cos(j)
ここのcos,sinを、それぞれ、替えてみたり、i,jを替えてみたりしたら?
0601もまずにパピコ
NGNG漏れアフォ! アリストテレスかしこ!
こんな感じでできました。
void setVert(CUSTOMVERTEX &Vert, int a, int b)
{
Vert.x = sin((float)a*3.14159/12.0) * cos((float)b*3.14159/12.0);
Vert.y = -sin((float)b*3.14159/12.0);
Vert.z = -cos((float)a*3.14159/12.0) * cos((float)b*3.14159/12.0);
Vert.nx = -Vert.x;
Vert.ny = -Vert.y;
Vert.nz = -Vert.z;
Vert.color = 0xffffffff;
}
CUSTOMVERTEX g_Vertices[11*25*2];
int c=0;
for(int y = -6; y<5; y++) {
for(int x = -12; x <= 12; x++) {
setVert(g_Vertices[c], x, y+1);
c++;
setVert(g_Vertices[c], x, y );
c++;
}
}
0602デフォルトの名無しさん
NGNG0603デフォルトの名無しさん
NGNG0604デフォルトの名無しさん
NGNG0605デフォルトの名無しさん
NGNGオイラーではなくてか?
0606沙羅
NGNG家族全員の年令の合計と平均年令を求めて、
出力するプログラムを作れ。
「家族3人の年令を空白で区切って入力して下さい: 12 50 60
年令の合計: 122
平均年令: 40.7」
2、標準入力からある整数を読み込み、この整数の128の剰余を求め
剰余の値を文字コードにもつ、アルファベットを出力する
プログラムをつくれ。
「整数を入力してください: 624
対応するアルファベットはpです。」
宿題が全然わからないのです。
全部で4問あるのですが、
まずはじめの2問、お願いいたします。
どうか教えて下さいm(>_<)m
0607デフォルトの名無しさん
NGNG> 宿題が全然わからないのです。
全然わからないなら、おとなしく留年するなり落第するなりした方がいい。
> まずはじめの2問、お願いいたします。
はじめの2問...、全て頼る気か ?
ちょっとは努力しろ、ヴァカ。
0608沙羅
NGNGあまあまですね。
途中まではわかるのでヒントもらうつもりできたんですが…
お邪魔いたしました。
0609もまずにパピコ
NGNG平均は家族三人の年齢をa,b,cとすれば(a+b+c)/3だ。
128の剰余ってのは128で割った余りだ。Cだったら(x%128)だ。
入出力は色々方法があるので、先生が教えた奴を使え。
0610590
NGNG2ちゃんのレベルはこんなもんだな
0611デフォルトの名無しさん
NGNGcout<<"input: ";
for (int i = 0; i < 3; i++) cin>>d, add+=d;
cout<<"Sum: "<<add<<"\nAvg: "<<add/3<<endl;
0612沙羅
NGNGもまずにパピコさん、ありがとうございます!
main()
{
int Date1, Date 2, Date3;
int Add,Mul,Div;
scanf("%d %d %d", &Date1, &Date2& Date3)
Add=Date1+ Date2+ Date3;
Mul=(Date1+ Date2+ Date3)/3;
途中まで自分でやってみたのはこんなかんじなのですが、
足し算と割算とをつかってるしきをMulとするのはおかしい??
あと、プログラム中に文章をだす(平均年令とか)のがわからないです。
printf("平均年令");
ですか…??
0613デフォルトの名無しさん
NGNG0614?1??
NGNG0615better
NGNGSum=......
Ave=Sum/3.0;
0616デフォルトの名無しさん
NGNG> 途中まではわかるのでヒントもらうつもりできたんですが…
何で、その「途中まで」を書かないの ?
> お邪魔いたしました。
まあ、どうでもいいけど、これだけだったらホントにお邪魔としか言いようがないなぁ。
0617?1??
NGNGすみません。
でも、ほんとに親切な方がたくさんいてくださって
とても助かりました。
betterさん、Sumってなにでしょうか…??
0618better
NGNG辞書引くように。和英辞典も良いよ。
0619611
NGNGお礼は2時間でいいからね(;´Д`)
0620better
NGNG0621?1??
NGNG#include<stdio.h>
main()
{
int Date1, Date 2, Date3;
int Add,Mul,Div;
scanf("%d %d %d", &Date1, &Date2& Date3)
float Ave;
Sum=Date1+ Date2+ Date3;
Ave=(Date1+ Date2+ Date3)/3;
printf("%d %d %d"\n", Date1, Date2, Date3);
printf("%d %d\n", Sum, Ave");
}
これでよいでしょうか?
平均年令や年令の合計ということばはどこにかいたらよいでしょうか??
0622better
NGNG1.宣言を直す。
2.コンパイルして見る。
3.整数・実数の出力の仕方の違いを理解する。
4.Aveを求める式にSumを使う。
5.文字列をprintfに入れて見る。他
0623デフォルトの名無しさん
NGNGお前がスレ違い。自分で調べろとか言うヤシは逝ってよしだよ
0624?1??
NGNGmain()
{
int Date1, Date 2, Date3;
int Ave,Sum;
scanf("%d %d %d", &Date1, &Date2& Date3)
float Ave;
Sum=Date1+ Date2+ Date3;
Ave=Sum/3;
printf("家族3人の年令を空白で区切って入力してください:%d %d %d"\n", Date1, Date2, Date3);
printf("年令の合計: %d\n", Sum");
printf("平均年令: %d\n,Ave");
}
こんなかんじでしょうか…??
コンパイル…学校いかないとできないので
たしかめることができないのです…
0625デフォルトの名無しさん
NGNG自宅のマシンにもCいれれ
0626?1??
NGNGいれたいです。マックでいいのないですかね。
0628better
NGNGscanf();のData3の辺りが変だ。
割るときに3.0じゃないとダメだったんじゃないのかな?
'\'全角はダメなんじゃないの?
"の位置が変。変なところに有る。
あとは他の方よろしく、他は頑張って。
0629デフォルトの名無しさん
NGNG6: 宣言の構文エラー(関数 main )
9: 未定義のシンボル Date2(関数 main )
9: 未定義のシンボル Date3(関数 main )
11: ステートメントにセミコロン(;)がない(関数 main )
15: 不正な文字 '\' (0x815f)(関数 main )
15: 関数呼び出しに ) がない(関数 main )
15: 文字列または文字定数が閉じていない(関数 main )
16: 文字列または文字定数が閉じていない(関数 main )
*** 8 errors in Compile ***
0630?1??
NGNGはじめはいってきたときとかとても説明不足だったのに、
こんなにつきあってくださって感謝感謝です。
教えていただいた間違えてるところをがんばってなおします!!
0631デフォルトの名無しさん
NGNGジャソプのギャルゲーを作っています!!part11
http://corn.2ch.net/test/read.cgi/ymag/1033761995/
こちらのスレッドでジャンプキャラのギャルゲーを創っています。
随時、CG・彩色・シナリオ・プログラマ等スタッフ募集中!
スタッフ参加しない・できない人たちも、意見要望アイデア出し、
その他諸々どんなかたちでもいいので、是非参加してください。
公式HP【ジャソプのギャルゲーをマジで作る会】
http://isweb41.infoseek.co.jp/computer/eque/
現在体験版の配布も行っています、一度試しに訪れてみてください。
0632デフォルトの名無しさん
NGNG0633パパ
NGNG0634デフォルトの名無しさん
NGNGmain() {
int Date1, Date2, Date3;
int Sum;
float Ave;
printf("家族3人の年令を空白で区切って入力してください\n");
scanf("%d %d %d", &Date1, &Date2, &Date3);
Sum=Date1+ Date2+ Date3;
Ave=(float)Sum/3;
printf("家族3人の年令: %d %d %d\n", Date1, Date2, Date3);
printf("年令の合計: %d\n", Sum);
printf("平均年令: %f\n",Ave);
}
0635デフォルトの名無しさん
NGNGmain() {
int i;
printf("整数を入力してください: ");
scanf("%d", &i);
printf("対応するアルファベットは%cです。\n", i%128);
}
0636デフォルトの名無しさん
NGNGdate:日付
0637デフォルトの名無しさん
NGNG全部クラスにしないとダメ?
0638デフォルトの名無しさん
NGNG関数オブジェクトなどを書く時で、publicなメンバだけの時はstructと
書くと private: を付けなくて済む。
0639デフォルトの名無しさん
NGNG無料掲示板
無料レンタル掲示板
0640
NGNG例えばテキストファイルで
0 62 98 45698
1 98 58 69871
3 25 48 98745
みたいなデータが五百行以上続いているファイルがあるとして
2行ごとに行の内容を全て消したファイルを作りたいのです。
上の例でいえば3から始まる行を全て消して、次は6行目をけすという感じに
できればC言語でお願いします。ヒントだけでも良いです。
0641デフォルトの名無しさん
NGNG桁は固定されてる?
0642640
NGNGもちろんファイルあたらに作っても良いです。
数字の桁は右の方に、例えば3 25 48 95698 4456.5 25.3
見たいにかなり続いてます。しかし行の終わりは同じ位置です。
たぶん固定です。
0643デフォルトの名無しさん
NGNG> 2行ごとに行の内容を全て消したファイルを作りたいのです。
消すとはどういうことか ?
A. 改行は残すのか ?
B. 改行ごと削除するのか ?
>>641
それってなんかプログラムに関係する ?
0645640
NGNGできれば改行ごとです。けど別に改行程度なら残っていてもいいです。
実はいつもは手作業でエディタで消していたのでそれをなんとか自動化
したいとおもいまして・・・
0646デフォルトの名無しさん
NGNGfgets(p);
fputs(p);
if(p==NULL)
break;
fgets(p);
fputs(p);
if(p==NULL)
break;
fgets(p);
}
こんなイメージ。
0647デフォルトの名無しさん
NGNG今ここで書いてみた。テストはしてないし、コンパイルもしてないけど、こんな感じ。
#define BUFSIZ 512 /* 行の大きさ以上 */
#define SKIP 3 /* この数の倍数行を出力しない */
int main(void) {
char buf[BUFSIZ];
int i = 1;
while (fgets(stdin, buf, sizeof(buf))) {
if (i % SKIP) {
fputs(stdout, buf);
}
}
return 0;
}
0648647
NGNGwhileのループ中一番最後に
i++;
を付け加えてください。
0649640
NGNGこれってファイル処理はしなくてよいんですか?
あ、そうか。stdinのところをファイルポインタにしたら
画面に処理後のファイルが表示されるってことですか?
Cはよくわからないので自信ないですが。
0650デフォルトの名無しさん
NGNGif ((stdin = fopen("\\〜〜〜〜.〜", "rt")) == NULL){
fprintf(stderr, "Cannot open input file.\n");
return 1;
}
if ((stdout = fopen("\\〜〜〜〜.〜", "wt")) == NULL){
fprintf(stderr, "Cannot open output file.\n");
return 1;
}
〜〜〜〜〜〜〜〜〜
〜〜〜〜〜〜〜〜〜
〜〜〜〜〜〜〜〜〜
fclose(stdin);
fclose(stdout);
0651デフォルトの名無しさん
NGNG0652デフォルトの名無しさん
NGNGテキストファイル"input2.txt"から座標データを読み込み、読み込んだ各点間を
n等分した中間点の座標を"二次式による補間法"を用いて計算し、ディスプレーおよびoutput2.dat
に出力するプログラムを作成しなさい。ここで、nの値はキーボードから、もしくは
プログラム中に直接定義してもよい。
Input2.txt(先頭行はデータ数、2行目以降はxおよびyの位置関係)
友達間で誰もできなくてショックだったんです。
誰か教えてください。
0653643
NGNG> フィルタにすればファイルをプログラム上明示的に作る必要はないな。
すまん、>>641 の「ファイル新たに作っても良いの?」は見落としてた。
> ただ、桁が固定されているとプログラムは格段に楽になる。
そうか ? とりあえず最大長さえ決まってればいいと思うけど...。
(決まってないとちょっとだけ工夫が必要だよね。)
>>646
100行毎と言われたらどうするんだ ? (ステップ数が稼げていいかも知れんが...。)
>>647
いいかげん、fgets() と fputs() の引数の順序ぐらい覚えろよ。
(確かに、俺にとっても違和感あるけどな。)
0654652
NGNGInput2.txt(先頭行はデータ数、2行目以降はxおよびyの位置関係)
5
100.0 0.0
200.0 200.0
300.0 100.0
400.0 0.0
500.0 300.0
0655640
NGNGたとえばファイル処理をいっさい行わず自分でドスの画面にデータを
コピーして、また画面に表示することにすればもっと簡単になりますかね?
0656デフォルトの名無しさん
NGNG0657デフォルトの名無しさん
NGNGmain() {
int ch, state=1;
while ((ch = getchar()) != EOF) {
if (state) putchar(ch);
if (ch == '\n' && ++state == 3)
state = 0;
}
}
0659デフォルトの名無しさん
NGNG#define BUFSIZ 512 /* 行の大きさ以上 */
#define SKIP 3 /* この数の倍数行を出力しない */
int main(void){
FILE *in,*out;
char buf[BUFSIZ];
int i=1;
if((in = fopen("\\〜〜〜〜.〜", "rt")) == NULL){
fprintf(stderr, "Cannot open input file.\n");
return 1;
}
if((out = fopen("\\〜〜〜〜.〜", "wt")) == NULL){
fprintf(stderr, "Cannot open output file.\n");
return 1;
}
while (fgets(in, buf, sizeof(buf))) {
if (i % SKIP) {
fputs(out, buf);
}
i++;
}
fclose(in);
fclose(out);
return 0;
}
こんなかんじか?他人のを勝手に合成してますけど・・・sorry
エラーが何を言っているのかも理解してあげたら?
0660659
NGNGfgets(buf, sizeof(buf), in)
fputs(buf,out);
かな?
0661デフォルトの名無しさん
NGNGmain(){
FILE *in,*out;
int data_no,n;
〜〜〜〜〜〜〜〜ファイルオープン
fscanf(in, "%d", &data_no);
for(i=0; i<data_no; i++)
fscanf(in, "%f %f", &f1[i],&f2[i]);
scanf("%d", &n);
//二次式による補間法の処理
〜〜〜〜〜〜〜〜ファイルクローズ
return 0;
}
0662デフォルトの名無しさん
NGNG0663manko_chinko ◆GLc2rpKRNM
NGNGで、先生が「じゃ、OSつくってこい。」といいました。
どうすればいいですか。
0664デフォルトの名無しさん
NGNG0665デフォルトの名無しさん
NGNG作ればいいじゃん。作れば証明できるんだから。
0666manko_chinko ◆GLc2rpKRNM
NGNGアセンブラとこんぱいらはなにがいいでしょうか。
0667manko_chinko ◆GLc2rpKRNM
NGNG0668デフォルトの名無しさん
NGNG0669デフォルトの名無しさん
NGNG自分の蒔いた種だ。
ITRONとか調べてがんがれ
0671manko_chinko ◆GLc2rpKRNM
NGNGライブラリをリンクしろみたいにリンカに言われてリンクできません。OSつくるのにライブラリなんてリンクしちゃだめですよね?
どうにかならないでしょうか。コンパイラは16bitのやつが使いたいので某企業の16bitコンパイラです。
リンカはmicrosoftのlinkです。
0672教えてください!
NGNG剰余の値を文字コードに持つ、アルファベットを出力するプログラムを作れ。です。
0673デフォルトの名無しさん
NGNGいけなくなった・・・誰か教えてくれ〜
0674デフォルトの名無しさん
NGNG0675デフォルトの名無しさん
NGNG>>635にもう出てるが。
0676デフォルトの名無しさん
NGNG0677デフォルトの名無しさん
NGNG自分で考えたコードをもってこい。
>>673
ソケットの使い方と POP3 プロトコルのコマンドがわかれば作れる。
とりあえずこのサイトでも読んでくれ。
http://x68000.startshop.co.jp/~68user/net/
>>674
まず google。コードごと載ってるサイトが腐るほどある。
0678デフォルトの名無しさん
NGNG宿題なら単に”微分積分をとくプログラム”っていうだけじゃないでしょ。
問題全文かきや
0679デフォルトの名無しさん
NGNGここは宿題やってくれるスレだろ。ぐちぐち言ってないでさっさとやれや。
0680教えてください!
NGNGすいませんでした。見てなかったです。どうもありがとうございました。
0681デフォルトの名無しさん
NGNGルンゲ・クッタ法とかシンプソン則でぐぐれ。
0682デフォルトの名無しさん
NGNG質問のレベルに合わせて答えたまで。
0683デフォルトの名無しさん
NGNG||||||
_ _
| |__| |
(____ ヽ_
ヽ__・) ワンワン
`´
0684デフォルトの名無しさん
NGNGわかったからさっさちゃれや。
0685超初心者です
NGNG文字コードを整数とみなして、単語を構成する全アルファベットの整数の和
を求めて出力するプログラムを作れ。です。教えてもらえませんか?
0686?1??
NGNGじっくりかんがえてきてみたら、解答してくださっていたので
うれしかったです。自分の間違いをしっかりかんがえてなおしました。
ありがとうございます!!
しかも、おなじ問題を質問していた方が…
そして、さらに質問をしてしまいますが
標準入力からある単語を読み込み、
その単語を各アルファベットにたいおうする
文字コードを整数とみなして、
単語を構成する全アルファベットの整数の和を求めて出力する
プログラムをつくりたいのです。
「単語を入力してください:get
整数の合計は320です。」
というのをのくるとき
#include<stdio.h>
main()
{
c=getchar();
putchar('\n');
printf("整数の合計は%dです。\n")
}
とかんがえてみたのですが
g,e,tそれぞれを整数とみなして
合計するにはどうしたらいいでしょうか??
0687デフォルトの名無しさん
NGNG同じ質問?
sum=0;
gets(p);
while(*(p++)){
sum += *p;
}
0688?1??
NGNGこのwhile文てどうなってるんです…か??
0689デフォルトの名無しさん
NGNGmain() {
int sum=0, ch;
while ((ch = getchar()) != EOF && ch != ' ' && ch != '\n')
sum += ch;
printf("%d\n", sum);
}
0690デフォルトの名無しさん
NGNG0691?1??
NGNG「英文を入力してください:
This is a pen.
That is a book.
^d
文字数は全部で29文字です。
行数は全部で2行です。」
というような標準入力で英文を読み込んで、
英文に含まれる全文字数と行数を
もとめて出力するプログラムをつくるさい、
#include<stdio.h>
main()
{
int c;
c=getchar();
while(c !=EOF){
}
}
と、かんがえて途中までこうなったのですが、
文字や行をかぞえるにはどうしたらよいのでしょうか??
0692デフォルトの名無しさん
NGNGif (c == '\n') line_count++;
0693デフォルトの名無しさん
NGNGif (c == '\n') line_count++;
else char_count++;
0694デフォルトの名無しさん
NGNGmain() {
int sum=0;
char buf[1024], *p;
gets(buf);
for (p = buf; *p && *p != ' '; p++)
sum += *p;
printf("%d\n", sum);
}
0695?1??
NGNG言葉を入れる場合
#include <stdio.h>
main() {
int sum=0, ch;
while ((ch = getchar()) != EOF && ch != ' ' && ch != '\n')
sum += ch;
printf("整数の合計は%d\n", sum);
}
単語を入力してくださいは、どこへいれればよいのでしょう??
あと、chとは…??
692,693>>
whileのあとにif文でしょうか??
694>>
これは691の返信でしょうか…???
0696デフォルトの名無しさん
NGNG>>691はこうかな。
#include <stdio.h>
main() {
int c, line_count=0, char_count=0;
printf("英文を入力してください:\n");
while ((c = getchar()) != EOF)
if (c == '\n') line_count++;
else char_count++;
printf("文字数は全部で%d文字です。\n", char_count);
printf("行数は全部で%d行です。\n", line_count);
}
0697?1??
NGNGこまかくかいていただいてありがとうございます★
0698デフォルトの名無しさん
NGNG0699デフォルトの名無しさん
NGNGどうやって入力すんお?
0700?1??
NGNG0701デフォルトの名無しさん
NGNGなるほど。
のわりには、>>696のプログラムは終わらないんですけど。
なんでだろ
0702デフォルトの名無しさん
NGNG0703デフォルトの名無しさん
NGNGどうもです。解決しました。
0704デフォルトの名無しさん
NGNG#include <stdio.h>
main() {
int sum=0, c;
printf("単語を入力してください\n");
while ((c = getchar()) != EOF && c != ' ' && c != '\n')
sum += c;
printf("整数の合計は%d\n", sum);
}
0705?1??
NGNGおかげさまで解決致しました★ミ
0706デフォルトの名無しさん
NGNG7行スレで見かけたので、移転前サーバの過去ログをひっぱってっきた
http://pc.2ch.net/tech/kako/1018/10188/1018840143.html
ここの475
0707デフォルトの名無しさん
NGNGみんなでそれを解く、っつーのは結構面白いと思うんだけど。
0708デフォルトの名無しさん
NGNGC++じゃないが、情報処理学会刊行誌の情報処理で
プログラミングコンテストの問題を解いてみようというのがあって、おもしろい
C++じゃないが、C MAGAZINEの電脳倶楽部とか、
昔はBITも問題集としてもおもしろかった
0709デフォルトの名無しさん
NGNGすげー突っ込みたい…。
0710デフォルトの名無しさん
NGNG0711デフォルトの名無しさん
NGNG先生を振り向かせる為にはどんなものを作ればいいと思いますか?
アドヴァイスください。
0712デフォルトの名無しさん
NGNG指定時間になったら、お前のちんちんの画像を学内の全 PC に表示するプログラム。
必ず、振り向いてもらえるし。洒落がわかる先生なら、ほめてもらえるかもしれない。
0713デフォルトの名無しさん
NGNG0714デフォルトの名無しさん
NGNG0715hitotu
NGNGファイルを開く時に自分でファイル名を入力してそのファイルを開く
プログラムを作りたいのだけど、そうすればよいですか?
0716デフォルトの名無しさん
NGNG0718デフォルトの名無しさん
NGNG0719デフォルトの名無しさん
NGNG0720デフォルトの名無しさん
NGNGローカルルールぐらい読みなよ。
> 業界談義、愚痴はプログラマ板へどうぞ。
何のために、マ板とム板があるのかよく考えよう。
こっちは、プログラム技術@2ch掲示板 だよ。
~~~~
0721デフォルトの名無しさん
NGNG下線がずれた、鬱だ。とりあえず、「技術」に引いたつもりです。
0722デフォルトの名無しさん
NGNG0723デフォルトの名無しさん
NGNG0724デフォルトの名無しさん
NGNG0725デフォルトの名無しさん
NGNG0726デフォルトの名無しさん
NGNG2ちゃんは煽りとネタばっかですが。
0727デフォルトの名無しさん
NGNG> この板はプログラムを作る人のための板です。
>
> あらゆる質問はまずすれ立てるまでもない質問はここでスレにしてください。
>
> その他、お勉強ページへのリンクスレ、
> 推薦図書・必読書スレ
> もあります。
>
> プログラム・ソフトの使い方は PC 初心者板やソフトウェア板へ。
> ウイルス、ハッキング・クラッキングを求めるような発言は禁止です。
> Javascript は Web 制作板、CGI は Web プログラミング板へ。
> 業界談義、愚痴はプログラマ板へどうぞ。
> ゲーム関係の話題はゲーム製作板へどうぞ。
> ネタ、板とは関係の無い話題はご遠慮ください。
0728デフォルトの名無しさん
NGNGご 遠 慮 く だ さ い。
0729デフォルトの名無しさん
NGNGしつこいっつうの。
0730デフォルトの名無しさん
NGNGお前が納得してローカルルールを守ればいいの。
0731デフォルトの名無しさん
NGNGアクセス制限でもなんでも掛けてください、ルール守る気無いので。
マジでしつけえな粘着厨房は。
0732デフォルトの名無しさん
NGNGお前がしつこい。
0733デフォルトの名無しさん
NGNG俺が2chの鯖管理者になれれば即効でお前をアクセス制限するって
できないからここでやってんじゃん。
ルールを守る気無い? モラルが失われてるなぁ。
自分が特定されなきゃ何でもやっていいと思っているのか?
それを厨房って言うんだよ。
0734デフォルトの名無しさん
NGNG0735デフォルトの名無しさん
NGNG鶴と亀の数(ただし10万匹以上)を繰り返し読み込み、
(処理の終了はEOFの検出でおこなう)
鶴の平均体重3.3kg亀の平均体重0.6kgを用いて
以下の表示をすること。
1鶴と亀の数が同じ時は:合計の頭の数を表示
120000匹でテストのこと
2鶴と亀の数が同じでかつ、その数が188822匹のときは
1の処理に加えて、鶴と亀の合計体重を表示する。
188822匹でテストのこと
3鶴の数が亀の数より10000匹以上多く、かつ亀の数が
60000匹以上
のとき:鶴の体重の合計、亀の合計体重、および鶴の合計体重が
亀の合計体重よりいくら重いか を表示
鶴 140000匹 亀 70000匹でテスト
4亀の数がつるより多いとき
亀の足の合計数が鶴の足の合計数より
どれだけ多いかを表示
亀150000匹 亀1000匹でテスト
5上記のいずれにも当てはまらないときは
どれにも該当しません と表示する
6想定した入力の数にあわない入力がなされたときは
入力が誤っています と表示する
教えてください。
0736デフォルトの名無しさん
NGNGなんか問題に不備があるぞ。
・鶴と亀の数を読み込むというが、どこから? そしてそのフォーマットは?
・各問題にいえることなんだが、たとえば、1のやつは「120000匹でテストのこと 」
となっているが、これは鶴と亀の合計が120000匹なのか、鶴と亀がそれぞれ
120000匹ずついて合計240000匹なのかがわからん。
どう答えていいものやら。
0737デフォルトの名無しさん
NGNGお前一人が氏ねよ。つまんないんだろ。これでもうつまんないなんて思わなくなるぜ。
0738デフォルトの名無しさん
NGNG漏れは735じゃないが、
>処理の終了はEOFの検出でおこなう
んだからファイルから読み込むんだと思われ
けど、4は両方とも亀の上に、
片方は前提条件の10000匹以上でないあたり訳わかめ
0739735
NGNG訂正で
4亀の数がつるより多いとき
亀の足の合計数が鶴の足の合計数より
どれだけ多いかを表示
鶴150000匹 亀1000匹でテスト
>>736
鶴と亀がそれぞれ
120000匹ずついて合計240000匹
です。
この訂正でもプログラムが組めない場合は
6想定した入力の数にあわない入力がなされたときは
入力が誤っています と表示する
のやり方だけでも教えてください。
0740デフォルトの名無しさん
NGNGint main()
{
char arr[80];
long turu, kame;
while(fgets(arr, sizeof(arr), stdin)) {
if (sscanf(arr, "%ld %ld", &turu, &kame)==2)
judgement(turu, kame);
else
printf("入力が誤っています\n");
}
return 0;
}
0741デフォルトの名無しさん
NGNG>>処理の終了はEOFの検出でおこなう
>んだからファイルから読み込むんだと思われ
とはかぎらんだろうに
0742デフォルトの名無しさん
NGNG0743デフォルトの名無しさん
NGNGa,b,c,dと四則計算(+,-,*/)を使ってeを作る式があれば
全て表示するプログラムをお願いします。。
例えば
1,1,9,9,10なら
9*(1+1/9)=10
0744デフォルトの名無しさん
NGNGいまいちききたい事がわからんけど想像で。
int a, b, c, d, e;
printf("a=");
scanf("%d",&a );
printf("b=");
scanf("%d",&b );
printf("c=");
scanf("%d",&c );
printf("d=");
scanf("%d",&d );
e = a*(b+c/d);
printf("%d*(%d+%d/%d)=%d", a, b, c, d, e);
0745デフォルトの名無しさん
NGNG嫌なのは同意だけど、実際そんなのばかりじゃない?
>>743
Cマガのパズルみたいでちょっと面白いね。
とりあえず全検索のを作ってから、
枝刈りを考えてみれ。
0746デフォルトの名無しさん
NGNG年月をmm(月)/dd(日)/yyyy(年)でたずねて、
たとえば、12/23/2002ってこのとおりに入力したら、
表示するときに、月の部分を、Decemberって出させて、
December 23, 2002って表示させるようにするにはどうすればいいでしょうか?
初心者ですいません。。。
0747デフォルトの名無しさん
NGNG�U�Uこの半角記号が打てないので
プログラムを書くのに困っています。
どうすれば、英数半角でこの記号が打てるようになるのか
教えてください
0749デフォルトの名無しさん
NGNGstrftime
でなければこんなん。1.4 節参照 。
http://hp.vector.co.jp/authors/VA014758/programming/pre/part2/chap1.htm
0750デフォルトの名無しさん
NGNGそれなら、もう3年くらいやってます。
0752デフォルトの名無しさん
NGNGその宿題は10日くらい前、すでに誰かがやってくれてた。
>>327-332だ。検索してくれな。しかし〆切いつなんだろうね。
0753デフォルトの名無しさん
NGNGstructの定義が抜けてますな。
struct culctree{
struct culctree* left;
struct culctree* right;
int function;
double value;
};
0754デフォルトの名無しさん
NGNGありがとうございます。
一度がんばってできるかやってみます。
0755デフォルトの名無しさん
NGNG12345 ^ 6789012 % 34567 を計算した結果を
画面に表示するにはどうすればいいんですか?
0756デフォルトの名無しさん
NGNGprintf("%f\n",fmod(pow(12345,6789012),34567));
0757755
NGNGBCCでもGCCでもオーバーフローになりました。他に方法ありませんか?
0758デフォルトの名無しさん
NGNGOverFlowしたよ。
0759デフォルトの名無しさん
NGNGBIGINT作ってもいいけど。
0760デフォルトの名無しさん
NGNG0761756
NGNG>画面に表示するにはどうすればいいんですか?
計算結果がたまたまオーバーフローしただけだ
レスの注文どうりにやったつもりだが・・・(>計算した結果を画面に表示)
「オーバフローしますた」とでも教官に逝って来てくれ
0762デフォルトの名無しさん
NGNG意味が違う。^はビット毎のxor演算子。
0763デフォルトの名無しさん
NGNG0764デフォルトの名無しさん
NGNG755は^の意味を指定してない。
もし%を剰余と考えるなら、^を同じくCのbit xorと考えるのは合理的だと思うが。
0765デフォルトの名無しさん
NGNG0766デフォルトの名無しさん
NGNG0767755
NGNG12345 ^ 6789012 % 34567 は 12345の6789012乗を34567で割った余りのことです。
>759
Googleで剰余の性質で調べたんですが、なかなかヒットしません・・・
0768デフォルトの名無しさん
NGNGintelの?
8byte?
0769デフォルトの名無しさん
NGNGprintf("%d\n", 2276);
0770デフォルトの名無しさん
NGNGfor( i =0; i < 6789012; i++ )
a = (a*12345)%34567;
printf("%d\n", a );
0772デフォルトの名無しさん
NGNG>10月20日・宿題4 「hit & blow」(C言語です)
>条件
>数字は4つ(ex.1234)
>「printf、int、scanf、while、ポインタ関数(or構造体)、ランダム関数
> if」を使う(これ以外は使えないそうです。
>2以上の関数で構成する
>1〜9までの整数を使う
>数字は重複しない事
>解答するチャンスは10回まで
この条件を満たすプログラムを作れと言われました。お願いします
0773デフォルトの名無しさん
NGNG「main が使えないと組めねーよ。」と先生に言ってやれ。
あと、+=(){} とかもな。
0774デフォルトの名無しさん
NGNG0775デフォルトの名無しさん
NGNG関数へのポインタと間違えてるんじゃない?
0776デフォルトの名無しさん
NGNGそれにしては、(or 構造体) って言うのが、意味不明なんだが...。
0777デフォルトの名無しさん
NGNGclass cstr
{
char *buf;
public:
cstr();
cstr(char *);
cstr& operator=(cstr&);
cstr& operator+(cstr&);
char* GetAddr();
};
main()
{
cstr A,B("test"),C("test2");
A = B + C;
A = A + B + C;
cout << A.GetAddr() << endl;
}
で演算子+の作り方がさっぱり分かりません。おすえてください。
0778772
NGNG意味不明ですよね・・・。すいません自分で勉強します
0779デフォルトの名無しさん
NGNGつーか、親切にも hit & blow と書いてあるんだから、それでググレばいやと言うほどソースがででくるぞ。
0780デフォルトの名無しさん
NGNGcstr operator+(cstr& cs) {
cstr tmp;
tmp.buf = new char[strlen(buf) + strlen(cs.buf) + 1];
strcpy(tmp.buf, buf);
strcat(tmp.buf, cs.buf);
return tmp;
}
とでもすれば?無理に参照を返そうとするとうまくいかない。
0782おばかです。
NGNGf(x)=1.1x^4+2.6x^3+0.5x^2-2.0x+1.0
のf(0.8)とf'(0.8)を計算するプログラムを作ってください。
できるだけ難しい構文を使わないでお願いします。馬鹿なもんで。
0783デフォルトの名無しさん
NGNGprintf("f(0.8) = %d\n", x * ( x * ( x * (1.1 * x + 2.6 ) + 0.5 ) - 2.0 ) + 1.0 );
printf("f'(0.8) = %d\n", x * ( x * (4.4 * x + 7.8 ) + 1.0 ) - 2.0 );
}
0784デフォルトの名無しさん
NGNGmain(){
printf("f(0.8) = %f\n", x * ( x * ( x * (1.1 * x + 2.6 ) + 0.5 ) - 2.0 ) + 1.0 );
printf("f'(0.8) = %f\n", x * ( x * (4.4 * x + 7.8 ) + 1.0 ) - 2.0 );
}
0785デフォルトの名無しさん
NGNGdouble x = 0.8;
printf("f(0.8) = %f\n", x * ( x * ( x * (1.1 * x + 2.6 ) + 0.5 ) - 2.0 ) + 1.0 );
printf("f'(0.8) = %f\n", x * ( x * (4.4 * x + 7.8 ) + 1.0 ) - 2.0 );
}
0786デフォルトの名無しさん
NGNGfx = 1.1;
fx = fx * x + 2.6;
fx = fx * x + 0.5;
fx = fx * x - 2.0;
fx = fx * x + 1.0;
printf("f(%f) = %f\n", x, fx);
dydx = 4.4;
dydx = dydx * x + 7.8;
dydx = dydx * x + 1.0;
dydx = dydx * x - 2.0;
printf("f'(%f) = %f\n", x, dydx);
0787デフォルトの名無しさん
NGNG手短にお願いします。
0788デフォルトの名無しさん
NGNG0789デフォルトの名無しさん
NGNG0791デフォルトの名無しさん
NGNGint main()
{
/* 死ね */
putchar('\a');
return 0;
}
0792デフォルトの名無しさん
NGNGint main()
{
printf("\a");
return 0;
}
0793789
NGNG0794デフォルトの名無しさん
NGNG0795デフォルトの名無しさん
NGNG0796デフォルトの名無しさん
NGNGLineTo
0797デフォルトの名無しさん
NGNG高速べき乗算とか、RSA、数論関連のページを調べてみろ。
>12345 ^ 6789012
なんて、C/C++の組み込み型で処理しようとしたら、オーバーフロー
するに決まってる、理由は解る・・・よな?
0798デフォルトの名無しさん
NGNG俺の環境のlong intならせいぜい2乗だな(ワラ
^がEORなら問題ないけど。
0799デフォルトの名無しさん
NGNG例)12 mod 5 = 2 のとき、(12*34721895375918273) mod 5 = 2
0800799
NGNGa*b mod c = (a mod c)*(b mod c) mod cが成り立つ。
0801デフォルトの名無しさん
NGNG#include <stdio.h>
int main(void)
{
int c;
c = getchar();
if(c == EOF){
printf("1st EOF\n");
printf("2nd EOF\n");
}else{
printf("NOT EOF\n");
}
return(0);
}
のプログラムを起動し
Ctrl+Zを入力すると
2nd EOF
のみが表示されて1st EOFが表示されません。
バッファ関係でprintf("1st EOF");が実行されなくなるのかと思い
fflush(stdin)を試してみましたがうまくいきません。
解決方法をどなたか教えていただきませんか。
0802デフォルトの名無しさん
NGNGWindows98やMeだろ?
0803795
NGNG座標の値を引数として渡すのが良いのでしょうか?
0804デフォルトの名無しさん
NGNGそうです。98です。
OSの問題なのですか?XPで試してみます。
0805801
NGNGXPでやった結果問題なく表示されました。
XPのコマンドプロンプトだとCtrl+Z + ENTERで入力の終了を行うのですね。
しかし、98で問題なく表示するにはどうしたらいいんですか?
よろしかったら、原因や対処方法をどなたか教えていただけないでしょうか?
0806デフォルトの名無しさん
NGNGMSDNみれ
0807755
NGNG追加レスありがとうござます。
なるほど、RSAの公開鍵に応用できるんですね。
0808521
NGNGあとはIf文で総当たりすれば目的の色を取得できると思います。
ですが、あたらしい課題ができてしまいました。
あたらしい課題は取得した色を新しいWindowで表示しろとのことです。
Rederence Manualなども参照してなんとかできそうなところまで来たのですが、
実行後にエラーがでてしまいうまくできませんでした。
エラー内容は
Gdk-CRITICAL **: file gdkimage.c: line 402 (gdk_image_put_pixel): assertion `image != BULL' failed.
と何度も表示されます。
ご指導よろしくお願いします。
0809521
NGNG#include <stdio.h>
#include <gtk/gtk.h>
#include <gdk/gdkx.h>
int main(int argc, char *argv[]){
GtkWidget *window,*window2;
GtkStyle *style1,*style2;
GdkPixmap *pixmap1,*pixmap2;
GdkPixmap *mask1,*mask2;
GtkWidget *pixmapwid1,*pixmapwid2;
GdkImage *tmpmask1,*tmpmask2;
gint width,height,depth=-1,i,j;
guint32 RGB;
gtk_init(&argc, &argv);
window=gtk_window_new(GTK_WINDOW_TOPLEVEL);
gtk_signal_connect(GTK_OBJECT(window), "destroy", GTK_SIGNAL_FUNC(gtk_main_quit), NULL);
window2=gtk_window_new(GTK_WINDOW_TOPLEVEL);
gtk_signal_connect(GTK_OBJECT(window2), "destroy", GTK_SIGNAL_FUNC(gtk_main_quit), NULL);
style1=gtk_widget_get_style(window);
style2=gtk_widget_get_style(window2);
pixmap1=gdk_pixmap_create_from_xpm(window->window, &mask1, &style1->bg[GTK_STATE_NORMAL], "res0.xpm");
pixmapwid1=gtk_pixmap_new(pixmap1, mask1);
0810521
NGNGgdk_window_get_size(pixmap1, &width, &height);
gtk_container_add(GTK_CONTAINER(window), pixmapwid1);
gtk_widget_show(pixmapwid1);
gtk_widget_show(window);
tmpmask1=gdk_image_get(pixmap1,0,0,width,height);
RGB=gdk_image_get_pixel(tmpmask1,35,50);
pixmap2=gdk_pixmap_new(window2->window,width,height,depth);
tmpmask2=gdk_image_get(pixmap2,0,0,width,height);
gtk_widget_show(window2);
for(i=0;i<height;i++){
for(j=0;j<width;j++){
gdk_image_put_pixel(tmpmask2,i,j,RGB);
j++;
}
i++;
}
printf("%d\n",(int)RGB);
gtk_main();
return 0;
}
0811デフォルトの名無しさん
NGNGなかなかうまく行きません…
とりあえず、初期値は1.5と2.5くらいでやってみたんですが。
かなり途中で全然できてませんが、とりあえずここまでしかできませんでした。
#include <stdio.h>
#define NUM = 21
double a0 = 2.0, a1 = -3.0, a2 = 1.0;
double f( double x );
double slope( double x1, double x2);
void main (void)
{ double q[NUM], m[NUM];
int i;q[0] = 1.5;q[1] = 2.5;
/*ここれへんから意味不明*/
if ( f( q[1] )*f( q[2] ) < 0 ){
for ( i = 0; i <NUM; i++){
m[i] = slope( q[i], q[i+1] );
q[3] = -f( q[1] )/m + q[1];
}
printf("q3 = %12.4le\n",q[3]);
}
0812811
NGNG{
double y;
y = a0 + a1*x + a2*x*x;
return y;
}
double slope( double x1, double x2)
{
double m;
m = (f( x2 )-f( x1 ))/(x2 - x1);
return m;
}
0814デフォルトの名無しさん
NGNG0815デフォルトの名無しさん
NGNG0816デフォルトの名無しさん
NGNG0817デフォルトの名無しさん
NGNG近似値なんだから...
double mylog(double x, int n)
{
return log(x) * (1 + 0.001 * rand());
}
ぐらいがいいかと...、ところで mylog(x,n) の n ってなんだ ? > >>814
0818デフォルトの名無しさん
NGNGそりゃおめー決まってるだろ。それはな(以下略
0819デフォルトの名無しさん
NGNGまあ、真の値なんて少数展開できないわけで・・・>>817
0820hiloshi ◆W2li6n5Xa6
NGNGfgetsってどう使うんですか?
実引数が3つありますよね?
fgets(A,B,C)ってので、
それぞれどういう意味なんですか?
あと上記だとCのところにstdinとあるやつも
意味不明ですた
0821デフォルトの名無しさん
NGNG文字列、文字数、ファイルポインタ
0823デフォルトの名無しさん
NGNGmath.hの算術関数使用不可なんです
fn(x)はマクローリン展開をn次でうちきったものでそれがnです
0824hiloshi ◆W2li6n5Xa6
NGNGマルチってなんですか?
0825デフォルトの名無しさん
NGNG0826Zetton ◆Rp2WIrE1u2
NGNGスレッド C言語ならアタシに聞きなさい
http://pc3.2ch.net/test/read.cgi/tech/1035211039/567
0827hiloshi ◆W2li6n5Xa6
NGNGこっちのを読んでて、間違えてレスしちゃったんで
いつもの方にも書いてしまいました。
ごめんなさい。
0828Maclaurin展開
NGNG0829Zetton ◆Rp2WIrE1u2
NGNGsageって知ってます?
0830デフォルトの名無しさん
NGNGdouble my_log(double x)
{
__asm fldln2
__asm fld QWORD PTR x
__asm fyl2x
__asm fstp QWORD PTR x
return x;
}
0831pow
NGNG配列(x[4]とy[4])を関数に渡してそのなかで処理、その後結果を√(x^2+y^2)のかたちで出したいんです
関数は間違ってないのですが、うまくいかないんです。
解のprintfで出力のしかたもおしえてください
おねがいします
0832デフォルトの名無しさん
NGNGprintf
0833デフォルトの名無しさん
NGNG具体的な実装が見たい。
0834デフォルトの名無しさん
NGNG> 関数は間違ってないのですが、うまくいかないんです。
関数が間違ってるんじゃないの?
0835デフォルトの名無しさん
NGNG宿題は自分でやれ。
0836デフォルトの名無しさん
NGNG0837デフォルトの名無しさん
NGNG#include <math.h> を忘れてるとか?
0838デフォルトの名無しさん
NGNG「うまくいかない」 はやめろ。
どのようにするつもりで、どうコーディングしたが、どうなってしまった
のかを書け。
あと 「関数は間違ってない」 のはどうしてわかった?
それと処理結果は何のデータ型でどういう風に格納されているか書いてくれないと
printf() に関するアドバイスはできん。
最後に、コンパイラのヘルプ/リファレンス、参考書等で printf() の使い方は
調べたのか?
0839デフォルトの名無しさん
NGNGこのスレでそれを言っても始まらないだろう。
0840デフォルトの名無しさん
NGNG0841pow
NGNG/***FFT***/
void fft(x,y,l,f)
double *x,*y;
int l,f;
{
int i,j,j1,j2,l1,l2,l3,l4,l5,n,k;
double s,c,s1,t,tx,ty,arg,M_PI;
M_PI=3.141592;
n=(int)pow (2.0,(double)l);
l1=n;s1=2*M_PI/(double)n;
for(l5=0;l5<1;l5++)
{
0842pow
NGNGarg=0.0;
for(l3=0;l3<l1;l3++)
{
c=cos(arg);s=sin(f*arg);arg+=s1;
for(l4=l2;l4<n;l4+=(l2+1))
{
j1=l4-l2+l3; j2=j1+l1;
tx=x[j1]-x[j2];ty=y[j1]-y[j2];
x[j1]=x[j1]+x[j2];y[j1]=y[j1]+y[j2];
x[j2]=c*tx+s*ty;y[j2]=c*ty-s*tx;
}
}
s1*=2.0;
0843pow
NGNGif(f<0)
{
for (i=0;i<n;i++)
{
x[i]/=(double)n;y[i]/=(double)n;
}
}
/***ビットリバーサル***/
j=0;
for(i=0;i<n-1;i++)
{
if(i<=j)
{
t=x[i];x[i]=x[j];x[j]=t;
t=y[i];y[i]=y[j];y[j]=t;
}
k=n/2;
while(k<=j)
{
j-=k;k/=2;
}
j+=k;
}
}
これでぜんぶです
0844デフォルトの名無しさん
NGNGイントロソート。STLportのヘッダファイル読むといいです
0845ミンウ
NGNG就職できたのはいいのですが、僕はまだ一度も出先に出ていません。
今まで●●A●Cという会社が、毎年うちの会社の新人を使ってくれて
いたらしいのですが、今年は新入社員5人中3人しか採ってくれずあまったのが私です。
現在は上司からコCOBOLを勉強するように言われており、社内システムを作っているのですが
はっきり言って、何もさせておかないのはかわいそうだからやらせているという感じが見え見え
でもう耐えられません。
派遣先に派遣されるにはどうすれば良いのでしょうか。
アドバイスお願いします。
0846デフォルトの名無しさん
NGNG1まで? l1まで?
j1=l4-l2+l3; j2=j1+l1;
〜 -l2-l3;???
0847デフォルトの名無しさん
NGNG一億光年スレ違い。
0849デフォルトの名無しさん
NGNGマ板に逝った方がいいぞ。
0850デフォルトの名無しさん
NGNGヘッダに書いてあるわきゃねーだろ
log(x)の作り方も知らないバカが大勢いるスレってか?
0851デフォルトの名無しさん
NGNG>>830 で終了。
0852デフォルトの名無しさん
NGNG書いてあるんだよalgorithm.hに。お前STL知らないだろ。
0853デフォルトの名無しさん
NGNGです。
今年専門 し派遣会
学校を卒業 社に就 いので だ一度も出 職したもの てくれて
就職で きたのはい ●Cとい すが、僕 はま 先に出て いません。
今ま で● ●A う会 社が、毎 年うち の会社 の新 人を使っ
いたらし すが、 今年は新 人中3人しか 採ってく ったのが 私です。
いので 入社員5 よう れずあま
現在は 上司からコ Lを勉強する に言われて システムを 作って
COBO かないの おり、社内 いるのです
はっき 何もさせてお はか わ やら せてい るという が
り言って、 いそうだ から 感じが見
でもう 耐え られ はどうす ません 。 え見え
派遣先 に派遣 されるに ば良 いので
アドバイ スお れ しょう
願いしま か。
彡 す。
彡
彡
(,,ノ゚д゚)ノ
0854デフォルトの名無しさん
NGNGそれともSTL使う奴の常識?
で、クイックソートとかマージソートとどこが違うわけ?
それを知らなきゃ、コードがどこに書かれてるか
知ってても何の意味もないよな。
>>851
それで終了だと思ってるんなら
お前の人生が終了だよ。
アセンブラを披露してる時点で痛いヤシだろうけど。
チープなCPUを使った組み込み系以外は、
アセンブラなんて覚えても、
使わない難しい漢字と同じだよ。
0855デフォルトの名無しさん
NGNG(´,_ゝ`) クスクス
0856デフォルトの名無しさん
NGNG( ´,_ゝ`)プッ
0857デフォルトの名無しさん
NGNG0858デフォルトの名無しさん
NGNGゃ、読ん だ事な い奴は知 らないだ ろ。
それ ともST L使
で、クイ ックソ う奴 の常識?
それ を知らなき ートとか マージソートとどこが違うわけ?
知って て も何の ゃ、 コ ードが
意味もないよ どこ に書かれ てるか
> >85 1 な。
それで終 了 だと
お前の 人 生が 終 思って る んな
ア セン ブラ を披 了だよ。 ら
チープなC PUを 露し てる 時点
アセン ブラなん 使っ た組み 込 で痛いヤシだろうけど。
使わない 難しい て覚え ても、 み系以 外は、
彡 漢字と 同じだ
彡 よ。
彡
(,,ノ゚д゚)ノ
0859デフォルトの名無しさん
NGNG_、_
( ,_ノ` )y━・~~~読むか読まないかじゃなく、C++知らないんだね。素直になろうよ。
0860デフォルトの名無しさん
NGNG0861デフォルトの名無しさん
NGNG0862デフォルトの名無しさん
NGNGマシン語を表すニーモニックではないと言いたいとか
0863デフォルトの名無しさん
NGNG常識というか、templateを使った事があれば説明不要な事柄でつ
0864デフォルトの名無しさん
NGNGあれは特殊な使い方だと思われ。
0865デフォルトの名無しさん
NGNG0866デフォルトの名無しさん
NGNG0867デフォルトの名無しさん
NGNG>>808-810
gtk_widget_show(window2);
は、
pixmap2=gdk_pixmap_new(window2->window,width,height,depth);
の前に置いてください。あと、
for(i=0;i<height;i++){
for(j=0;j<width;j++){
gdk_image_put_pixel(tmpmask2,i,j,RGB);
j++;
}
i++;
}
の所は i と j が逆じゃないでしょうか?
0868デフォルトの名無しさん
NGNGfor(j=0;j<width;j++){///////inc.
gdk_image_put_pixel(tmpmask2,i,j,RGB);
j++;///////inc.2ヶ所でinc.してッけど委員ダベか?
}
i++;
}
0869521
NGNG指摘ありがとうございます^^
ということは、
gtk_widget_show(window2);
pixmap2=gdk_pixmap_new(window2->window,width,height,depth);
tmpmask2=gdk_image_get(pixmap2,0,0,width,height);
for(i=0;i<height;i++){
for(j=0;j<width;j++){
gdk_image_put_pixel(tmpmask2,i,j,RGB);
}
}
と修正すればよいわけですね。
明日試してみたいと思います^^
0870デフォルトの名無しさん
NGNGgdk_image_put_pixel(tmpmask2,j,i,RGB);
ね。分かってるだろうと思うけど念のため
0871デフォルトの名無しさん
NGNG0872デフォルトの名無しさん
NGNG0873デフォルトの名無しさん
NGNGうまく画像を読み込んだり書き込んだりできません。
なんとかしてもらえませんか?
0874よろしくお願いします
NGNG数値は9ごとに改行し各数字の間隔は48ドット空けること*/
このプログラムに手を加えて(手直し)作ってください。お願いします
case WM_CREATE:
{
SetTimer(hWnd,1000,1000,NULL );
}
break;
case WM_TIMER:
{
HDC hdc;
char string[8];
wsprintf(string,"%d",suti);
TextOut(hdc,0,48,string,strlen(string) );
}
break;
0875すみません
NGNG#include<stdib.h>
#define juand() ((double)rand()/(32767.0+1.0))
void main()
{
double z;
int i;
srand(2);
printf("自分の名前の入力\n");
for(i=1;i<10;i++){
z=jurand();
printf("%4d番目の乱数は%10.7lf\n",i,z);
これを利用して、乱数10個の平均をディスプレイに
出力するプログラムを作りたいんですが、
どなたか教えてください。
0876デフォルトの名無しさん
NGNGマルチハケーン
http://pc3.2ch.net/test/read.cgi/tech/1035729526/299
0877
NGNGchar a[512];
fgets(a,sizeof(a),stdin);
sscanf(a,"%d",&y);
とかやってるんですけど、fgetsを二回目三回目と
使っていくとどうもうまくいかないんですが。
getsにかえるとすんなりいくのですが。
なぜでしょうか。
0878877
NGNGscanfに変えるとうまくいくんです。
0879デフォルトの名無しさん
NGNGどういうデータを入力したの?
0880877
NGNG6とか8とか
まあスキャンエフでうごくんですけど一応危険ということなので
変えてみたらだめでした。
0881デフォルトの名無しさん
NGNGそのコード、なんで途中で切れてるの?
0882デフォルトの名無しさん
NGNG改行周りで差があるからなんだけど、大丈夫?
0883デフォルトの名無しさん
NGNGiostreamをincludeすると
string.h や math.hの関数が使えるのはなぜですか?
0884デフォルトの名無しさん
NGNGiostream が string.h や math.h を include してるからじゃない?
0885デフォルトの名無しさん
NGNG0886デフォルトの名無しさん
NGNGint 型を返すデフォルト関数として認識するとか何とか警告出てないか?
0888デフォルトの名無しさん
NGNGVC6 では、string.h が以下のパスで呼ばれています。
<iostream> → <istream> → <ostream> → <ios> → <streambuf> → <xlocnum>
→ <xiosbase> → <xlocale> → <cstring> → <string.h>
(いいのか?)
しかし、math.h はちっとも呼ばれていないし、使おうとするとコンパイルエラーが
出るはずですが、どうして使えると思ったのですか?
他のヘッダーはインクルードしてませんか?
というか、これぐらい自分でヘッダーファイルたどって調べられませんか?
0889デフォルトの名無しさん
NGNG4個の整数集合{a,b,c,d}と{e,f,g,h}が与えられたとき
2集合の全要素の組み合わせでかつ同一でない演算をする(+,−,×,÷,論理和,論理積)
※集合の要素値の与え方は自由
組み合わせとはa+eのような2要素からなるものとする
記号16通り×6で96通りの計算をすればいいとおもうのですがC言語まったくわからないので
さっぱりです。
#include <stdio.h>
までしかわかりません
0890デフォルトの名無しさん
NGNG0891デフォルトの名無しさん
NGNG問題がいまいち分からないんだけど、こんな感じ?
----
int i, j;
int a[] = {1,2,3,4}; /* 集合1 */
int b[] = {100,101,102,104}; /* 集合2 */
for (i = 0; i < 4; ++i) {
for (j = 0; j < 4; ++j) {
printf("%d + %d = %d\n", a[i], b[j], a[i] + b[j]);
printf("%d - %d = %d\n", a[i], b[j], a[i] - b[j]);
printf("%d * %d = %d\n", a[i], b[j], a[i] * b[j]);
printf("%d / %d = %d\n", a[i], b[j], a[i] / b[j]);
printf("%d & %d = %d\n", a[i], b[j], a[i] & b[j]);
printf("%d | %d = %d\n", a[i], b[j], a[i] | b[j]);
}
}
0892デフォルトの名無しさん
NGNG0893yumiko
NGNG#include <stdio.h>
int main(
int argc,
char * argv[ ]
)
{
if (argc !=3)
printf("wrong no. of arguments\n");
else
{
printf("Sum: %d\n", atoi(argv[1]) + atoi(argv[2]));
}
return 0;
}
このプログラムを改良して。引数より少ない正整数で割りきれるものをすべて列記する。
プログラムを開発せよ。
例
a.out22なら
22は11で割りきれる
22は2で割りきれる
22は1で割りきれる
だれかお願いします。
0894デフォルトの名無しさん
NGNG> というか、これぐらい自分でヘッダーファイルたどって調べられませんか?
というか普通/FDオプションを使いませんか?
http://www.microsoft.com/japan/developer/library/vccore/_core_Compiler_Reference.htm
0895yumiko
NGNG放置してください
0896デフォルトの名無しさん
NGNGそれが+や-等計算の仕方が6通りあるので16×6で96通りあるということです。
0897yumiko
NGNG#include <stdio.h>
int main(
int argc,
char * argv[ ]
)
{
if (argc !=3)
printf("wrong no. of arguments\n");
else
{
printf("Sum: %d\n", atoi(argv[1]) + atoi(argv[2]));
}
return 0;
}
これを改良して2つの引数を加算乗除するプログラムをつくれ
a.out 2 4 なら
sum: 6 2+4
dift: -2 2-4
prod: 8 2*4
わりきれません
おねがいします
0898yumiko
NGNG22は11で割りきれる
22は2で割りきれる
22は1で割りきれる
だれかお願いします。
つまり
引数より少ない正整数で割りきれるものをすべて列記する。
プログラムを開発せよ。
これもおねがいします。
0899デフォルトの名無しさん
NGNGここの決まりを知らないようだから教えてあげるけど、
女性はまず質問する前に写真をUPしなきゃならないんだよ。
0900デフォルトの名無しさん
NGNGこれだと96通りの答えが出ないような・・・
a〜hの数値は任意でいいので適当に割り振っちゃってください
0901デフォルトの名無しさん
NGNG教えてくれ。
それやっても .bsc ファイルができあがるだけなんだが、その後どうするんだ?
ソースブラウザで辿っても要領を得ないし。
つーか元々これで最初に <xlocale> で呼ばれる事がわかって、逆順に辿ったんだ
が・・・。
これで、ファイルインクルードのツリーが見れるのか?
わからない漏れがヴァカなのか?
0902デフォルトの名無しさん
NGNGprintf("%d - %d = %d\n", a[i], b[j], a[i] - b[j]);
printf("%d - %d = %d\n", b[i], a[j], b[i] - a[j]);
printf("%d * %d = %d\n", a[i], b[j], a[i] * b[j]);
printf("%d / %d = %d\n", a[i], b[j], a[i] / b[j]);
printf("%d / %d = %d\n", b[i], a[j], b[i] / a[j]);
printf("%d & %d = %d\n", a[i], b[j], a[i] & b[j]);
printf("%d | %d = %d\n", a[i], b[j], a[i] | b[j]);
少し変えてみたけど、これでいいんない?
0903デフォルトの名無しさん
NGNGaがbで割りきれるかどうかの判定(型はint)
if (a % abs(b) == 0) {
/* 割りきれる */
} else {
/* 割りきれない */
}
0904デフォルトの名無しさん
NGNGありがとうございます
いったんこれで提出してみます
0905デフォルトの名無しさん
NGNGそれだと4*4*8で128行表示されるんじゃない?
0906デフォルトの名無しさん
NGNG> 引数より少ない正整数で割りきれるものをすべて列記する。
「素因数分解」でgoogleしてみたのか?
0907デフォルトの名無しさん
NGNGというか設問の意味がよく分からないんだけど(藁
0908デフォルトの名無しさん
NGNG二重ループでまわしてるから、結局全部の組み合わせをやるのでは?
0909デフォルトの名無しさん
NGNG例えば+を計算するならa+e,a+f,a+g,a+h〜d+e,d+f,d+g,d+hの16通り計算するということです。
そしてそれと同様−、×、÷、論理和、論理積の計算もするという問題だと思います。
言われてみれば-と/は計算が増えそうですね
同一でない計算ってのがミソですか
0910デフォルトの名無しさん
NGNGintじゃなくdoubleでやれば891のでOKじゃない?
0911デフォルトの名無しさん
NGNG0912デフォルトの名無しさん
NGNG0913デフォルトの名無しさん
NGNGdoubleにして>902で完璧ってことすか?
0914デフォルトの名無しさん
NGNG問題に「整数集合」ってあるけど、doubleでいいの?
0915デフォルトの名無しさん
NGNGだからぁー891をdoubleにすればprintfは4つでいいんじゃない?
でも最初から配列を定義するんじゃなく、後から定義する形がいい
0916デフォルトの名無しさん
NGNG答えが整数じゃない場合もあるからdoubleでいいのでは?
0917デフォルトの名無しさん
NGNG0918デフォルトの名無しさん
NGNG0919デフォルトの名無しさん
NGNGかといって漏れには書き直す力なし、ほかの方お願いしまつ
0920&rlo;
NGNG0921YAHOOO
NGNG0922デフォルトの名無しさん
NGNG同じ学科ですね・・・(笑
すまん誰か俺にも教えてくれ。
0924デフォルトの名無しさん
NGNG動作確認してないから、バグってるかもしれんけど、
そのときは自分で直しなよ。
#include <stdlib.h>
#include <stdio.h>
int main(
int argc,
char * argv[ ]
)
{
int i, n;
if (argc !=2)
printf("wrong no. of arguments\n");
else
{
n = atoi(argv[1]);
for (i = n - 1; i > 0; --i) {
if (n % i == 0) {
printf("%dは%dで割り切れる\n", n, i);
}
}
}
return 0;
}
0925922
NGNGすげーな。こんなに早くできるとは・・・。感謝します。
明日あたりPCで試してみるわ。
0927デフォルトの名無しさん
NGNG2ちゃんねらーには難しすぎます。
だれもできません。
だからもう訊かないでください。
sage
0928デフォルトの名無しさん
NGNGだまってろ
0929デフォルトの名無しさん
NGNG君 は わ か る ん で す か ?
0930デフォルトの名無しさん
NGNG簡単すぎてつまらんしめんどいし
自作自演で煽ってるようなやつら感謝しなさそうだからヤメ
0931デフォルトの名無しさん
NGNGできないならできないといいなさい。(ぷっ
0933デフォルトの名無しさん
NGNG2 32 4
3 90 78
こういうのを
32 23 43
2 32 4
3 90 78
みたいにそろえて表示するやり方教えて〜
0934デフォルトの名無しさん
NGNG何も変わってないように見える。
0935デフォルトの名無しさん
NGNG0936デフォルトの名無しさん
NGNG>>933の後半は %2dってことじゃない?
printf("%dと%5dのちがい。",100, 100 );
0937デフォルトの名無しさん
NGNGここに入力すると半角スペース約1個分になるよ。
0938デフォルトの名無しさん
NGNGそれじゃポップアップしたときに美しくない
あ、2chブラウザ使ってたときね
0939デフォルトの名無しさん
NGNG0940デフォルトの名無しさん
NGNGmainの引数のインデントには脱帽。
0941デフォルトの名無しさん
NGNG( ´,_ゝ`)フーン
0942デフォルトの名無しさん
NGNG0943デフォルトの名無しさん
NGNGブラウザからだと見えないだけで、インデントはしてる。
半角スペースだから縮退してる。
0944942
NGNGでもそんなに変か?
0945教えて厨
NGNG1<={x,y,x}<64
を満足する整数の組み合わせ{x,y,z}を全て求めよ。
ただし、{x',y',z'}=整数×{x,y,z}となる組合せ
(例:{6,8,10}=2×{3,4,5})は不要
Cで組んでください ねらーのみなさま、おながいします
0946デフォルトの名無しさん
NGNG0947デフォルトの名無しさん
NGNG0948デフォルトの名無しさん
NGNG0949また貴様か!&rlo;!ろり懲はし少 &lro;
NGNG/ \ \
∧_∧/
(;´Д`) i i i
/ ヽ _ i i i--、
./| | | |  ̄ ̄ ̄ |:::::|.
/ \ヽ/| | ノ__ノ..
/ \\| |
/ /⌒\ し(メ .i i i . .
/ / > ) \ ノノノ
/ / / / .\_ ザックザック
し' (_つ /:::::/::... /ヽ
; "ノ・ ./∴: / )i iヽ-、_へ ,ヘ
'',, : :―― / / i i i iヽ . ̄ ゙― ノ /
n_ _/; i .ノ / /ノ-' ̄ ゙ ― 、__ノ
_ノ 二二二、_( _Д_ ;)-ヽ_ノ-'>>945
゙ー ''~ ∨ ̄∨
0950デフォルトの名無しさん
NGNG素朴な疑問です。
>>897-898さんの難しいとか、よくわからんとかレスしていますが、
そのプログラムを作ってどう役立つのだろう?
最近学校からでる宿題もなんの役に立つかさっぱりわかりません(;´Д`A
0951デフォルトの名無しさん
NGNG0952デフォルトの名無しさん
NGNG次スレよろしく。
練習用プログラムは、確かに役に立たないものが多いよ。
でも、プログラミング上で必要になる考え方というものが学べる。
独習である程度できるようになってしまった人には退屈かも知れないけど、
浮かれていると落とし穴にはまる事があるから気をつけろ。
0953デフォルトの名無しさん
NGNG役に立って、しかも初心者でもかける簡単なプログラムって
考えるのは難しいんじゃないの?
教えるほうも。
0954950
NGNGhttp://pc3.2ch.net/test/read.cgi/tech/1036572120/
まじレスさんくすです。
>>951
言いましたが、がんばれ。と返されたよ(・_・;
>>952さん>>953さん。
ふむ。忠告&アドバイスありがとう。精進するためにがんばってきます
0955お願いします。
NGNGmain()
{
int hoge[]={10,11,12,13};
int* piyo;
piyo=hoge;
/*piyo=&hoge[0]*/
printf("*(&hoge).....%d\n\n",*(&hoge));
/*なぜErrorにならないのか?*/
printf("*(&piyo[3])..%d\n",&piyo[1]);
/*piyoには添え字はないのに、なぜアクセスできるのか?*/
}
0956デフォルトの名無しさん
NGNG「配列はポインタ演算をした時、最初の要素へのポインタと成り下がる」
以上。
0957デフォルトの名無しさん
NGNGgccならフォーマット文字列の中身まで見て警告してくれる。
しかし、一般的にprintfのフォーマット文字列以外のパラメータを
コンパイラは型チェックできない。
printfのプロトタイプは
int printf(const char *format, ...);
だから、formatの型はチェックできる。しかしそれ以降は、
チェックできない。formatの中身を見ればできないこともないが、
普通単なるconst char*としてしかコンパイラは見ない。
関数のパラメータで「...」というのは型チェックしないというのはCの規約だ。
しないというより、できない。
gccはprintfを特別扱いして、文字列リテラルがprintfに与えられたとき
続くパラメータをチェックしてくれている。
0958デフォルトの名無しさん
NGNG・・・ネタ?
0959デフォルトの名無しさん
NGNGなんか間違ったこと言ってる?
0960デフォルトの名無しさん
NGNGいや、957 そのものはすんごく正しいんだけど、955 へのレスとして全然妥当
でないような。
んだから、955 に適当教えてセンセイにあぼーんさせるネタかと思ったの。
0961デフォルトの名無しさん
NGNG凡用的にする改良や、使いやすくするための改良などを考えたいんですが、
どうしたら良いでしょうか?
マクロとか、グローバル変数、乗算などの減少などくらいでしょうか…
#include <stdio.h>
double m = 4.0, n = 8.0, mn = m*n,a0 = ((1 - n*n)*mn),a1 = (3*mn*n - m),
a2 = (-3*mn),a3 = m;
double f( double x );
void main (void)
{
double q0, q1, q2;
int k, i;
k = 31;
q0 = n - 0.5;
q1 = n + 0.5;
if ( f( q0 )*f( q1 ) < 0 ){
for ( i = 1; i <= k; i++ ){
q2 = ( f( q1 )*q0 - f( q0 )*q1 )/( f( q1 ) - f( q0 ) );
printf( "k =%3d x = %12.4le\n", i, q2 );
if ( f( q2 )*f( q1 ) > 0 ){
q0 = q2;
}
0962つづき
NGNGq1 = q2;
if ( q2/8.0 >= 0.99 ){
break;
}
}
printf( "真の解との誤差1%%以下を得るのに必要な回数は%dです。\n",i );
}
else
printf( "初期値エラー\n" );
}
double f( double x )
{
double y;
y = a3*x*x*x + a2*x*x + a1*x + a0;
return y;
}
0963デフォルトの名無しさん
NGNGつーか凡用って何?
0964961
NGNG分かりました。ご忠告どうも。
凡用は汎用の間違いです。すみません…
0965デフォルトの名無しさん
NGNG異常以上
0966:
NGNGってどういういみですか?
0967デフォルトの名無しさん
NGNGint型を返す、mainと言う名の関数です。
0968:
NGNG(x={1,3,4,2,0,0,0…0}みたいに)
たとえば"1,2,4,end"とやればx={1,2,4,0,0,0,0,…}
どうやればいいんですか?
0969デフォルトの名無しさん
NGNG0970デバグはしてない
NGNGint x[20]={0}, i = 0;
do {
if(scanf("%d",&x[i])==0)break;
} while( ++i < 20 );
/* iは正しく入力された個数を示す */
0971:
NGNG0972デフォルトの名無しさん
NGNG0973デフォルトの名無しさん
NGNG0974ド素人
NGNGある月の日数と、初日の曜日(日:1、月:2、…、土:7)を入力し、
その月と翌月のふた月分のカレンダーを以下の例のように横に並べて表
示するプログラム
ただし、ある月の日数が31日の場合は翌月の日数を30 日、ある月の日
数が30日の場合は翌月の日数を31日、として考え、一行ずつ配列に格納
し、表示する
例えば、日数:31、初日の曜日:3 の場合、以下のように表示せよ。
S M Tu W Th F S S M Tu W Th F S
1 2 3 4 5 1 2
6 7 8 9 10 11 12 3 4 5 6 7 8 9
13 14 15 16 17 18 19 10 11 12 13 14 15 16
20 21 22 23 24 25 26 17 18 19 20 21 22 23
27 28 29 30 31 24 25 26 27 28 29 30
というのを作らなければならないのですが、はっきりいってまったくわかりません。
できればおしえていただけないでしょうか?
0976ド素人
NGNG1 2 3 4 5 1 2
6 7 8 9 10 11 12 3 4 5 6 7 8 9
13 14 15 16 17 18 19 10 11 12 13 14 15 16
20 21 22 23 24 25 26 17 18 19 20 21 22 23
27 28 29 30 31 24 25 26 27 28 29 30
です。すみません
0977ド素人
NGNG0978デフォルトの名無しさん
NGNG一月分のカレンダーは出せるか?
0979ド素人
NGNG0980デフォルトの名無しさん
NGNG0981デフォルトの名無しさん
NGNGハラヘッタ〜
☆ チン 〃 Λ_Λ / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
ヽ ___\(\・∀・)< C++の宿題まだ〜?
\_/⊂ ⊂_)_ \____________
/ ̄ ̄ ̄ ̄ ̄ ̄ ̄/|
|  ̄  ̄ ̄ ̄  ̄ ̄:| :|
| |
0982デフォルトの名無しさん
NGNGじゃ>974教えてやってくれ
0983ド素人
NGNG表示するのしかできてないです
0984デフォルトの名無しさん
NGNG_( ´∀`) (´∀` )
三(⌒), ノ⊃ ( ) ←ド素人
 ̄/ /) ) | | |
. 〈_)\_) (__(___)
∧_∧ .∧_∧
( ´∀) (´∀` )
≡≡三 三ニ⌒) .)
/ /) )  ̄.| | |
〈__)__) (__(___)
∧_∧ ,__ ∧_∧
( ´)ノ ):;:;)∀`)
/  ̄,ノ'' )
C /~ / / /
/ / 〉 (__(__./
\__)\)
ヽ l //
∧_∧(⌒) ―― ★ ―――
( ) /|l // | ヽ
(/ ノl|ll / / | ヽ
(O ノ 彡'' / .|
/ ./ 〉
\__)_)
 ̄ ̄ ̄ ̄ ̄
逝ってよし!
0985デフォルトの名無しさん
NGNG最後の週の余りの数。
などに気を配る。
0986デフォルトの名無しさん
NGNG0987ド素人
NGNGmain(){
int a,b,c;
printf("月の日数を入力してください。:");
scanf("%d;,&a");
printf("初日の曜日を入力してください。:");
scanf("%d",&b");
printf(" S M Tu W Th F S\n");
for(c=0;c<b-1;c++){
printf(" ");}
for(c=1;c<=a;c++){
printf("%3d",c);
if(c==8-b){
printf("\n");}
else if(c==15-b){
printf("\n");}
else if(c==22-b){
printf("\n");}
else if(c==29-b){
printf("\n");}
else if(c==36-b){
printf("\n");}
else if(c==a){
printf("\n");}}}
これで一月分のカレンダーは出せました。
これ以降ができないのです。
0988デフォルトの名無しさん
NGNG0989デフォルトの名無しさん
NGNG0990デフォルトの名無しさん
NGNG0991デフォルトの名無しさん
NGNG0992デフォルトの名無しさん
NGNG\∧_ヘ / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
,,、,、,,, / \〇ノゝ∩ < 1000取り合戦、いくぞゴルァ!! ,,、,、,,,
/三√ ゚Д゚) / \____________ ,,、,、,,,
/三/| ゚U゚|\ ,,、,、,,, ,,、,、,,,
,,、,、,,, U (:::::::::::) ,,、,、,,, \オーーーーーーーッ!!/
//三/|三|\ ∧_∧∧_∧ ∧_∧∧_∧∧_∧∧_∧
∪ ∪ ( ) ( ) ( ) )
,,、,、,,, ,,、,、,,, ∧_∧∧_∧∧_∧ ∧_∧∧_∧∧_∧∧_∧
,,、,、,,, ( ) ( ) ( ) ( )
0993デフォルトの名無しさん
NGNG0994デフォルトの名無しさん
NGNG0995デフォルトの名無しさん
NGNG0996デフォルトの名無しさん
NGNG0997デフォルトの名無しさん
NGNG0998デフォルトの名無しさん
NGNG0999デフォルトの名無しさん
NGNG1000デフォルトの名無しさん
NGNG10011001
Over 1000Threadもう書けないので、新しいスレッドを立ててくださいです。。。
レス数が1000を超えています。これ以上書き込みはできません。