Interest の回答履歴
- ポインタの使用方法について困っています。
ポインタの機能がありますが、 どの本を読んでも、配列かどこかのメモリのアドレスを示すか書いてなく、アドレスの表示を見て自己満足する為の物としか感じられません。 この機能がゲームを作る上で、何に使えるのでしょうか? 教えてください。
- C言語の課題なのですが、助けてください
C言語のプログラミングの課題で、「以下のプログラムをキーワードを引数として入力できるように変更する(argvを利用する)」という問題なのですが、プログラミングが苦手な私にはさっぱりわからず、大変困っています。設問のプログラミングがわかる方がいらっしゃいましたら、教えていただけると大変助かります。よろしくお願いします。 #include <stdio.h> #include <string.h> #include <stdlib.h> #define MAX_LEN 256 int main(int argc, char *argv[]) { FILE *rfp; FILE *wfp; int i, score; double evalue; char id[MAX_LEN], name[MAX_LEN], fname[MAX_LEN]; char keyword[] = "glu"; for(i = 0; i < 100; i++){ sprintf(fname,"files/%d.txt",i); if((rfp = fopen(fname, "r")) == NULL) { printf("入力ファイルが存在しません。\n"); return (EXIT_FAILURE); } while (fscanf(rfp,"%s\t%s\t%d\t%f", id, name, &score, &evalue) != EOF){ if (strstr(name,keyword) != NULL){ printf("%s\n",id); } } fclose(rfp); } return (EXIT_SUCCESS); }
- 締切済み
- C・C++・C#
- caramel777
- 回答数5
- 数値解析に関する質問です。
/*kadai8 Euler’s Method for Ordinary Differential Equation */ #include <stdio.h> void euler(double *, double *); main () { int i; double v,t,tt,dt[5]; dt[0] = 2; dt[1] = 1; dt[2] = 0.1; dt[3] = 0.01; dt[4] = 0.001; printf("Program of Euler`s Method 1\n"); printf("-----------------------------------------\n"); tt = 50.0/9.80665; printf("Theoretical Solution : %lfs\n",tt); for(i=0;i<=4;i++){ printf("--------------------------------\n"); printf("Step Size : %lf s\n",dt[i]); v=50.0; t=0.0; while(v>0) { euler(&v,&dt[i]); t=t+dt[i]; } printf("Numerical Solution : %lf s\n",t); printf("Error : %lf s\n",t-tt); } return(0); } /*--------------*/ void euler(double *v,double *dt) { *v=*v + (*dt )*(-9.80665); } 以上のプログラムで関数eulerの引数にポインタがついているのはなぜか,またポインタを使用しない方法はないか?また、オイラー法より精度の高い解法はありますか? よろしくお願いします。
- ベストアンサー
- C・C++・C#
- blizzardoo
- 回答数2
- プログラミングのことで困っています。助けて下さい。
プログラミングの問題がどうしても分からず、本当に困っています。 ・2x+y+3z=13 ・x+3y+2z=13 ・3x+2y+z=10 (解:x=1,y=2,z=3) を掃き出し法で解くプログラミングの問題で、次の(1)~(5)が何が当てはまるかどうしても分からないんです。 #include <stdio.h> #define N 3 /*未知数の個数*/ int main(void) { int i,j,k; double pivot,del; double a[N][n+1]={{2,1,3,13},{1,3,2,13},{3,2,1,10}}; /*係数行列*/ for(i=0;i<N;i++) { (1)____ /*ピボット係数*/ for(j=0;j<N+1;j++) /*ピボット行をピボットで割る*/ (2)____ for(k=0;k<N;k++) /*ピボット列の掃き出し*/ { if((3)____) { del=a[k][i]; for(j=i;j<N+1;j++) (4)____ } } } for(i=0;i<N;i++) (5)____ /*計算結果の表示*/ return 0; } 実行結果は x0=1.00 x1=2.00 x2=3.00 と表示させたいのですが、(1)~(5)の所がどうしても分からず、困っています。どなたか助けて下さい。お願いします。
- 構造体の構造体の構造体をまとめて初期化したい
gnuplotをCで吐くためのプログラムを作成していますが、 構造体の構造体の構造体をまとめて初期化することができません。 以下がコードそのコードです。 #define MAX_PLOT_DATA_NUM 8 #define MAX_GRAPH_SET_NUM 35 //child -------------------------------------------------- typedef struct { char *fileName; int column[2]; char *caption; } Col; //child -------------------------------------------------- typedef struct { char *category; char *subCategory; char *xLabel, *yLabel; char *saveFileName; Col col[MAX_PLOT_DATA_NUM]; } GraphSet; //child -------------------------------------------------- typedef struct { char *lineFormat; int lineWidth; } Common; //mother ------------------------------------------------- typedef struct { GraphSet gs[MAX_GRAPH_SET_NUM]; Common common; } PlotFormats; int main(){ PlotFormats pF = { {"Motor angle","right","Time [s]","Angle [rad]","ang_R", {"motor.dat",1,2,"ang #1 "}, {"motor.dat",1,3,"ang #2 "}, {"motor.dat",1,4,"ang #3 "}, {"motor.dat",1,5,"ang #4 "}, {"motor.dat",1,6,"ang #5 "}, {"motor.dat",1,7,"ang #6 "}, }, //ここから下のコメントアウトしてる部分をはずすとコンパイルが通らなくなります。 //{"Motor angle","left","Time [s]","Angle [rad]","ang_L", // {"motor.dat",1,12,"ang #1 "}, // {"motor.dat",1,13,"ang #2 "}, // {"motor.dat",1,14,"ang #3 "}, // {"motor.dat",1,15,"ang #4 "}, // {"motor.dat",1,16,"ang #5 "}, // {"motor.dat",1,17,"ang #6 "}, //}, {"w l", 5}}; return 0; } エラーは ・間接参照のレベルが 'char *' と 'int' で異なっています。(複数) ・初期化子の数が多すぎます。 と出ます。 長くなりましたが、わかる方がいましたら、よろしくお願いします。
- C言語のエラーが無くなりません
はじめまして。 現在C言語でプログラムを組んでいるのですが、不明な点がありますので質問させて頂きます。 while文とかif文を使って、プログラムを書き終える時に当然いくつかの「}」を使って締めます。そのとき、「}」が自動でだんだん左寄せになってくのですが、自動で左寄せにならない場合、原因は何でしょうか。 以上です。何卒ご教授の方よろしくお願いいたします。
- ベストアンサー
- C・C++・C#
- noname#142623
- 回答数7
- static 関数のメモリ使用量
会社で過去のプログラムを参考に新規開発を行っているものですが、 旧プログラムは関数宣言でstaticを使用しており、関数のカプセル化をしている。 旧プログラムをみならい、staticで関数を宣言したのですがレビュー時にstaticで関数を宣言した場合、 『メモリーを多く使用するのでは?』と質問されたのですが回答が見つかりません。 詳しい方教えていただけますか? プログラムはファイル分割されており、同一関数名は存在している。 コンパイラーはgccです。
- H8マイコンで、ファームウェアの更新
H8マイコンを使い(シリーズの選定はまだです。)、同じ基板上のコンパクトフラッシュに保存されている最新ファームウェアを取得し、自分自身のファームウェアを更新し、その後自動起動するというような事は、できますでしょうか? コンパクトフラッシュへのアクセスは、FATファイルシステムを使えば何とかなると思うのですが、自分自身のファームウェアを書き換える方法がまったくわかりません。 ITRONなどのOSをつめば、可能でしょうか? アドバイスをよろしくお願いします。
- プログラマの職に就きたいのですが・・・
組み込み系プログラマの職に就きたいと思っているのですが、どれくらい出来ていればいいのかわかりません。どんなプログラムが出来ていればよいのでしょうか?(これくらい出来ていれば採用される)わかるかたいらしたら教えてください。
- シリアル通信の通信・検証方法とは?
Visual C++ 6.0(MFC)でプログラミングを行っています. VB 6.0でPCから値を入力し,PICへRS232Cケーブルを用いて値を送り,モータコントロールするプログラムは既に存在しており,現在はVBで書かれていた部分(インターフェイス部)をVC++に書き換えようとしています. サンプルプログラムを参考にシリアル通信に関するVC++のプログラムは完成し,PCからモータの制御を行おうと思ったのですが,うまくいきません. こういった際,どこに問題があるのかを検証したいのですがどうすればいいでしょうか? 現状, 1,シリアル通信ができていない 2,シリアル通信はできているが,PICへ値がうまく格納されていない 3,それ以外 問題があるのは分かるのですが,プログラマーのほうに原因がフィードバックされないため困っています. 明確な答えでなくても,アドバイスのようなものがいただけたら幸いです.
- FXや株取引のプログラム
FXや株の取引を自動で行うプログラムを作ってみたいと考えているのですが、何かそういうことが可能になるAPIなどは存在しないものでしょうか? 若しくは、売買の内容を細かくプログラムできるソフトなどでも良いのですが、そういったものはないのでしょうか?
- ベストアンサー
- C・C++・C#
- glarelance
- 回答数2
- スイッチでサーボ制御
AVRのATmega168とサーボモータの GWServo S03T 2BBMG を買ってWinAVRでプログラミングしようと思っています。とりあえず動かしたいと思っているので、スイッチを押したら90度曲がり、スイッチを離したら90度戻るというプログラムを書きたいです。どなたか簡単で良いので教えてください。よろしくお願いします。
- スイッチでサーボ制御
AVRのATmega168とサーボモータの GWServo S03T 2BBMG を買ってWinAVRでプログラミングしようと思っています。とりあえず動かしたいと思っているので、スイッチを押したら90度曲がり、スイッチを離したら90度戻るというプログラムを書きたいです。どなたか簡単で良いので教えてください。よろしくお願いします。
- スイッチでサーボ制御
AVRのATmega168とサーボモータの GWServo S03T 2BBMG を買ってWinAVRでプログラミングしようと思っています。とりあえず動かしたいと思っているので、スイッチを押したら90度曲がり、スイッチを離したら90度戻るというプログラムを書きたいです。どなたか簡単で良いので教えてください。よろしくお願いします。
- AVRでサーボモータの制御プログラム
ATmega168を購入してWinAVRでプログラムを書いています。GWServoのS03T 2BBMGと書かれているサーボモーターを動かそうとしています。パルスを送ればいいのかなと思ってdelayと出力を使ってPWMしているのですがまったく制御できません。どういうプログラムを組めばいいのでしょうか?AVRに外部の発信子はつけていません。ATmega168に内蔵されている発振子でしています。というかそれでいいのでしょうか?ごちゃごちゃですが、何か動かすためのアドバイスをください。お願いします。
- SH2マイコンで
学校の実験でSH2マイコンを使って実験をしたのですが、 プログラムをつくった時に「double」で変数を宣言したら、プログラムがハードでうまく実行できませんでした。(プログラムのエラーはないです。) SH2マイコンでは「double」は使えないのでしょうか? 回答よろしくお願いします。
- ベストアンサー
- C・C++・C#
- pinochan_1
- 回答数5
- 赤外線を用いた認証システム
赤外線を使った認証システムを作りたいので質問しました。 簡単に説明すると、 発信器で4桁の番号を選択し、信号にして赤外線を使って 受信器に送信すると、設定していた番号と一致すると ロックが解除されるというものです。 そこで、質問をしたいのは このプログラムはC言語やアセンブリで作れるのでしょうか? また、これらの言語で作れない場合はどのような言語で作ればいいのでしょうか? また、どのようなプログラミングをしたらいいのしょうか? あと、セキュリティに問題が出てくると思うので どのようなアイデアがありますか? 質問が多くなってしまいましたが、回答よろしくお願いします。
- 締切済み
- C・C++・C#
- play1break
- 回答数2
- ブログ訪問者が・・・
ブログ初心者です。 ブログを開設して1週間なのですが訪問者が0です(泣) おまけにYHOOやグーグルで自分のブログを検索してもヒットしないくらいです。 どうしたら訪問者が来てくれるようになりますか? 検索エンジンに登録すればいいと前に聞いた事があるのですが、検索エンジンとはなんですか? 登録とは? すいませんがアドバイスがあれば回答お願いします。
- C++でforや再帰関数を使わずに、総当りする方法はありますか?
C++等で、forを使わず、再帰関数を使わずに多量のループで総当りする方法はありますでしょうか? 自己末尾再帰関数というのがネットで出てきますが、C言語系では使えないみたいです。 再帰関数で変数を全てスタティックにしても、関数の多重呼び出しで容量を食ってプログラムが動かないほどの計算をこなす必要があるのですが、こういった多数の桁のやり方になれておらず、先が見えません… また、全部をforにするのも、桁が大きすぎて問題があります。 どなたかご教授くださいますと幸いです。
- ベストアンサー
- C・C++・C#
- noname#86052
- 回答数5