Results 1 to 2 of 2

Thread: Problem with my code. C programming C++ Anyone can look at mine?

  1. #1
    Join Date
    Oct 2011
    Posts
    3

    Problem with my code. C programming C++ Anyone can look at mine?

    This is my code and when I gcc it it won't let me and gives me these below errors.
    Code below the error I am getting trying to compile it
    [code]
    /tmp/cc2cHkJy.o: In function `stdData':
    problem.c.text+0x570): undefined reference to `sqrt'
    collect2: ld returned 1 exit status

    /[code]


    And this is the code. Anybody can fix the problem?

    [code]

    Descrition: Implement a menu managing array data such that the program asks multiple questions to the user and executes the operation using the method he chooses.
    */

    #include <stdio.h>
    #include <math.h>

    /*function definitions*/
    double sumData (double x[], int n);//returns the sum of the given set.
    double medianData (double x[], int n);//returns the median of the given set.
    double stdData (double x[], int n);// returns the standad derivation of the given set.
    double rangeData (double x[], int n);//returns the range of the given set.
    void freqData (double x[], int n);//displays the frequency distribution in the given ranges.
    double meanData(double x[], int n);//returns the mean of the data set.
    void setData(double x[], int n);// returns the array as a whole.
    void bubble_sort(double x[], int n);//to search the array.

    int main()
    {
    int size=100;
    double array[size];
    int i, x, c;

    printf ("Please enter the size of you array:");
    scanf ("%d", &size);

    for (i=0; i<size; i++) {
    printf("Enter element %d of the array:", i);
    scanf("%lf", &array[i]);
    }

    printf("Please select a number among the following operations:\n");
    printf("1.Display the data set\n2.Calculate the mean and");
    printf("sum of the data set\n3.Calculate the median of the data set\n");
    printf("4.Calculate the standard deviation of the data set\n5.");
    printf("Find range of the data set\n6.Display a frequency distribution\n");
    printf("7.Quit\n");
    scanf("%d", &c);
    while (c<1 || c>7) {
    printf("\aYou have entered an ivalid number; try again.\n");
    printf("Please select a number among the following operations:\n");
    printf("1.Display the data set\n2.Calculate the mean and");
    printf("sum of the data set\n3.Calculate the median of the data set\n");
    printf("4.Calculate the standard deviation of the data set\n5.");
    printf("Find range of the data set\n6.Display a frequency distribution\n");
    printf("7.Quit\n");
    scanf("%d", &c);
    }
    if (c==1) {
    setData (array, size); //call the function to display the array.
    }
    else if (c==2){// displays both the mean and sum.
    meanData(array, size);
    sumData(array, size);
    printf("mean of the data set:%f\n the sum is:%f\n", meanData(array, size), sumData(array, size));
    }
    else if (c==3){//displays median
    medianData(array, size);
    printf("median of the data set: %f\n", medianData(array, size));

    }
    else if (c==4){
    stdData(array, size); //to display the deviation.
    printf("The standard deviation of the data set:%f\n", stdData(array, size));
    }
    else if (c==5){// Printing the range on the screen.
    rangeData(array, size);
    printf("The range of this data set is:%f\n", rangeData(array, size));
    }
    else if (c==6){//returning the frequency in interval ranges.
    freqData(array, size);
    }
    else if (c==7){//Quit the program.
    printf("The program ends here.\n");
    }
    return 0;
    }
    /*function definitions*/

    void setData (double x[], int n)/* function to display the array pr set data*/

    {

    int i;

    for (i=0; i<n; i++){
    printf("%f ", x[i]);
    }
    }

    double meanData( double x[], int n)/* function to calculate the mean*/

    {

    int i;

    double sum =0;
    for (i=0; i<n; i++){
    sum = sum + x[i];
    }
    return (sum/n);

    }

    double sumData( double x[], int n)/*function to calculate the sum*/

    {

    int i;

    double sum = 0;

    for (i=0 ;i<n; i++){
    sum = sum + x[i];
    }

    return (sum);

    }

    void bubble_sort( double x[], int n)/* function to sort data in increasing order */

    {

    int i,j;

    double temp;

    for (i=0; i<n-1; i++){
    for (j=i+1; j<n; j++){

    if ( x[i] > x[j]){

    temp = x[i];

    x[i] = x[j];

    x[j] = temp;

    }

    }

    }
    }

    double medianData (double x[], int n) /*function to calculate the median of the data set */

    {

    double Middle;
    int h1, h2;

    bubble_sort(x,n);

    if (n%2 == 0){/*if n is even */

    h1 = n/2;
    h2 = (n/2) - 1;

    Middle = ((x[h1] + x[h2])/2);

    }

    else { //if n is odd
    Middle = x[n/2];

    }

    return ( Middle );

    }

    double stdData (double x[], int n)/* function to find the standard deviation */

    {

    int i;

    double sum = 0, sum1 = 0;

    double sum2, std;

    for (i=0; i<n; i++){

    sum1 = sum1 + (x[i]*x[i]);

    sum = sum + x[i];


    }

    sum2 = (sum * sum)/(n*n);

    std = sqrt((sum1/n) - sum2);

    return (std);

    }

    double rangeData(double x[], int n)/* calculting the range of the data set */

    {

    int i;

    double max, min, range;

    max = x[0];

    min = x[0];
    for (i = 0; i<n; i++){

    if( x[i] < min){//searching for the minimum element

    min = x[i];

    }

    if (x[i] > max){//searching for the maximum element

    max = x[i];

    }

    }

    range = max - min;//calculating the range
    return (range);

    }

    void freqData (double x[], int n)/*displaying the frequency */
    {

    int i;
    int freq1 = 0;
    int freq2 = 0;
    int freq3 = 0;
    int freq4 = 0;

    bubble_sort(x,n);/*sorting the array values */

    for (i=0; i<n; i++){
    if (x[i] < 0){
    freq1 = freq1 + 1;

    }

    else if (x[i]>= 0 && x[i]<10){

    freq2 = freq2 + 1;

    }
    else if (x[i]>= 10 && x[i]<100){

    freq3 = freq3 + 1;

    }

    else {

    freq4 = freq4 +1;

    }

    }//displaying ranges.

    printf ("%s%13s\n", "Interval", "Frequency" );
    printf ("(-inf , 0)%13d\n", freq1);
    printf ("[0, 10)%10d\n", freq2);
    printf ("[10, 100)%9d\n", freq3);
    printf ("[100,+inf )%11d\n", freq4);
    }

    /[code]

  2. #2
    bluraydecrypter Guest

    Re: Problem with my code. C programming C++ Anyone can look at mine?

    -lm
    add -lm to your linker flags

    just like this
    gcc -o myprogram main.c -lm

Similar Threads

  1. Programming in Android, problem of inheritance and object handling
    By Lalitmohan in forum Software Development
    Replies: 5
    Last Post: 27-11-2010, 12:06 PM
  2. Problem of character array in C programming
    By Amie in forum Software Development
    Replies: 2
    Last Post: 26-08-2009, 05:45 PM
  3. Problem regarding PHP Programming Language
    By NetWorm in forum Software Development
    Replies: 3
    Last Post: 02-03-2009, 03:04 PM
  4. Problem in MMORPG Client/Server Network Programming
    By Jagdish Gada in forum Software Development
    Replies: 3
    Last Post: 24-02-2009, 01:49 PM
  5. Replies: 3
    Last Post: 13-12-2008, 01:49 PM

Tags for this Thread

Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •  
Page generated in 1,749,880,189.50481 seconds with 16 queries