C・C++・C#
- 文字列処理関数について
おみくじのプログラムを書きました。初めのが私のもので、次のが参考書のものなのですが、なんでわざわざ 文字列処理関数を使うのかがわかりませんでした。 教えてください!! int main() { int r =0; int i =0; srand(time(NULL)); r = rand()%3+1; for(i=0;i<2;i++){ if(r == 1) { printf("大吉:充実した1日\n"); } else if(r == 2) { printf("小吉:充実した1日\n"); } else { printf("凶:衝動買いに注意\n"); } return 0; } ********************** ********************** main(){ int kuji; char kekka[6]; char str[45]; srand(time(NULL)); r = rand()%3+1; switch(kuji){ case 1: strcpy(kekka,"大吉"); strcpy(str,"金運アップ"); break; /*case2,3は省略します*/ default: break; } printf("%s:%s",kekka,str); return 0; }
- ソートにかかった時間を測りたい。
初心者です。クイックソートとか挿入ソートとかのかかる時間を測るためにはどうしたらいいでしょうか?かかった時間を表示させるプログラムを書くのは可能でしょうか??宜しくお願いします。
- プログラムがうまく実行できません。
下にソースを載せたのですが、このプログラムがうまく実行できません。 OSはWin XPでコンパイラはボーランドのフリーコンパイラを利用しています。 #include<stdio.h> #include<math.h> int main() { double a,b,c,d,e,p; a=-1.43; b=1.43; c=-4.29; d=1.72; e=2.43; fot (p=0; p<1; p=p+0.0001){ printf("(%1.5f*pow(p,2)+%1.5f)/(%1.5%f*pow(p,2)+%1.5f*p+%1.5f,\n",a,b,c,d,e); } return 0; } (変えたい内容) pの値が0<p<1の範囲で、0.0001から0.0001ずつ増して行き、0.9999まで繰り返し処理して、1回ずつの値を出力したいのですが、うまくいきません。
- 数式(分数)のC言語です。
ややこしい数式なんですがお願いします。 S=(P^2 +1.5)/(-3P^2 + 1.7P +2.4) この問題です。 P(0 <= P < 1 ) これをPの範囲内で繰り返し計算します。その値を1回づつ表示したいのですがどうしたらいいのか分かりません。お願いします。
- ベストアンサー
- waynemarshall
- C・C++・C#
- 回答数2
- コマンドラインアプリケーション
Cで、Windowを出さずに、コマンドラインで、 入力をやり取りしながらの、アプリケーション を作りたいと思っています(練習で、WINAPIを 使いたいだけなので)。 以下のようなコードで、メッセージボックスが 表示されなくなってしまいます(止まってしまう)。 int WINAPI WinMain(HINSTANCE hi,HINSTANCE phi,LPSTR lpstr,int cmd){ int num; printf( "何か数字を入力して下さ\n" ); scanf( "%d", &num ); printf( "入力されたのは%d\n",num); MessageBox(NULL,"OK?","start",MB_OK); return 0; } ここで、scanfなどの関数を使わなければ、 メッセージボックスが表示されます。 標準入力で入力してもらい、必要なら、 メッセージボックスをだして、といった 感じで作りたいのですが。 よろしくお願いします。 ちなみに、使っているのは、lccとかいう コンパイラです。
- 教えてください
swap関数のprintf("変数名naアドレスは%pです。\n", nx); printf("変数名nbのアドレスは%pです。\n", ny);のnx, nyは、&nx, &nyとしなくていいのですか?同様にswap関数のn1,n2に関しても宜しくお願いします。あと、swap(n1,n2)もどうして&をつけないか教えてください。 #include <stdio.h> void swap (int *nx, int *ny) { int temp = *nx; printf("変数名naアドレスは%pです。\n", nx); printf("変数名nbのアドレスは%pです。\n", ny); *nx =*ny; *ny = temp; } void sort2 (int *n1, int *n2) { printf("変数naのアドレスは%pです。\n",n1); printf("変数nbのアドレスは%pです。\n",n2); if (*n1 >*n2) swap (n1, n2); } int main(void) { int na, nb; puts("二つの整数を入力してください。"); printf("整数A:"); scanf("%d", &na); printf("整数B:"); scanf("%d", &nb); printf("変数naのアドレスは%pです。\n",&na); printf("変数nbのアドレスは%pです。\n",&nb); sort2 (&na, &nb); return (0); }
- 漢字コード変換のアルゴリズム…
下記URLのページ中に、 http://www.tohoho-web.com/wwwkanji.htm 「各コード間の変換アルゴリズム」 という項目があるのですが、 その下の、 「漢字コードマップ」を見ても、 JIS⇒S-JISの変換アルゴリズムがよくわかりません。 自分でももう一度考えて見ますが、 参考にあるようなサイト、 もしくは説明?してもらえると助かります。
- ベストアンサー
- akaruimirai01
- C・C++・C#
- 回答数5
- ひし形のあたり判定について
C言語でクォータービューのRPGを作っているのですが、ひし形をマップの座標からウィンドウへ描画する座標については自力で解決できたのですが、マウスの位置を取得してそこにカーソルを重ねるときにひし形のあたり判定の仕方がわからないのですが、どなたかご存知ないでしょうか? 教えてくださいお願いします。
- ベストアンサー
- haruna1987
- C・C++・C#
- 回答数1
- 分解能10msのタイマー(dosで)
分解能10msのタイマーがどうしても必要なのですが。 システムタイマーを使った場合,分解能55msらしく使えません。マルチメディアタイマーはwindowsでしか使えないっぽい?です。どうしたらいいですか? 環境 os:dos コンパイラ:ターボC++
- C言語について教えてください。
初心者です。宜しくお願いいたします。 /* yuki */ #include <stdio.h> int main() { int hako; char *p[3] = { "kkkkk","oooo","llll" }; for (hako=0;hako<3;hako++){ printf("ポインタ表示%s\n",p[hako]); } return 0; } 整数でポインタの中身を配列出力しているのですが、これをインクリだけで表示することってできないでしょうか??本当はポインタにアドレス入れて入力をインクリしてどんどん入力したいとおもってます。 表示は配列で出したいとおもいます。(他に方法があるのかわからないです^^;) それと、入力なのですが、scanfですと入力待ちになるのですが、getsですとスルーされてしまうことがあるのです。玄人の方々は、これにはいろいろ問題があるみたいに聞いた事があります。それってなぜなのでしょう?? 私の素人感覚では上の二つの使いかたは、変数とキャラ型での使いかたっておぼえました。両方とも数字なのは承知してます。できるときと出来ないときがあるので、そのときになぜ??っておもうことがあるのです。 どうかご指導お願いいたします。
- VC++のOCXが、VBで登録できません
ご教示願います。 VC++で、OCXの雛形を作成し(ウィザードにより作成) そのままビルド、カスタム処理の無いOCXを作りました。 そのOCXをVBで「コンポーネントの参照」をしようと思ったのですが 「ActiveXコンポーネントとして登録できない」とエラーが 出てしまいました。 その前に、色々と処理を書いたOCXを登録しようと思っても 同じエラーが出たため、コードが悪いのかと思い ためしに雛形の登録をしてみたのです。 なぜ登録できないのか、何か気づいた方が いらっしゃいましたら、教えて頂けますでしょうか。 ※この設定をしないといけない、等等・・。 宜しくお願い申し上げます。 バージョンは、どちらも6.0です。
- 基本的なことかも知れませんが・・・・・
今回Visual C++.NETを購入してプログラミングを勉強しているところなのですが、プロジェクトの意味がわかりません。。。。 大学で使っていたものを違うからなのでしょうか・・・・。 一つのプロジェクトに一つのプログラムのソースファイルしか作ることができないのでしょうか?? あとディレクトリーとプロジェクトは違うのでしょうか?? 買ったばかりで躓いていて理解できてないです。 基本的なことかもしれないのですがよろしくお願いします。
- ベストアンサー
- silverclover
- C・C++・C#
- 回答数6
- 携帯ゲームってC++で作れる?
携帯電話ではJAVAアプリのゲームが色々ありますけど、C++で作る事はできないでしょうか? もしもC++で作ったらそれはどうやって携帯で実行させるのでしょう(?_? どなたかお詳しい方教えてください!><
- 3つの言語をマスターしたい
博士課程(複合領域系、工学と経営・経済の融合)3年ですがあまり言語を勉強したことがありません(Cは使用していますが)。自身の専門をネットワーク等にも広げたいので、Cを勉強しなおし、それ以外にお勧めする言語を二つおしえてほしいのです。
- ベストアンサー
- optimal_boy
- C・C++・C#
- 回答数6
- Microsoft DirectX 9.0 SDK (June 2005)について
DirectX SDKをインストールしたいのですが、 Microsoft DirectX 9.0 SDK (June 2005) このバージョンについてインストールの方法を書いてあるサイト等があったら教えてください。 よろしくお願いします。
- 多次元配列のポインタ渡し
C++を使用しています。 多次元配列を関数の引数として渡したいとき、関数側では void A::Func(int a[10][20][30])~ 呼びだし側では Finc(a); とやればいいのはわかります。 お聞きしたいのは、仮引数として呼び出された配列(上でいうa)をクラスのメンバ変数として保持したい場合の方法です。 aは先頭アドレスなのでそこを差すポインタを受ければいい、っていうことはわかりますが、 この方法ですと、受けたメンバ変数が配列みたいに[]を使ってアクセスできません。 (メンバ変数のポインタは配列じゃないから当然ですよね) これを通常の配列みたいに扱えるようにするにはどうしたらいいでしょうか。
- ベストアンサー
- Untitled1983
- C・C++・C#
- 回答数3
- 秒数を数える(C言語)
プログラム実行時に時間を数え始めて、100秒経過したらまた最初からプログラムを実行しようと考えています。(tcpdumpみたいなもの) まず、秒数を数えて出力するプログラムを作ってみたのですが、実行しても0.000000と出てしまい、数えることが出来ませんでした。 (例) #include<stdio.h> #include<time.h> void tekitou(); int main() { while(1) { /*無限ループ*/ tekitou(); } return 0; } void tekitou() { static time_t start; time_t last; start = clock(); last = clock(); printf("%f\n", (double)(last - start)/CLOCKS_PER_SEC); } OSはLinuxでコンパイラはgccです。よろしくおねがいします。
- ベストアンサー
- zunzunzunzunzun
- C・C++・C#
- 回答数4