『C・C++・C#』に関する質問・疑問一覧

次へ  ]
26051件中 101~120件目
  • Cの変数の初期化のタイミングについて

    以下のようなCの演習プログラムについてお尋ねします。 やっていることは、inc_counterと言う関数を呼び出して呼び出すたびに変数を1つづつ増やすというもので、10回呼び出すので変数が10になるというものです。この演習プログラムが言いたいことは変数counterの動作ということです。 externですべての関数の外側で宣言されているから呼び出す側、呼び出される側で共通になっているということですが、void inc_couter(void)の実体(後方)の前にint counter=0;となっています。この文は変数counterの初期化ということだと思いますが、これが実行されるのはいつなのでしょうか。関数inc_counerの呼び出しのときは実行されないのでしょうか。もしそうなら関数が呼び出されるたびに初期化されるはずですが、そうではないのでしょうか。 変数のスコープとか初期化とかの問題だと思いますが、この辺を間違って理解すると大けがをしそうなのでお尋ねします。よろしくお願いします。 #include<stdio.h> extern int counter; void inc_counter(void); main() { int index; for(index=0; index<10; index++) inc_counter(); (void) printf("Counter is %d\n",counter); return (0); } int counter=0; void inc_counter(void) { counter++; }

    2019/06/23 17:07
  • プログラマという職種への向き不向き

    はじめまして。お世話になります。 10年前に大学の情報系学部を卒業した社会人です。 当時リーマン・ショックの影響を受けて新卒で就職出来ませんでした。 また、その時自分のスキルを考えたところ組み込み系でない単なるC言語。 それだけでした。 C/C++という求人で面接に行くと「VisualStudioは使える?」と言われました。 使用した経験はありませんと答えると、「君はきっと~な人生を送るだろうね」 このように、面接に行くたびに「君はそれでも25歳の社会人か!」とか、 「ソリューションの意味を答えてみろ」・・・「帰れ」などの連続でした。 おそらく、正社員や派遣社員、仕事のホウレンソウ、新人研修などの経験がなく、 さらに、PGだけに固執して他の業種を見ていなかったからだと思います。 この時代は、本当に非常事態宣言が出されるほどの氷河期でした。 今は、就労を支援してくれるハロワークさんの繋がりで、サポートして頂き、 遅い就職でしたが、無事に仕事に就くことが出来ました。 ですが、さすがに一般の正社員ではないので、まだ記憶にあるCからPHPに 手を伸ばしてみたいと考えています。ただ、タイトルに書きましたように、 プログラマの向き不向きはあるのでしょうか? さすがに、30代半ばでは無理でしょうか? できればPG・SE業界で働いている、働いた経験のある方からアドバイスを 頂きたいです。長々とすみません。宜しくお願いいたします。

    2019/06/20 11:12
  • 意図しないdll を、読み込むソフトは他にもある?

    まず、確認。 dll って、dll ロード時に何か実行できたんだっけ? イニシャライズでできたような気もするが、一応確認。 VIXと言う画像閲覧ソフトで、画像が入っているフォルダにdll があると、読み込むというバグ?仕様があるようだ。 確認してないけど、他のソフトにもあるのかね? 確かめたくなるよね。(苦笑 通常は、ソフト内やplug-inのフォルダならまだしも分かるが、閲覧先のフォルダと言うのた、意図して付けた仕様なのかね。

    2019/06/17 09:07
  • 通信のTLSのクライアント証明書について

    通信モジュールが入った組み込み機器の開発を行なっています。 TLS(SSL)で通信を行うのですが、1つの同一のクライアント証明書を例えば1000台の組み込み機器に入れ込んで良いのでしょうか?1台1台別のクライアント証明書を発行するべきでしょうか?お金もかかりますしあまりやりたくないのですが。。

    2019/06/17 00:34
  • C言語イプシロン値

    現在使用中の開発環境(C言語使用)標準ヘッダfloat.hに単精度浮動小数点数イプシロン値が下記のように定義されています。 #define  FLT_EPSILON   0x8p-26F 「0x8p-26F」なる表現を初めて見たのですが、これはどういう意味で、具体的にどんな数字になるのでしょう? ご存じの方、教えてくださいませ。 よろしくお願いします。

    2019/06/12 16:19
  • CUDAにおける排他的処理について

    CUDAにおいて異なるBlockがグローバルメモリの配列に加算を行う場合を考えます。 配列の同じアドレスに異なるBlockのThreadが加算処理を行う際は競合を避けるためにatomicAdd()を用いるのが一般的ですが、atomicAdd()を用いると処理が逐次的になってしまいパフォーマンスが低下します。 このような場合にもっと効率の良い方法はないでしょうか(atomicAdd()を使わないような)? どなたか教えていただけると幸いです。

    2019/06/07 01:27
  • MFCをDLL化してコンソールアプリから起動

    MFCアプリケーション(プロジェクト作成でMFCアプリケーションを選択)をDLL化して、コンソールアプリケーションからこのMFCをマルチスレッドで起動する方法を教えてください。MFCが起動後、コンソールアプリケーションの処理は次に進行し、MFCは操作可能な状態(アイコンなどがクリック可能で、青丸クルクルにはならない)にしたいです。また、コンソールアプリケーションからもMFCが操作可能にしたいです(例えば、コンソールアプリからAと入力するとファイルのオープンダイアログが開く、、、とか)。

    2019/05/31 00:32
  • 乱数の順位付けのアルゴリズム

    [0,1]の範囲で乱数を1000個、配列に発生させて、小さいもの100個を選び出すアルゴリズムということを考えます(知りたいのは数値と配列番号、むしろ配列番号が大事)。まず想定できるのはソートですが、それにもいろんなものがあり、クイックソート、バブルソートなどが挙げられます。ソートのアルゴリズムは既に開発されつくしたのかもしれませんが、どのようになっているでしょうか。一番高速な(かつ間違いない)な方法が1つあればそれを採用したいのですが。 そして1つ厄介なのですが、そのトップ100個以外の900個はソートする必要がないということです。私が考えているアルゴリズムは、 1.既に100個の選ばれていると仮定(初期はすべて1) 2.新しい1個が来たとき、100個の最低値よりも小さいなら考慮の対象なのだから最低値を交換してその100個でソートする。そうでない場合は何もしない。 3.次の新しい1個を調べて、項目2をする。 4.発生させた1000個でそれを繰り返す。 このアルゴリズムだと100個のソートを何百回かぐらいやることになります。 これをするぐらいだったら1000個のソートを1回やればいいということになるでしょうか(不必要な残りの900個もソートされてしまう)。あるいはその1回の1000個のソートの中でやる必要のない処理を排除する工夫があるかもしれません。 問題が難しくなく、素人っぽくコード化できると思いますが、その分、非効率なところも放置されそうなので高速化できるコードの書き方があったら教えて頂きたいのですが。コードというよりアイディアだけ説明していただいても助かります。実際はフォートランになると思いますが。よろしくお願いします。

    2019/05/28 05:19
  • VBなどのフォームエディタのコントロール名

    VBやVC#で、ドラッグして画像を配置するソフトを作ろうとしています。 そこで、VBやVC#のフォームエディタのコントロールを使おうと考えたのですが、コントロール名がわからず、調べられません。フォームエディタコントロールを使うような記事も見つかりません。 ご存知でしたら、コントロール名を教えてください。

    2019/05/25 11:13
  • C#で3Dボタンを作成する方法

    Visual C# にて、「Windowsフォームアプリケーション(.NET Framework)」プロジェクトを作成し、フォーム上にボタンとテキストボックスを配置し実行すると、添付の図1のようになりますが、このボタンをクラシックスタイルの3Dボタン(図2のように、ボタンの上辺と左辺が明るく、下辺と右辺が暗くなっているボタンです)のようにするにはどうすればいいですか? ボタンのプロパティのうちのどれかを弄れば出来そうな気がするのですが、それらしいものが見当たりません。単に見つけられていないだけでしょうか。 よろしくお願いします。

    2019/05/24 20:50
  • C言語で3次元配列を使い一年分のカレンダーを作成

    カレンダーは完成したのですが曜日がズレてしまい綺麗に表示されません。どのように改善すれば良いのでしょうか?よろしくお願いします。 現状です #pragma warning(disable:4996) #include <stdio.h> #include <Windows.h> enum M_LIST { JAN, FEB, MAR, APR, MAY, JUN, JUL, AUG, SEP, OCT, NOV, DEC, N_MONTH }; enum W_LIST { SUN, MON, TUE, WED, THU, FRI, SAT, N_WEEK }; int mday[] = { 31,28,31,30,31,30,31,31,30,31,30,31 };//各月の日数 char *weekday[] = { "日","月","火","水","木","金","土" };//各曜日 /*プロトタイプ宣言*/ int monthday(int year); void Array(int total, char box[N_MONTH][N_WEEK][N_WEEK]); void karenda(char box[N_MONTH][N_WEEK][N_WEEK]); /*メイン*/ void main(void) { int year, total; char box[N_MONTH][N_WEEK][N_WEEK] = { 0 };//3次元配列を宣言し0を入れる /*画面制御の初期化*/ COORD coord; HANDLE hStdout; hStdout = GetStdHandle(STD_OUTPUT_HANDLE); printf("西暦を入力"); scanf("%d", &year);//年度の入力 total = monthday(year); Array(total, box); karenda(box); } /*求める月の前月までの総日数*/ int monthday(int year) { int total = 0; /*求める年の前年までの総日数を求める*/ total = (((year - 1) * 365) + ((year - 1) / 4) - ((year - 1) / 100) + ((year - 1) / 400) + 1); /*うるう年の判定*/ if (((year % 4) == 0 && (year % 100) != 0) || (year % 400) == 0) { mday[FEB] = 29; } else { mday[FEB] = 28; } return total % 7; } /*カレンダーの配列*/ void Array(int total, char box[N_MONTH][N_WEEK][N_WEEK]) { int month, row, col, day; col = total; for (month = JAN; month < N_MONTH; month++) { row = 1; day = 1; while (day <= mday[month]) { box[month][row][col] = day; if (col > SAT) {//土曜までいったら次の週 row++; col = SUN; } day++; col++; } } } /*カレンダーの出力*/ void karenda(char box[N_MONTH][N_WEEK][N_WEEK]) { int month, week, day; for (month = JAN; month < N_MONTH; month++) {//月の出力 printf("%3d\n", month + 1); for (week = SUN; week < N_WEEK; week++) { for (day = SUN; day < N_WEEK; day++) { if (week == 0) {//曜日の出力 printf("%s", weekday[day]); } if (box[month][week][day] == 0) {//0なら空白 printf(" "); } else { printf("%3d", box[month][week][day]); } } printf("\n"); } printf("\n"); } } 今はこのような形で表示されます(空白は_で表しています) 日____月____火____水____木____金____土 ________1___2___3___4___5 6___7___8___9__10__11__12 13_14__15__16__17__18__19 20_21__22__23__24__25__26 27_28__29__30__31

    2019/05/22 17:37
  • C言語「3次元配列で1年間分のカレンダー作成」

    C言語課題で3次元配列で与えられた年の1年間分のカレンダーを作成するという課題で日数の表示の方法が分かりません。回答などいただけると参考になりますので教えていただけるとありがたいです。 現在の状態です(この状態ではエラーは起きていません) #pragma warning(disable:4996) #include <stdio.h> #include <Windows.h> enum M_LIST { JAN, FEB, MAR, APR, MAY, JUN, JUL, AUG, SEP, OCT, NOV, DEC, N_MONTH }; enum W_LIST { SUN, MON, TUE, WED, THU, FRI, SAT, N_WEEK }; char *weekday[] = { "SUN","MON","TUE","WED","THU","FRI","SAT"};//曜日 int mday[] = { 31,28,31,30,31,30,31,31,30,31,30,31 };//各月の日数 /*プロトタイプ宣言*/ int monthday(int year); void karenda(int total); /*メイン*/ void main(void) { int year; /*画面制御の初期化*/ COORD coord; HANDLE hStdout; hStdout = GetStdHandle(STD_OUTPUT_HANDLE); char cal[N_MONTH][N_WEEK][N_WEEK] = { 0 };//3次元配列を宣言し0を入れる printf("西暦を入力"); scanf("%d", &year);//年度の入力 karenda(monthday(year)); } /*求める月の前月までの総日数*/ int monthday(int year) { int total = 0; /*求める年の前年までの総日数を求める*/ total = (((year - 1) * 365) + ((year - 1) / 4) - ((year - 1) / 100) + ((year - 1) / 400) + 1)%7; /*うるう年の判定*/ if ((year % 4) == 0 && (year % 100) != 0 && (year % 400) == 0) { mday[FEB] = 29; } else { mday[FEB] = 28; } return total; } /*カレンダー*/ void karenda(int total) { int month, row, day; for (month = JAN; month < N_MONTH; month++) { row = 0; day = 1; while (day <= mday[month]) { for (row = SUN; row < N_WEEK; row++) { if (day <= SAT) { day++; } } day++; } } } よろしくお願いします。 注)karenda(int total)にはprintfを使わず完成させたいです。

    2019/05/21 13:41
  • Visual Studio(C#)のプログラミング

    Visual Studio(C#)のプログラミングに関する質問です。 インクルードする2ファイルが、双方のクラスを互いに必要とするケースにおいて、 コンパイルが通らなくて困っています。(当たり前なのですが…) 【Aファイル】 クラスAの定義{ クラスBの使用(インスタンス作成、メソッド利用) } 【Bファイル】 クラスBの定義{ クラスAの使用(インスタンス作成、メソッド利用) } 【全体インクルードファイル】 #include Aファイル #include Bファイル 【コンパイル結果】 Bクラスが存在しません(Aファイルにて) 【質問】 お互いにクラス定義を必要とする場合、 ★具体的に★どのような実装をすれば良いのでしょうか?

    2019/05/20 21:26
  • C言語で3次元配列を使い一年分のカレンダーを作成

    C言語課題で「三次元配列を定義して、与えられた年の1年間分のカレンダーを作成する」という課題があるのですが三次元配列を使い一年分のカレンダーがなかなか出来ません。 教えていただけるとありがたいです。 どうかよろしくお願いします!!!! 現状はこの状態です。 #pragma warning(disable:4996) #include <stdio.h> #define WEEK 6 enum M_LIST { JAN, FEB, MAR, APR, MAY, JUN, JUL, AUG, SEP, OCT, NOV, DEC, N_MONTH }; enum W_LIST { SUN, MON, TUE, WED, THU, FRI, SAT, N_WEEK }; char *weekday[] = { "日,月,火,水,木,金,土" }; //曜日 int mday[] = { 31,28,31,30,31,30,31,31,30,31,30,31 }; //各月の日数 /*プロトタイプ宣言*/ int monthday(int year); void karenda(int total); /*メイン*/ void main(void) { int year; printf("西暦を出力"); scanf("%d", &year); //年度の出力 karenda(monthday(year)); } /*求める月の前月までの総日数*/ int monthday(int year) { int total = 0; /*求める年の前年までの総日数を求める*/ total = (((year - 1) * 365) + ((year - 1) / 4) - ((year - 1) / 100) + ((year - 1) / 400) + 1); /*うるう年の日数*/ if ((year % 4) == 0 && (year % 100) != 0 && (year % 400) == 0)mday[FEB] = 29; { } return total; } /*カレンダー*/ void karenda(int total) { int month, week, day; int box = total % 7; char cal[N_MONTH][WEEK][N_WEEK]; //3次元配列の宣言 for (month = 0; month < N_MONTH; month++) { printf("%d\n", (month + 1)); //月を入力 for (week = 0; week < WEEK; week++) { for (day = 0; day < N_WEEK; day++) { if (day < box){ printf(" "); } } } } } よろしくお願いします。

    2019/05/20 13:17
  • プログラミングにおけるアルゴリズムって、

    プログラミングにおけるアルゴリズムって、 目的に沿うように、いくつかの単純な命令を組み合わせているものですよね? リニアサーチや、バイナリサーチなどの アルゴリズムの型のようなものがありますが、 目的に沿えば、自分で命令を組み合わせアルゴリズムを作ることは可能でしょうか?

    2019/05/17 12:14
  • C++の四捨五入

    プログラミングで言う四捨五入とはいったいなんなのでしょうか? 丸めと四捨五入が混同していてよくわからなくなってます C++でこれは四捨五入ですか? cout << fixed << setprecision(1) << num/7.0 << endl; いままで、とはいっても初心者ですが四捨五入の時は以下のようにしていました。 cout << round((num/7.0)*10)/10 << endl; 小数点第2位を四捨五入しなさいと言われた時はどちらも同じですか?

    2019/05/04 16:39
  • C/C++の配列について

    配列の作り方について nは特定の数でarr[3]以降の値をfor文で代入したいのですが 同じfor文で値を代入すると(1)は不正解で(2)が正解になります 小さい数だと見た目は同じで何が違うのか解らないのですが、これは何がちがうのでしょうか? (1)の0, 0, 1以降は全て初期値として0が入ると認識してたのですがそれも違いますか? (1) int arr[n]={0, 0, 1}; (2) int arr[n]; arr[0]=0; arr[1]=0; arr[2]=1; for (int i=3; i<n; i++) { arr[i]=略 } よろしくお願いします

    2019/04/30 12:36
  • C++について

    C++の独学初心者です 仕様書?やエラーの見方が全くわかりません 例えば vscodeにてreverse()の関数の説明を見ると以下のような仕様書というのでしょうか?ものが見れますが 私はここからわかるのは返り値がvoidであるということぐらいがだいたい想像できるだけです これはどの様に見れば良いのでしょうか? 解説している様なサイトがあれば教えてください void std::__1::reverse<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>::iterator>(std::__1::__wrap_iter<...> __first, std::__1::__wrap_iter<...> __last) よろしくお願いします

    2019/04/30 08:54
  • 次のC言語の問題の解答を教えて下さい

    次のC言語の問題の解答を教えて下さい

    2019/04/26 09:54
  • VC++2017におけるラジオボタンの初期化と動作

    ラジオボタンの初期化と動作について押しえてください。 今、ダイアログ上にラジオボタン1と2が配置されているとして、 ラジオボタン1(ID:IDC_ON,変数:bOn) ラジオボタン2(ID:IDC_OFF,変数:bOff) というように割り付けられているとして 「どちらかのボタンを押すと片方がオフになる」なるようにするにはどうすればよいでしょうか。また、初期化方法を教えてください。

    2019/04/25 13:47