#include <stdio.h>
#include <math.h>
#define RAMDA 0.05      /*   λ   */
#define GANMA 0.3       /*   γ   */
#define S0 0            /*   初期売上額   */
#define M 10000000000   /*   市場の飽和金額   */
#define A 1000000000    /*   広告キャンペーン費用   */
#define MAX_TERM 24     /*   販売期間   */
#define MAX_DATA 2      /*   広告キャンペーンの種類   */
struct campaign{
    int term;           /*   広告キャンペーン期間   */
    char term_jp[30];   /*   広告キャンペーンの名称   */
    double ab;          /*   広告キャンペーンの普及率A   */
    double b;           /*   λ + γ * A / M   */
};
int main(void);
int main(void)
{
    struct campaign data[MAX_DATA] = {
        {24,2年間,0.0,0},   ←ここと
        {12,1年間,0.0,0},
        {6,6ヶ月,0.0,0},
        {1,1ヶ月,0.0,0}};   ←ここを追加したんですがどうしたらいいでしょうか?
        double s[MAX_DATA][MAX_TERM+1];
        int t, i;
        char filename[128];
        FILE *fp;
        for(i = 0;i < MAX_DATA; i++){
        /*   普及率の計算   */
            data[i].ab = A / (double)data[i].term;
        /*   λ + γAMの計算   */
            data[i].b = (RAMDA + GANMA*data[i].ab / M);
            }
    printf(副課題3の計算実行\n\n);
    printf(Excelで開くファイル名を入力してください.拡張子(*.csv)\n);
    gets(filename);
    if((fp=fopen(filename,w))==NULL){
        printf(ファイルを作成することが出来ません.\n);
        return(-1);
    }
    fprintf(fp,時間);
    for(i = 0;i < MAX_DATA; i++)
        fprintf(fp,,売上(%s),data[i].term_jp);
    fprintf(fp,\n);
    for(t = 0;t <= MAX_TERM; t++){
    fprintf(fp,%d, t);
    for(i = 0;i < MAX_DATA; i++){
        if(t <= data[i].term)
            s[i][t] = S0*exp(-data[i].b*t)+(GANMA*data[i].ab*(1-exp(-data
[i].b*t))/data[i].b);
        else
            s[i][t] = s[i][data[i].term]*exp(-RAMDA*(t - data[i].term));
            fprintf(fp,,%f,s[i][t]);
            }
        fprintf(fp,\n);
        }
    fclose(fp);
    return(0);
}
>ここを追加したんですがどうしたらいいでしょうか?
知りません。なぜならあなたが最終的にどうしたいのかがわからないからです。
コンパイルエラーをなくしてくれ、というのなら、
>#define MAX_DATA 2
と、
>struct campaign data[MAX_DATA]
の意味を考えてみては?
とアドバイスすることはできますが。
この場合 「PAI さん」がおっしゃられるとおり
データの挿入場所の問題ではなく、
>#define MAX_DATA 2      /*   広告キャンペーンの種類   */
と
>struct campaign data[MAX_DATA]
の関係をよく理解できていないようです
つまり
>   struct campaign data[MAX_DATA] = {
>        {24,2年間,0.0,0},   ←ここと
>        {12,1年間,0.0,0},
>        {6,6ヶ月,0.0,0},
>        {1,1ヶ月,0.0,0}};   ←ここを追加したんですがどうしたらいいでしょ
うか?
これは
>   struct campaign data[2] = {
         ・
         ・
         ・
と成り
領域を 2つしか確保していない領域に対して4つで初期化しているため
コンパイルエラー等になっているのではないでしょうか
もう少し何を聞きたいのか説明文章ほしいですね、ダラダラしないのもひとつの方法
とは思いますけど・・・
「プリプロセッサ演算子」などをもう少し理解度を深めると良いかも知れませんね

 
  
  
  
  