From 50a27f1d6c5cb17d7e7c47fe98cfe61193ecb585 Mon Sep 17 00:00:00 2001 From: k0rrluna Date: Wed, 7 May 2025 14:05:25 +0300 Subject: [PATCH] chapter5 --- DeitelC/Chapter5/findTheMax.c | 19 +++++++++++++++++++ DeitelC/Chapter5/isPerfect.c | 17 +++++++++++++++++ DeitelC/Chapter5/isPerfectDemo.c | 18 ++++++++++++++++++ DeitelC/Chapter5/lcm.c | 19 +++++++++++++++++++ DeitelC/Chapter5/lcmDemo.c | 11 +++++++++++ DeitelC/Chapter5/rootsOfQuadratic.c | 26 ++++++++++++++++++++++++++ DeitelC/Chapter5/sumOfDigits.c | 18 ++++++++++++++++++ 7 files changed, 128 insertions(+) create mode 100644 DeitelC/Chapter5/findTheMax.c create mode 100644 DeitelC/Chapter5/isPerfect.c create mode 100644 DeitelC/Chapter5/isPerfectDemo.c create mode 100644 DeitelC/Chapter5/lcm.c create mode 100644 DeitelC/Chapter5/lcmDemo.c create mode 100644 DeitelC/Chapter5/rootsOfQuadratic.c create mode 100644 DeitelC/Chapter5/sumOfDigits.c diff --git a/DeitelC/Chapter5/findTheMax.c b/DeitelC/Chapter5/findTheMax.c new file mode 100644 index 0000000..10e8060 --- /dev/null +++ b/DeitelC/Chapter5/findTheMax.c @@ -0,0 +1,19 @@ +#include + +int main(void) { + float f1, f2, f3, f4; + puts("Enter 4 float!"); + scanf("%f%f%f%f", &f1, &f2, &f3, &f4); + float listF[] = {f1, f2, f3, f4}; + + float temp; + for(int i = 0; i < 3; i++) { + if(listF[i] >= listF[i+1]) { + temp = listF[i]; + } else if (listF[i+1] >= listF[i]) { + temp = listF[i+1]; + } + } + printf("%s%f\n", "Biggest float: ", temp); + return 0; +} diff --git a/DeitelC/Chapter5/isPerfect.c b/DeitelC/Chapter5/isPerfect.c new file mode 100644 index 0000000..a8594d4 --- /dev/null +++ b/DeitelC/Chapter5/isPerfect.c @@ -0,0 +1,17 @@ +#include + +int isPerfect(int); + +int isPerfect(int num) { + int temp = 0; + for(int i = 1; i < num; i++) { + if(num % i == 0) { + temp += i; + } + } + if (temp == num) { + return 1; + } else { + return 0; + } +} diff --git a/DeitelC/Chapter5/isPerfectDemo.c b/DeitelC/Chapter5/isPerfectDemo.c new file mode 100644 index 0000000..25c64bc --- /dev/null +++ b/DeitelC/Chapter5/isPerfectDemo.c @@ -0,0 +1,18 @@ +#include +#include "isPerfect.c" + +int main(void) { + /*puts("Enter a int!"); + int num; + scanf("%d", &num); + + printf("%d\n", isPerfect(num));*/ + + for(int i = 0; i < 1000; i++) { + if(isPerfect(i)) { + printf("%d ", i); + } + } + puts(""); + return 0; +} diff --git a/DeitelC/Chapter5/lcm.c b/DeitelC/Chapter5/lcm.c new file mode 100644 index 0000000..186bf03 --- /dev/null +++ b/DeitelC/Chapter5/lcm.c @@ -0,0 +1,19 @@ +#include + +int lcm (int, int); + +int lcm (int i1, int i2) +{ + int i3 = 0; + if (i1 >= i2) { + i3 = i1; + } else { + i3 = i2; + } + for (int i = 2; i < i3; i++) { + if (i1 % i == 0 && i2 % i == 0) { + i3 = i; + } + } + return i3; +} diff --git a/DeitelC/Chapter5/lcmDemo.c b/DeitelC/Chapter5/lcmDemo.c new file mode 100644 index 0000000..1c4f36c --- /dev/null +++ b/DeitelC/Chapter5/lcmDemo.c @@ -0,0 +1,11 @@ +#include +#include "lcm.c" + +int main (void) +{ + int i1, i2 = 0; + puts("Enter int1 and int 2"); + scanf("%d%d", &i1, &i2); + printf("%s%d\n", "Lowest common integer: ", lcm(i1, i2)); + return 0; +} diff --git a/DeitelC/Chapter5/rootsOfQuadratic.c b/DeitelC/Chapter5/rootsOfQuadratic.c new file mode 100644 index 0000000..7e95cb1 --- /dev/null +++ b/DeitelC/Chapter5/rootsOfQuadratic.c @@ -0,0 +1,26 @@ +#include +#include + +void rootsOfQuad(int, int, int); + +int main(void) { + int a, b, c = 0; + puts("Enter coefficients!"); + scanf("%d%d%d", &a, &b, &c); + rootsOfQuad(a, b, c); + + return 0; +} + + +void rootsOfQuad(int a, int b, int c) { + int discriminant = (b * b) - 4 * a * c; + + if(discriminant) { + int x1 = (-b - sqrt(discriminant))/2 * a; + int x2 = (-b + sqrt(discriminant))/2 * a; + printf("%s%d%d\n", "x1 and x2 are: ", x1, x2); + } else { + puts("Not reel!"); + } +} diff --git a/DeitelC/Chapter5/sumOfDigits.c b/DeitelC/Chapter5/sumOfDigits.c new file mode 100644 index 0000000..5e1d832 --- /dev/null +++ b/DeitelC/Chapter5/sumOfDigits.c @@ -0,0 +1,18 @@ +#include + +int sumOfDigits(int); + +int main(void) { + int t = 7613; + printf("%d\n", sumOfDigits(t)); + return 0; +} + +int sumOfDigits(int num) { + int result = 0; + while (num > 0) { + result += num % 10; + num /= 10; + } + return result; +}