Skip to content
Toggle navigation
P
Projects
G
Groups
S
Snippets
Help
viakul
/
iax0583
This project
Loading...
Sign in
Toggle navigation
Go to a project
Project
Repository
Issues
0
Merge Requests
0
Pipelines
Wiki
Snippets
Members
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Commit
4c70b914
authored
Oct 03, 2018
by
viakul
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Upload New File
parent
e5b3d97b
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
160 additions
and
0 deletions
Homework I/Homework_I.c
Homework I/Homework_I.c
0 → 100644
View file @
4c70b914
/**
* File: Homework_I.c
* Author: Viktor Akulich
* Created: 26.09.2018
* Last edit: 01.10.2018
*
* Description: Calculating Function y = f(x)
*
*/
#include <stdio.h>
#include <math.h> //include this labrary for sqrt() and pow() functions
int
main
(){
int
i
;
// use this variable for FOR LOOPS
float
i_func
[
15
];
//An array of input values of the function
float
out_func
;
//The result of the function if it is possible
float
A
;
//User input starting point
float
B
;
//User input ending point
float
C
;
//User input step's coefficient
float
H
;
//User input step
//use floats because the input and result
// can be any real number.
//Ask user different variables values.
printf
(
"Insert the starting value:
\n
"
);
scanf
(
"%f"
,
&
A
);
//get the starting value
printf
(
"Insert the endingg value:
\n
"
);
while
(
1
)
{
scanf
(
"%f"
,
&
B
);
if
(
B
>
A
)
{
break
;
}
else
{
printf
(
"Please repeat!!!!
\n
"
);
printf
(
"Insert the number which is bigger than starting value :
\n
"
);
}
}
printf
(
"Insert the step value:
\n
"
);
//Cheak user input by implementing while loop
//it always true because 1 is TRUE
//is always True, so the only way to stop it use
//break statement
//If it meets the requirement such as B>A then we
// stop the loop and go to the next loop
//If it doesn't meet the requrement we ask user
// to repeat the operation and start the loop from the beginning
while
(
1
)
{
scanf
(
"%f"
,
&
H
);
if
(
H
>
0
)
{
break
;
}
else
{
printf
(
"Please repeat. Insert the number which is bigger than 0:
\n
"
);
}
}
printf
(
"Insert the step's coeficient value should be >=1:
\n
"
);
while
(
1
)
{
scanf
(
"%f"
,
&
C
);
if
(
C
>=
1
)
{
break
;
}
else
{
printf
(
"Please repeat. Insert the number which is bigger or equal to one:
\n
"
);
}
}
//Do almost the same operations for step value and its
//coefficient as well.The difference is only in the condition after
//IF statement and text inside PRINTF statement
i_func
[
0
]
=
A
;
for
(
i
=
1
;
i
<
15
;
i
++
)
{
i_func
[
i
]
=
i_func
[
i
-
1
]
+
(
H
*
pow
(
C
,(
i
-
1
)));
}
//Create all inputs for the function
//Create 0th element, which I will use to create other values.
//use for loop in order to fill the array with appropriate values
//fill each element by adding to previous element C^(i-1)*H,
printf
(
" x
\t\t
y
\n
"
);
//make two colums X and Y by using \t twice
//otherwise Y doesn't coinside with numbers
for
(
i
=
0
;
i
<
15
;
i
++
){
//use the FOR LOOP to fill two collums with X and
//Y values, and cheak wheather Y value is exist, Not
//available or it is a complex number
if
(
i_func
[
i
]
>=
B
)
{
//by defenitions the values couldn't
//be more than ending point, but it might happen that
break
;
//when the array was filling in some values exceeded
//the ending point(B) so I have to cheak.
//if we find the values which are greater
//than B we could break the loop beacause the other
//values in array are also bigger than B
}
if
((
i_func
[
i
]
==
0
)
||
(
i_func
[
i
]
==
1
))
{
printf
(
" %f
\t
Not available
\n
"
,
i_func
[
i
]
);
//If Statement checks wheather the Y value is NOT available.
//This happens only when the denominator is equal to zero.
//It only happens when X=1 or X=0
}
else
if
((
pow
(
i_func
[
i
],
3
)
>
4
)
||
((
i_func
[
i
]
>
0
)
&&
(
i_func
[
i
]
<
1
)))
{
printf
(
" %f
\t
Complex Number
\n
"
,
i_func
[
i
]
);
//IF statement checks whether the Y value is a Complex number.
// This is only happens when we have a square root
//out of negative number.It only happens when
//X[0,1]and X > qubic root out of four
}
else
{
//if our value can be found then we use next
//opearations to fidnd it
out_func
=
((
i_func
[
i
]
+
4
)
/
(
sqrt
(
pow
(
i_func
[
i
],
2
)
-
i_func
[
i
])))
*
pow
(
i_func
[
i
],
2
)
*
sqrt
(
4
-
pow
(
i_func
[
i
],
3
)
);
printf
(
" %f
\t
%f
\n
"
,
i_func
[
i
],
out_func
);
//use the variable output_func just for
//making more clear how the values of
//the function is calculated
//Don't use an array for output values because
//I just need to find the values and print them,
}
}
return
0
;
}
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment