全2241件中81~100件表示
  • C#で数値を抽出したい

    0,2,3,3,5,6, という文字列があったとしまして、これを左の数値からint型配列にひとつひとつ格納したいのですが、どうやればいいかわかりません。 int[0]=0 int[1]=2 ... int[5]=6 どなたか教えてください!

  • Visual studioのボタン処理について

    こんにちは。 C++(初心者)で大変迷っています。 Visual studio 2010のWindows フォームアプリケーションでボタンを作成し、Cppのmainで計算した計算結果を表示させる。という物を作りたいと思っています。 例:一秒ごとに数値が1上がっていくプログラムを作成したいと思っております。 現在、Form1にボタン(Button)と文字を表示させるラベル(Label)のみを作成。 そうしたら、Form1.hに…… Private:System::void button1_Click(System::Object^ sender,System::EventArgs^ e){ } Private:System::void lavel1_Click(System::Object^ sender,System::EventArgs^ e){ } の二つが生成されました。 Form1.hに直接MassegeShowなどを使い書けば文字程度は出力されるのですが、cppに書いてその結果を持ってくる方法が解りません。 どうやらポインタを使って行うらしいのですが、勉強中なのでどなたかご教授お願いします。 ※例でプログラムを示してくれると大変うれしいです。

  • プログラミングの問題なのですが

    学校の課題でプログラムを作らなければならないのですが、いまいちよくわからないので教えてください>< 1、インチ単位の数を引数として何cmかを出力する関数を作成しなさい。 2、f(x)=ax^2+bx+cのa,b,cを順に引数として、f(x)=0の実数解の個数を出力する関数を作成しなさい。 よろしくお願いします。

  • 文字列入れ替えのプログラムについて

    こんばんは。 文字列入れ替えのプログラムを作っているのですが、分からない部分があるので教えて頂きたいです。 入力ファイルには、 AAAAAAA(必ず7文字)【半角スペース】B(文字数はバラバラ)【tab】C(文字数はバラバラ) というデータが複数入っているものとします。 このファイルを読み込んで、 B【tab】C;;;(セミコロン3つ)AAAAAAA という順に並べ替えるプログラムを作成したいと考えています。 アルゴリズムとしては、 (1)ファイルから1行読み込む (2)読み込んだ行のうち最初の7文字を配列に保存 (3)半角スペースを除き、それ以降(B【tab】C)を出力ファイルに書き込む (4)(2)で保存したものに;;;をつけ、(3)の後ろに書き込む というのを考えていますが、(3)の工程をどうすればいいか分からず困っています。 (改行(\n)までをファイルに書き込めばいいと思うのですが、プログラムでどう書けばいいかが分かりません) よろしくお願いします。 #include<stdio.h> void main(void){ FILE *fin; FILE *fout; char buff[200]; char *p1; char word[200]; int i=0; /*読み込み用ファイルを開く*/ fin = fopen("input.txt", "rt"); if( fin == NULL ){ printf( "File open error1\n" ); return; } /*書き込み用ファイルを開く*/ fout = fopen("output.txt", "wt"); if( fout == NULL ){ printf( "File open error2\n" ); return; } /*1行ずつ読み込む*/ /*読み込める間繰り返す*/ while(fgets(buff,200,fin) != NULL){ i=0; /* buffの先頭アドレスをp1に与える*/ p1=buff; /*工程2:最初から7文字分を配列wordに保存*/ for (i=0;i<7;i++){ word[i]=*p1; *p1++; } /*半角スペース部分をとばし、p1をBの最初の文字にする*/ *p1++;      ここで工程3を行う     /*工程4:保存しておいた文字列を書き込む*/ fprintf(fout,";;;%s\n",word); } fclose(fin); fclose(fout); }

  • 文字列入れ替えのプログラムについて

    こんばんは。 文字列入れ替えのプログラムを作っているのですが、分からない部分があるので教えて頂きたいです。 入力ファイルには、 AAAAAAA(必ず7文字)【半角スペース】B(文字数はバラバラ)【tab】C(文字数はバラバラ) というデータが複数入っているものとします。 このファイルを読み込んで、 B【tab】C;;;(セミコロン3つ)AAAAAAA という順に並べ替えるプログラムを作成したいと考えています。 アルゴリズムとしては、 (1)ファイルから1行読み込む (2)読み込んだ行のうち最初の7文字を配列に保存 (3)半角スペースを除き、それ以降(B【tab】C)を出力ファイルに書き込む (4)(2)で保存したものに;;;をつけ、(3)の後ろに書き込む というのを考えていますが、(3)の工程をどうすればいいか分からず困っています。 (改行(\n)までをファイルに書き込めばいいと思うのですが、プログラムでどう書けばいいかが分かりません) よろしくお願いします。 #include<stdio.h> void main(void){ FILE *fin; FILE *fout; char buff[200]; char *p1; char word[200]; int i=0; /*読み込み用ファイルを開く*/ fin = fopen("input.txt", "rt"); if( fin == NULL ){ printf( "File open error1\n" ); return; } /*書き込み用ファイルを開く*/ fout = fopen("output.txt", "wt"); if( fout == NULL ){ printf( "File open error2\n" ); return; } /*1行ずつ読み込む*/ /*読み込める間繰り返す*/ while(fgets(buff,200,fin) != NULL){ i=0; /* buffの先頭アドレスをp1に与える*/ p1=buff; /*工程2:最初から7文字分を配列wordに保存*/ for (i=0;i<7;i++){ word[i]=*p1; *p1++; } /*半角スペース部分をとばし、p1をBの最初の文字にする*/ *p1++;      ここで工程3を行う     /*工程4:保存しておいた文字列を書き込む*/ fprintf(fout,";;;%s\n",word); } fclose(fin); fclose(fout); }

  • C++ ポインタについて(配列)

    int x[3][3] = {{1,2,3,4},{5,6,7,8}}; z = &a; for (i = 0;i < 3;i++) { for (j = 0;j < 3;j++) printf (" %d", (*z)(i + j)); } zを出力する方法をしりたいです。

  • ハードウェアのシミュレーション方法

    こんにちは。 ハードウェアのシミュレーション方法について教えてください。 現在、C++の勉強として一般家庭にある電気ポットをソフトウェアで完全シミュレーションという課題をしています。 [GUI]⇒[Hardware] Windows フォームアプリケーションで作成したGUIのボタンを押した時 Hardwareのヒーターの温度をあげたいのですが、友人等に聞いても、わかりません。 例としては以下の様にかけば良い言われたのですが……どなたか簡単な例を教えてくれませんか? ※できれば最初の文(#include)から教えてください。 class Water { double quantity; // 水量 double temp; // 温度 int heatig(double temp, double time) ;  ………  …… } できれば、C++が詳しい方、ご教授お願いします。

  • ハードウェアのシミュレーション方法

    こんにちは。 ハードウェアのシミュレーション方法について教えてください。 現在、C++の勉強として一般家庭にある電気ポットをソフトウェアで完全シミュレーションという課題をしています。 [GUI]⇒[Hardware] Windows フォームアプリケーションで作成したGUIのボタンを押した時 Hardwareのヒーターの温度をあげたいのですが、友人等に聞いても、わかりません。 例としては以下の様にかけば良い言われたのですが……どなたか簡単な例を教えてくれませんか? ※できれば最初の文(#include)から教えてください。 class Water { double quantity; // 水量 double temp; // 温度 int heatig(double temp, double time) ;  ………  …… } できれば、C++が詳しい方、ご教授お願いします。

  • C++ vectorに配列をプッシュしたい

    C++のstd::vectorが格納する要素として配列を指定することはできますか vectorを使って2次元配列を表現したいときは,たとえば std::vecor<std::vector<int>> v; とすれば2次元配列が表現できますよね. 2次元配列の列方向の要素数が2で固定されていて,行方向の要素数が不確定のデータを扱いたいので,2次元配列を格納するvectorで扱えればなと思いました. (2個で1組のデータがたくさんあるということなので,vectorの2次元配列ではありません) std::vector<int[2]> v; int a[2]; a[1] = 1; a[0] = 2; v.push_back(a); という書き方ではコンパイルできなかったのですが,vectorに配列要素を格納させることはできないのでしょうか. あるいは,もし可能ならどのように書けばよいのでしょうか. 結局は1組のデータセットを構造体化してそれをvectorにプッシュするやり方に落ち着いたのですが,疑問に思ったままモヤモヤしているので質問させて頂きます. 「vector 配列」などのキーワードで検索してみましたが,vectorの動的配列としての紹介記事が多くヒットしてしまい,自分ではうまく情報を発見することはできませんでした. よろしくお願いします.

  • VS2013でrangecheckfailure

    visual studio 2012まではビルドできていたプログラムを2013にアップグレードしたところ、 「error LNK2001: 外部シンボル "__report_rangecheckfailure" は未解決です。」 というエラーが出てしまってビルドできなくなりました。 原因はなんでしょうか?

  • C#のdelegateをC++とjavaで?

    C#のデリゲードを javaとC++でできないでしょうか。 ただし、質問内容を勘違いされそうなので、求めている内容と、 求めていない内容を、詳しく 書きますと。 インタフェース委譲を使った例は、求めていません。 あらかじめ、委譲先に静的に仕組みを 作っておかなく手も、C#のデリゲードのように、シグニチァが同じなら 委譲先をはめ込めれるのが欲しいです。 単なる関数ポインタの例は、求めて いません。 C#でdelegate型を引数にとる ところに、あるインスタンスの メソッドを渡すと。 どのインスタンスのどのメソッドかまで、 認識して、コールバックできます。 関数ポインタでは、これができない。 STLの関数オブジェクトとか、古い感じの情報にヒントがあるか。調べてみましたが。よくわかりませんでした。 結局、この関数オブジェクトは、僕が求めているモノとは、違うような気がします。 よくわかりませんが。 欲しいのは、どのインスタンスのどのメソッドかまでを特定して、 記憶できる型をどうやって javaや、C++で実装できるか。 それをインタフェース委譲のように、 委譲先にあらかじめ、仕込んでおくことなしに。 ただ、メソッドのシグニチァが同じであるだけで、どのインスタンスのどのメソッドかまでを特定して記憶できる C#のデリゲードのような型を。 特殊なコンポーネントを利用せず。 標準的な言語構文のみをつかって、 どのようにしたら、 javaや、C++で、実装できるか? です。 詳しい方が、いらっしゃいましたら、 教えてください。

  • C#のdelegateをC++とjavaで?

    C#のデリゲードを javaとC++でできないでしょうか。 ただし、質問内容を勘違いされそうなので、求めている内容と、 求めていない内容を、詳しく 書きますと。 インタフェース委譲を使った例は、求めていません。 あらかじめ、委譲先に静的に仕組みを 作っておかなく手も、C#のデリゲードのように、シグニチァが同じなら 委譲先をはめ込めれるのが欲しいです。 単なる関数ポインタの例は、求めて いません。 C#でdelegate型を引数にとる ところに、あるインスタンスの メソッドを渡すと。 どのインスタンスのどのメソッドかまで、 認識して、コールバックできます。 関数ポインタでは、これができない。 STLの関数オブジェクトとか、古い感じの情報にヒントがあるか。調べてみましたが。よくわかりませんでした。 結局、この関数オブジェクトは、僕が求めているモノとは、違うような気がします。 よくわかりませんが。 欲しいのは、どのインスタンスのどのメソッドかまでを特定して、 記憶できる型をどうやって javaや、C++で実装できるか。 それをインタフェース委譲のように、 委譲先にあらかじめ、仕込んでおくことなしに。 ただ、メソッドのシグニチァが同じであるだけで、どのインスタンスのどのメソッドかまでを特定して記憶できる C#のデリゲードのような型を。 特殊なコンポーネントを利用せず。 標準的な言語構文のみをつかって、 どのようにしたら、 javaや、C++で、実装できるか? です。 詳しい方が、いらっしゃいましたら、 教えてください。

  • C#のdelegateをC++とjavaで?

    C#のデリゲードを javaとC++でできないでしょうか。 ただし、質問内容を勘違いされそうなので、求めている内容と、 求めていない内容を、詳しく 書きますと。 インタフェース委譲を使った例は、求めていません。 あらかじめ、委譲先に静的に仕組みを 作っておかなく手も、C#のデリゲードのように、シグニチァが同じなら 委譲先をはめ込めれるのが欲しいです。 単なる関数ポインタの例は、求めて いません。 C#でdelegate型を引数にとる ところに、あるインスタンスの メソッドを渡すと。 どのインスタンスのどのメソッドかまで、 認識して、コールバックできます。 関数ポインタでは、これができない。 STLの関数オブジェクトとか、古い感じの情報にヒントがあるか。調べてみましたが。よくわかりませんでした。 結局、この関数オブジェクトは、僕が求めているモノとは、違うような気がします。 よくわかりませんが。 欲しいのは、どのインスタンスのどのメソッドかまでを特定して、 記憶できる型をどうやって javaや、C++で実装できるか。 それをインタフェース委譲のように、 委譲先にあらかじめ、仕込んでおくことなしに。 ただ、メソッドのシグニチァが同じであるだけで、どのインスタンスのどのメソッドかまでを特定して記憶できる C#のデリゲードのような型を。 特殊なコンポーネントを利用せず。 標準的な言語構文のみをつかって、 どのようにしたら、 javaや、C++で、実装できるか? です。 詳しい方が、いらっしゃいましたら、 教えてください。

  • C言語のプログラムエラーの質問(><)

    すみません、エラーの原因を教えて頂きたいです。(cppファイルです。) fp = avl_open(SrcFile, WAVE, FILE_READ, CONVERT); このプログラムに対して、    Error: 外部シンボル 'avl_open' が未解決 といった感じのエラーが返ってきました。 プログラムは1000行近くあるため、詳細をお見せすることは不可能なのですが、上記と同じようなエラーが他の関数でも10個ほど出ています。 上のプログラムの1行の中で、何かおかしい点はあるかどうかお伺いしたいです。

  • wsprintfで実数値を文字列にしたい

    ダイアログボックスの「edit」部分にセットしようと思ったのですが SetDlgItemIntが整数しか使えないので変換したいです。 TCHAR buf[20]; wsprintf(buf, "%.1f", temperature); と書きましたがconst char * の引数LPCWSTRのパラメータと互換性がありませんと出てしまいます。

  • GPS受信の抜き出しについて

    大学卒業間近の大学4年生です。 現在、卒業研究の一環でシリアル通信でGPSの構文をテキストファイルに書き込むプログラムを作成しています。 生データをテキストファイルに書き込むまではできたのですが… なにぶん中途半端にプログラムの勉強をしていたのでそこから大事な部分を抜き出す作業がわからなくて困っています。(サイトにあるサンプルプログラムを参考にしてもエラーばかりが出てしまいます。) 北緯と東経の数値のみを抜き出して書き込むプログラムを作成したいのですがどの部分にどういう文を打ち込めばいいのでしょうか? お分かりの方、どうか教えて貰えませんでしょうか? ちなみに環境はC++で使っているソフトはMicrosoft Visual Studioです。 現在出来ているプログラムは以下のとおりです。 #include <stdio.h> #include <stdlib.h> #include <Windows.h> int main(void) { printf("program start\n"); /// 変数宣言 int i=0; /// シリアル通信データ用変数宣言 char sBuf[100]; //char sBuf[1]; //char str[100]; char strT[50] = {0}; char strN[20] = {0}; char strE[20] = {0}; unsigned char flag_data = 0; /// シリアル通信設定用変数宣言 HANDLE hComm; int baudRate = 9600; /// ボーレート9600bps unsigned long nn; DCB dcb; COMMTIMEOUTS cto; ///データ保存用変数宣言 FILE *ofile; errno_t err; /// /// シリアルポートの初期化、オープン /// printf("Open Serial Port\n"); BOOL InitComPort(); hComm = CreateFile( "\\\\.\\COM3", GENERIC_READ | GENERIC_WRITE, 0, NULL, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, NULL ); /// ポートオープンエラー処理 if ( hComm == INVALID_HANDLE_VALUE ) { printf("Serial Port Open Error!\n"); exit(1); } else {} /// /// シリアルポートの設定 /// printf("Setup Serial Port\n"); GetCommState( hComm, &dcb ); // シリアルポートの状態を取得 dcb.BaudRate = baudRate; SetCommState( hComm, &dcb ); // シリアルポートの状態を設定 GetCommTimeouts( hComm, &cto ); // タイムアウトの設定状態を取得 cto.ReadIntervalTimeout = 1000; cto.ReadTotalTimeoutMultiplier = 0; cto.ReadTotalTimeoutConstant = 1000; cto.WriteTotalTimeoutMultiplier = 0; cto.WriteTotalTimeoutConstant = 0; SetCommTimeouts( hComm, &cto ); // タイムアウトの状態を設定 /// /// シリアルポート通信 /// while(1) { /// /// データ受信 /// /* /// シリアルポートから一文字受信して表示 ReadFile( hComm, sBuf, 1, &nn, 0 ); if(nn != 0) { printf("%c",sBuf[0]); } */ /// シリアルポートから一行受信して表示 memset(sBuf, NULL, sizeof(sBuf)); /// sBufの初期化 ReadFile( hComm, sBuf, sizeof(sBuf), &nn, 0); /// sBufで一行分データを受信 printf("%s", sBuf); /// 受信したデータを表示 for(i=0; i<sizeof(sBuf); i++) { if(sBuf[i] != NULL) { printf("%c", sBuf[i]); } else{} } /// /// 生データの保存 ///      err = fopen_s(&ofile,"puredata.txt","a"); ///"a":追加書き込み専用 if(err != 0)  { printf("ERROR! puredata was not opened\n"); exit(1);  }    else  { while(1) {  ReadFile( hComm, sBuf, 1, &nn, 0 ); // シリアルポートに対する読み込み  printf("%c",sBuf[0]);  if(sBuf[0] != EOF) {  fprintf(ofile,"%c",sBuf[0]); //fprintf(stdout,"%s",str); }  else { printf("\n"); break; } /// /// データ処理 /// /// /// 処理データの保存 /// } printf("program end\n"); return(0); } 出力結果 (例 ※場所特定防止のためGPSがうまく受信されていないパターンを載せています) program start program end $GPRMC,120004.000,V,0000.0000,N,00000.0000,E,000.0,000.0,280606,,,N*7B $GPRMC,120005.000,V,0000.0000,N,00000.0000,E,000.0,000.0,280606,,,N*7A $GPRMC,120006.000,V,0000.0000,N,00000.0000,E,000.0,000.0,280606,,,N*79 $GPRMC,120007.000,V,0000.0000,N,00000.0000,E,000.0,000.0,280606,,,N*78 書き込まれたテキストファイル $GPRMC,120004.000,V,0000.0000,N,00000.0000,E,000.0,000.0,280606,,,N*7B $GPRMC,120005.000,V,0000.0000,N,00000.0000,E,000.0,000.0,280606,,,N*7A $GPRMC,120006.000,V,0000.0000,N,00000.0000,E,000.0,000.0,280606,,,N*79 $GPRMC,120007.000,V,0000.0000,N,00000.0000,E,000.0,000.0,280606,,,N*78 出力してほしい数値は構文の最初のV,後の0000.0000と、そのあとのN,後の00000.0000です。 なるべく生データも別に保存しておきたいので下にある「データ処理」「処理データの保存」の中で処理したいのですが…… 何卒、よろしくお願いします。

  • for文の質問です。

    x1からx2.x3.x4...x25までをループさせる場合はどうしたらいいのでしょう? 1から25ならわかるのですが変数付きだとわかりません。 よろしくお願いします。

  • C#で配列の戻り値について

    プログラミング初心者で、ただいまC#の勉強中です。 bool型(trueまたはfalse)とstring型(関数内で取得した文字列)の値を 配列で関数の戻り値として返したいのですが、どうすれば良いのかわかりません。 true/falseもstringとして呼び出し側で判別するしか方法はないのでしょうか。 アドバイスをお願いいたします。

  • C#で配列の戻り値について

    プログラミング初心者で、ただいまC#の勉強中です。 bool型(trueまたはfalse)とstring型(関数内で取得した文字列)の値を 配列で関数の戻り値として返したいのですが、どうすれば良いのかわかりません。 true/falseもstringとして呼び出し側で判別するしか方法はないのでしょうか。 アドバイスをお願いいたします。

  • サンプル遅れ

    ある信号のサンプル遅れ時間の信号を作成する遅延器を作りたいです。 例えば以下のコードがあるとします。 tは時間、dtは刻み幅、tmaxは最大時間です。 int main(void){ double dt,t,tmax       dt=0.001,tmax=1 for(t=0.0;t<=tmax;t+=dt) { v=2*cos(2*3.14*60*t); という正弦波を作成する際、これより1サンプル遅れた信号を作成したいです v2=2*cos(2*3.14*60*(t-dt)) という新たな関数を定義すればよいとは思いますが、そうではなくてvを遅延器に入力することで1サンプル遅れた信号を作成したいです。つまり遅延器をこのfor文内でどう定義すればいいのかを考えています。 ブロック線図で表すと以下の1/zが欲しいです。 v(k)→| 1/z |→v(k-1) これ以外にもたとえば微分方程式で得た解を遅延器に入力して解の1サンプル遅れた信号を作成したいので、上のように(t-dt)という設定はできません。詳しい方に少しだけ聞く時間があったので聞いてみたところ、「時間を保持すればいいやん」というアドバイスを頂きましたがどういう風に記述すればいいのかわかりません。 分かる方がいらっしゃったらどうぞご教授お願いいたします。