• Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 204
  • Last Modified:

Please Help new to C

Use the program skeleton below (starting with #include <stdio.h>)
as the starting point for quiz4. Add the necessary code to the
functions prob1() and prob2(), and add the other 2 functions, as
described in the text below.

You do not need to change anything in main().

In void prob1(void), take a double floating-point number x from
the keyboard and compute the function f(x), which is defined by:

        f(x) = exp(x)-2*log10(x)+log(x)   if x >=5
        f(x) = 1.5+x*sin(x)               if  -2 < x < 5
        f(x) = x^2+3*x-sinh(x)            if x <= -2.

This function should be computed in:  double func(double x).

In prob1(void), print x and f(x) on the screen.

In void prob2(void), scan the number of elements k that
is less than 9, and the elements of two k-component vectors
v[] and w[]. Print these vectors on the screen.
Then, pass the vectors v[] and w[] and k to a double function
double norm2(double *v, double *w, int k) which will normalize
these two vectors and return the length of the original vector w[].
In prob2(void), print the components of the normalized (unit)
vectors on the screen, as well as the length of the original vector
w[]. If k>5, let 5 components of the vector appear in one line.
*/

/* Program skeleton */
#include <stdio.h>
#include <math.h>
void prob1(void);
void prob2(void);

double func(double x);
double norm2(double *v, double *w, int k);

main()
{
int menu;
printf("There are two functions: prob1() and prob2().\n");
printf("Enter the function number to execute (1 or 2):");
scanf("%d", &menu);
/* form a switch to execute one function */
switch(menu)
{
 case 1:
    prob1();
    break;
 case 2:
    prob2();
    break;
 default:
printf("prob%d() does not exist.\n", menu);
}
exit(0);
}

/*  Problem 1 */
void prob1(void)
{
int x1;
double x;
printf("Here is Problem 1:\n\n");
printf("Enter a double f-p constant:");
/*
scanf("%d", &x1);
if (x1 == -2 || x1 < -2)
{
x == pow(x1, 2) + 3 * x1 - sinh(x1);
}
if (x1 > -2 && x1 < 5)
{
1.5+x*sin(x)
}
if (x1 == 5 or x1 > 5)
{
exp(x)-2*log10(x)+log(x)
}
        f(x) = exp(x)-2*log10(x)+log(x)   if x >=5
        f(x) = 1.5+x*sin(x)               if  -2 < x < 5
        f(x) = x^2+3*x-sinh(x)            if x <= -2.
return;*/
}

double func(double x)
{

}


/*  Problem 2 */
void prob2(void)
{
printf("Here is  Problem 2:\n");

return;
}

double norm2(double *v, double *w, int k)
{

}

.........................

/*

Your output should look like:

iacs5.ucsd.edu% gcc quiz4.c -lm
iacs5.ucsd.edu% a.out

There are two functions: prob1() and prob2().
Enter the function number to execute (1 or 2): 1

Here is Problem 1:

Enter a double f-p constant: -2.5

f(-2.5) = 4.8002

There are two functions: prob1() and prob2().
Enter the function number to execute (1 or 2): 2

Here is Problem 2:

Enter the number of elements (<9): 7

Enter 7 components of v[]
-1 2.0 3.1 -5.2 11.2 -0.25 6.

Enter 7 components of w[]
0.25 -5.1 3.5 1.25 -7.1 0.0 -3.5

v[] as entered:
-1.000    +2.000    +3.100    -5.200    +11.200
-0.250    +6.000

w[] as entered:
+0.250    -5.100    +3.500    +1.250    -7.100
+0.000    -3.500

normalized v[]:
-0.070    +0.140    +0.217    -0.365    +0.786
-0.018    +0.421

normalized w[]:
+0.025    -0.504    +0.346    +0.123    -0.701
+0.000    -0.346

length_w = 10.126

*/
0
DARKSAGES
Asked:
DARKSAGES
1 Solution
 
rajeev_devinCommented:
Is this a homework ?
0
 
DARKSAGESAuthor Commented:
I'm not asking for them to do my homework, i'm asking for help suggestions on were to start. Mainlly on how to compute these three:

        f(x) = exp(x)-2*log10(x)+log(x)   if x >=5
        f(x) = 1.5+x*sin(x)               if  -2 < x < 5
        f(x) = x^2+3*x-sinh(x)            if x <= -2.
0
 
ozoCommented:
#include <math.h>
if( x >= 5 ){
  f = exp(x)-2*log10(x)+log(x)
...
0
 
_iskywalker_Commented:
well i would check for float:
if (x >= 5.0){

}
normalizing vectors should be straight forward, asking for v and w is also in the code.
0
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

Join & Write a Comment

Featured Post

What Kind of Coding Program is Right for You?

There are many ways to learn to code these days. From coding bootcamps like Flatiron School to online courses to totally free beginner resources. The best way to learn to code depends on many factors, but the most important one is you. See what course is best for you.

Tackle projects and never again get stuck behind a technical roadblock.
Join Now