2016-04-10 24 views
-1
//assumed mean method 
#include<stdio.h> 
#include<conio.h> 
void main() 
{ 
    clrscr(); 
/* mvx--Middle value of observation(x) 
    xup--Upper point of observation 
    xlow--Lower point of observation 
    f--frequency of observation 
    Tf--Total of frequency 
    n--number of observation 
    a--Assumed mean 
    c--class length 
    d--difference of observation and assumed mean 
    fd--multiplication of frequency and difference 
    Tfd--total of fd 
    mean--finally mean */ 

    int mvx[100],xup[100],xlow[100],f[100],Tf=0,n,i,a,c,d[100],fd[100]; 
    float mean,Tfd=0; 

    printf("\t\tProgram to find mean with assumed mean method:\n\n"); 
    printf("Enter the number of observation:"); 
    scanf("%d",&n); 
    printf("Enter the data:\n"); 
    printf("X-->"); 
    for(i=1;i<=n;i++) 
    { 
     printf("\t"); 
     //taking data from user: 
     scanf("%d",&xlow[i]); 
     scanf("%d",&xup[i]); 
    } 
    printf("Printing the observation:\n"); 
    for(i=1;i<=n;i++) 
    { 
     //just printing data 
     printf("%d-%d\t",xlow[i],xup[i]); 
    } 
    printf("\nMV(x)-->"); 
    for(i=1;i<=n;i++) 
    { 
     //finding middle value of x amd prntfing it 
     mvx[i]=xup[i]+xlow[i]/2; 
     printf("\t%d",mvx[i]); 
    } 
    printf("\nEnter the frequency:\n"); 
    printf("F-->"); 
    for(i=1;i<=n;i++) 
    { 
     //taking frequency from user and making total of it 
     printf("\t"); 
     scanf("%d",&f[i]); 
     Tf=Tf+f[i]; 
    } 
    //finding class length 
    c=xup[1]-xlow[1]; 
    //assuming mean from the user 
    printf("Assume any observation from data:"); 
    scanf("%d",&a); 
    printf("D-->"); 
    for(i=1;i<=n;i++) 
    { 
     //calculating d and printing 
     printf("\t"); 
     d[i]=(mvx[i]-a)/c; 
     printf("%d",d[i]); 
    } 
    printf("\nFD-->"); 
    for(i=1;i<=n;i++) 
    { 
     //calculating fd and printing 
     fd[i]=f[i]*d[i]; 
     printf("\t%d",fd[i]); 
     Tfd=Tfd+fd[i]; 
    } 
    //calculating mean 
    mean=a+(Tfd/Tf)*c; 
    printf("\nMean of the data is:%f",mean); 
    getch(); 
} 

これらは、想定平均法によるクラス長の連続データの平均を求めるプログラムです。 プログラム内のコメント部分に追加した変数の他のすべての情報。 すべての変数を宣言したところでは、「宣言はここで許可されていません」という2つの同じエラーがあります。 私はそれを取り除くために多くを試しましたが、私はそれから抜け出すために私を助けてください。ここでの宣言はC言語で許可されていません。

+1

関連性がありません:ゼロベースのインデックス作成に対抗しないでください。あなたはいつかそれを抱きしめなければならない。今もそうかもしれない。 – WhozCraig

答えて

0

古いコンパイラを使用する場合、私はすべてのC99より前のコンパイラ、すべての宣言関数が呼び出される前に関数が来なければなりません。つまり、あなたはすべての変数を宣言した

clrscr(); 

後に行を移動し、あなたのコンパイラは、コンパイラフラグを使用してC99を(サポートしている場合は、既存のコードを使用することができます

float mean,Tfd=0; 

行の後に移動、おそらく)。次に、それを有効にする方法を見つける必要があります。

+0

もう少し詳しく:http://stackoverflow.com/questions/288441/variable-declaration-placement-in-c – Leon

関連する問題