Rewrote the program, now I keep getting invalid lvalue in assignment on line 162 and 163. Also get a error that says 'for' loop initial declaration used outside of C99 mode.
Code:
#include <stdio.h>
#define size 10
float x[size];
#define SENTINEL -1.0
int getData(float x[], int arraysize);
float computeSum(int n, float x[]);
float computeMean(int n, float sum);
float computeMedian(int n, float x[]);
void sort(float x[], int n);
void swap(float * a, float * b);
int main()
{
int n;
float sum;
float mean;
float median;
int findixsmall;
n=getData(x, size);
sum=computeSum(n, x);
mean=computeMean(n, sum);
median=computeMedian(n, x);
findixsmall=computeMedian(n, x, start);
for (int a=0;a<n;a++)
printf("%f\n", x[a]);
printf("Your mean is %f\n", mean);
printf("Your sum is %f\n", sum);
}
int getData(float x[], int arraysize)
{
float item; // Temp cell for each item read
int counter; // Count of number of items read
if (arraysize <= 0) return (-2);
counter = 0;
// Execute the "priming" or initial read
printf("Enter the first data item: ");
scanf ("%f", &item);
// Repeat until no more data.
while (item != SENTINEL)
{
x[counter] = item;
counter++;
if (counter >= arraysize) return (0); // array full
// Execute the "update" or next read
printf("Enter the next data item: ");
scanf ("%f", &item);
}
if (counter == 0) return (-1); // file empty
else return (counter);
} // end getData
float computeSum(int n, float x[])
{
int sum;
sum = 0;
for (int i = 0; i < n; i++)
{
sum = sum + x[i];
}
return(sum);
}
float computeMean(int n, float sum)
{
float mean;
mean = sum/n;
return (mean);
}
//Find the index of the smallest number in an array x
//between x[start] and x[n-1].
float computeMedian(int n, float x[])
{
void sort(float x[], int n);
{
int ix//index of smallest item
for(i=0; i<n; i++)
{
ix=findixsmall(x, i, n);
swap(&x[ix], &x[i];
}
}
ix=findixsmall(x ,start + 1 , n);
int findixsmall(int n, //IN: the number of items to be compared
float x[], //IN: array to be searched
int start) //IN: starting search point
{
int n
for(i=start + 1; x<n; i++)
{
if(x[ixsmall]< x[i])
ixsmall=i;
}
return ixsmall;
}
int i;
int ixsmall; //index of smallest item
ixsmall=0; //start
swap(& x[ix], & x[0]);
swap(x[start], & x[ixsmall])
void swap
(float * a, float * b)
{
float temp;
temp= & a;
& a= & b;
& b= temp;
} //end swap
printf("Your median is %f\n", median);
}//end computeMedian