私はOSX 10.11上で極座標形式のフェーザーの合計の大きさと角度を計算するためにCで一対の関数を書いていますが、私はいくつか問題があります。私が持っている2つの主な質問は次のとおりです。ターミナルの関数に対して、2つの配列を入力として(私が合計したいフェーザの大きさと角度)与える方法はありますか?Mac端末のCプログラムに配列を入力するにはどうすればよいですか?
2)main、argc、およびargvを持つようにCによって強制されているときに、どうすればよいですか?ここで
は、コードは次のとおりです。
float PhasMag(float *coef,float *angle);
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
int main(int argc, char *argv)
{
if(argc != 2){
printf("Incorrect number of arguments, please input an array of magnitudes and an array of angles, exiting\n");
return -1;
}
return PhasMag(argv[1],argv[2]);
}
float PhasMag(float *coef,float *angle)
{
float R = 0,Im = 0, Mag; //real and imag. parts of answer
float *countM;
int sc = 0 ,sa;
countM = coef;
while(countM != NULL){
countM = countM + 1;
sc = sc + 1;
}
sa = sc;
for(int i = 0;i<sc;i++){//computes real part
coef = coef + i; angle = angle + i;
R = R + (*coef)*cos(*angle);
}
coef = coef - sc + 1; angle = angle - sa + 1;
for(int k = 0;k<sa;k++){//computes imaginary part
coef = coef + k; angle = angle + k;
Im = Im + (*coef)*sin(*angle);
}
return sqrt(R*R+Im*Im);
}
argvが文字列の配列です - あなただけの魔法あなたはどのように多くを持っているん山車 –
の配列にこれらの文字列をキャストすることはできませんか?もしあなたがロットを持っているならば、それらをファイルに入れて、ファイル名をパラメータとして与えることができます。 –