From 785c2b0e500509771cd61f55dffecfaf0a55bf61 Mon Sep 17 00:00:00 2001 From: k0rrluna Date: Tue, 6 May 2025 03:36:02 +0300 Subject: [PATCH] chapter5 --- DeitelC/Chapter5/currencyConversion.c | 23 ++++++++++++++++ DeitelC/Chapter5/hypotenuse.c | 16 +++++++++++ DeitelC/Chapter5/isEven.c | 11 ++++++++ DeitelC/Chapter5/isEvenCheck.c | 7 +++++ DeitelC/Chapter5/randExample.c | 14 ++++++++++ DeitelC/Chapter5/rectangleOfAnyChar.c | 13 +++++++++ DeitelC/Chapter5/rectangleOfAsteriks.c | 13 +++++++++ DeitelC/Chapter5/rectangleOfAsteriks.c~ | 13 +++++++++ DeitelC/Chapter5/rectangleOfAsteriksDemo.c | 6 ++++ DeitelC/Chapter5/rectangleOfDemo.c | 6 ++++ DeitelC/Chapter5/roundingNumbers.c | 32 ++++++++++++++++++++-- DeitelC/Chapter5/separatingDigits.c | 23 ++++++++++++++++ DeitelC/Chapter5/sidesOfTriangle.c | 24 ++++++++++++++++ DeitelC/Chapter5/struck12.c | 26 ++++++++++++++++++ 14 files changed, 225 insertions(+), 2 deletions(-) create mode 100644 DeitelC/Chapter5/currencyConversion.c create mode 100644 DeitelC/Chapter5/hypotenuse.c create mode 100644 DeitelC/Chapter5/isEven.c create mode 100644 DeitelC/Chapter5/isEvenCheck.c create mode 100644 DeitelC/Chapter5/randExample.c create mode 100644 DeitelC/Chapter5/rectangleOfAnyChar.c create mode 100644 DeitelC/Chapter5/rectangleOfAsteriks.c create mode 100644 DeitelC/Chapter5/rectangleOfAsteriks.c~ create mode 100644 DeitelC/Chapter5/rectangleOfAsteriksDemo.c create mode 100644 DeitelC/Chapter5/rectangleOfDemo.c create mode 100644 DeitelC/Chapter5/separatingDigits.c create mode 100644 DeitelC/Chapter5/sidesOfTriangle.c create mode 100644 DeitelC/Chapter5/struck12.c diff --git a/DeitelC/Chapter5/currencyConversion.c b/DeitelC/Chapter5/currencyConversion.c new file mode 100644 index 0000000..7e780af --- /dev/null +++ b/DeitelC/Chapter5/currencyConversion.c @@ -0,0 +1,23 @@ +#include + +void usdToEuro(double); +void usdToYen(double); + +int main(void) { + double usd = 1; + usdToEuro(usd); + usdToYen(usd); + return 0; +} + +void usdToEuro(double usd) { + double euro = usd * 0.92; + printf("%3s\t%s\n", "USD", "EURO"); + printf("%3.2f\t%3.2f\n", usd, euro); +} + +void usdToYen(double usd) { + double yen = usd * 118.87; + printf("%3s\t%s\n", "USD", "YEN"); + printf("%3.2f\t%3.2f\n", usd, yen); +} diff --git a/DeitelC/Chapter5/hypotenuse.c b/DeitelC/Chapter5/hypotenuse.c new file mode 100644 index 0000000..48292bd --- /dev/null +++ b/DeitelC/Chapter5/hypotenuse.c @@ -0,0 +1,16 @@ +#include +#include + +double hypotenuse (double side1, double side2); + +int main (void) { + double side1, side2; + printf("Enter side 1 and side 2\n"); + scanf("%lf%lf", &side1, &side2); + printf("%3s%3.2lf\n", "Hypotenuse: ", hypotenuse(side1, side2)); +} + +double hypotenuse (double side1, double side2) { + double hypo = (side1 * side1) + (side2 * side2); + return sqrt(hypo); +} diff --git a/DeitelC/Chapter5/isEven.c b/DeitelC/Chapter5/isEven.c new file mode 100644 index 0000000..2ac35a4 --- /dev/null +++ b/DeitelC/Chapter5/isEven.c @@ -0,0 +1,11 @@ +#include + +int isEven (int num); + +int isEven (int num) { + if (num % 2 == 0) { + return 1; + } else { + return 0; + } +} diff --git a/DeitelC/Chapter5/isEvenCheck.c b/DeitelC/Chapter5/isEvenCheck.c new file mode 100644 index 0000000..d709448 --- /dev/null +++ b/DeitelC/Chapter5/isEvenCheck.c @@ -0,0 +1,7 @@ +#include +#include "isEven.c" + +int main (void) { + int a = isEven(2); + printf("%d\n", a); +} diff --git a/DeitelC/Chapter5/randExample.c b/DeitelC/Chapter5/randExample.c new file mode 100644 index 0000000..bfd4ca2 --- /dev/null +++ b/DeitelC/Chapter5/randExample.c @@ -0,0 +1,14 @@ +#include +#include + +int main (void) { + printf("%d\n", 1 + rand() % 6); + printf("%d\n", 100 + rand() % 900); + printf("%d\n", rand() % 19); + printf("%d\n", 1000 + rand() % 1222); + printf("%d\n", -1 + rand() % 2); + printf("%d\n", -3 + rand() % 15); + printf("%d\n", 3 * (1 + rand() % 10)); + printf("%d\n", 3 + 2 * (rand() % 9)); + printf("%d\n", 3 + 5 * (rand() % 7)); +} diff --git a/DeitelC/Chapter5/rectangleOfAnyChar.c b/DeitelC/Chapter5/rectangleOfAnyChar.c new file mode 100644 index 0000000..9ef2341 --- /dev/null +++ b/DeitelC/Chapter5/rectangleOfAnyChar.c @@ -0,0 +1,13 @@ +#include + +void rectangleOfAnyChar (int side1, int side2, char a); + + +void rectangleOfAnyChar (int side1, int side2, char a) { + for(int i = 0; i < side1; i++) { + for(int j = 0; j < side2; j++) { + printf("%c", a); + } + printf("\n"); + } +} diff --git a/DeitelC/Chapter5/rectangleOfAsteriks.c b/DeitelC/Chapter5/rectangleOfAsteriks.c new file mode 100644 index 0000000..1426ea2 --- /dev/null +++ b/DeitelC/Chapter5/rectangleOfAsteriks.c @@ -0,0 +1,13 @@ +#include + +void rectangleOfAsteriks(int side1, int side2); + +void rectangleOfAsteriks(int side1, int side2) +{ + for (int i = 0; i < side1; i++) { + for (int j = 0; j < side2; j++) { + printf("*"); + } + printf("\n"); + } +} diff --git a/DeitelC/Chapter5/rectangleOfAsteriks.c~ b/DeitelC/Chapter5/rectangleOfAsteriks.c~ new file mode 100644 index 0000000..146cfc3 --- /dev/null +++ b/DeitelC/Chapter5/rectangleOfAsteriks.c~ @@ -0,0 +1,13 @@ +#include + +void rectangleOfAsteriks (int side1, int side2); + + +void rectangleOfAsteriks (int side1, int side2) { + for(int i = 0; i < side1; i++) { + for(int j = 0; j < side2; j++) { + printf("*"); + } + printf("\n"); + } +} diff --git a/DeitelC/Chapter5/rectangleOfAsteriksDemo.c b/DeitelC/Chapter5/rectangleOfAsteriksDemo.c new file mode 100644 index 0000000..7f473ac --- /dev/null +++ b/DeitelC/Chapter5/rectangleOfAsteriksDemo.c @@ -0,0 +1,6 @@ +#include +#include "rectangleOfAsteriks.c" + +int main (void) { + rectangleOfAsteriks(4,5); +} diff --git a/DeitelC/Chapter5/rectangleOfDemo.c b/DeitelC/Chapter5/rectangleOfDemo.c new file mode 100644 index 0000000..2f0212e --- /dev/null +++ b/DeitelC/Chapter5/rectangleOfDemo.c @@ -0,0 +1,6 @@ +#include +#include "rectangleOfAnyChar.c" + +int main (void) { + rectangleOfAnyChar(4,5,'@'); +} diff --git a/DeitelC/Chapter5/roundingNumbers.c b/DeitelC/Chapter5/roundingNumbers.c index 61b52d9..8200d29 100644 --- a/DeitelC/Chapter5/roundingNumbers.c +++ b/DeitelC/Chapter5/roundingNumbers.c @@ -1,10 +1,38 @@ #include #include +int roundToInteger(double number); +int roundToTenths(double number); +int roundToHundreths(double number); +int roundToThousandths(double number); + + int main (void) { double num; printf("%s\n", "Enter a number!"); scanf("%lf", &num); - int y = floor(num + .5); - printf("%3s\t%3lf\t%3s\t%3d\n", "Orginal num:", num, "Rounded: ", y); + printf("%3s\t%3lf\t%3s\t%3d\n", "Orginal num:", num, "Rounded: ", roundToInteger(num)); + printf("%3s\t%3lf\t%3s\t%3d\n", "Orginal num:", num, "Rounded: ", roundToTenths(num)); + printf("%3s\t%3lf\t%3s\t%3d\n", "Orginal num:", num, "Rounded: ", roundToHundreths(num)); + printf("%3s\t%3lf\t%3s\t%3d\n", "Orginal num:", num, "Rounded: ", roundToThousandths(num)); +} + +int roundToInteger(double number) { + int y = floor(number + .5); + return y; +} + +int roundToTenths(double number) { + int y = floor(number * 10 + .5) / 10; + return y; +} + +int roundToHundreths(double number) { + int y = floor(number * 100 + .5) / 100; + return y; +} + +int roundToThousandths(double number) { + int y = floor(number * 1000 + .5) / 1000; + return y; } diff --git a/DeitelC/Chapter5/separatingDigits.c b/DeitelC/Chapter5/separatingDigits.c new file mode 100644 index 0000000..cbeae98 --- /dev/null +++ b/DeitelC/Chapter5/separatingDigits.c @@ -0,0 +1,23 @@ +#include + +int main(void) { + puts("Enter integer"); + int scanV; + scanf("%d", &scanV); + int rem = 10000; + int firstD = 1; + + if(scanV < 32768 && scanV >= 1) { + while(rem >= 1) { + int digit = scanV / rem; + if(!firstD || digit) { + printf("%d ", digit); + firstD = 0; + scanV = scanV % rem; + } + + rem /= 10; + } + printf("\n"); + } +} diff --git a/DeitelC/Chapter5/sidesOfTriangle.c b/DeitelC/Chapter5/sidesOfTriangle.c new file mode 100644 index 0000000..3e3b1ca --- /dev/null +++ b/DeitelC/Chapter5/sidesOfTriangle.c @@ -0,0 +1,24 @@ +#include +#include + +double sidesOfTriangle (double s1, double s2, double s3); + +int main (void) { + double s1, s2, s3; + printf("%s\n","Enter sides of triangle"); + scanf("%lf%lf%lf", &s1, &s2, &s3); + double area = sidesOfTriangle(s1, s2, s3); + if(area >= 0) { + printf("%3s%lf\n", "Area: ", area); + } + return 0; +} + +double sidesOfTriangle (double s1, double s2, double s3) { + double perimeter = s1 + s2 + s3; + double u = perimeter / 2; + if ((s1 < s2 + s3) && (s2 < s1 + s3) && (s3 < s1 + s2)) { + return sqrt(u * (u - s1) * (u - s2) * (u - s3)); + } + return -1; +} diff --git a/DeitelC/Chapter5/struck12.c b/DeitelC/Chapter5/struck12.c new file mode 100644 index 0000000..1f22266 --- /dev/null +++ b/DeitelC/Chapter5/struck12.c @@ -0,0 +1,26 @@ +#include + +void struck12(int, int, int); + +int main(void) { + puts("Enter time in 3 integer!(H,M,Sec)"); + int time1, time2, time3 = 0; + + scanf("%d%d%d", &time1, &time2, &time3); + struck12(time1, time2, time3); + + return 0; +} + +void struck12(int i1, int i2, int i3) { + int total = (i1*3600) + (i2*60) + i3; + + if(total > 43200) { + total -= 43200; + } + int rem = 43200 - total; + int sec = rem % 60; + int h = rem / 3600; + int m = (rem - (h * 3600) - sec) / 60; + printf("%s%d%s%d%s%d%s\n", "Struck 12: ", h, " Hours, ", m, " Min, ", sec, " Secs left. "); +}