#include <stdio.h>
// ฟังก์ชันบวก
int add( int a, int b) {
return a + b;
}
// ฟังก์ชันลบ
int subtract( int a, int b) {
return a - b;
}
// ฟังก์ชันคูณ
int multiply( int a, int b) {
return a * b;
}
// ฟังก์ชันหาร
float divide( int a, int b) {
if ( b != 0 ) {
return ( float ) a / b;
} else {
printf ( "Error: Division by zero\n " ) ; return 0 ;
}
}
// ฟังก์ชันอินทิเกรต
double integrate( double a, double b, double ( * f) ( double ) ) {
double area = 0 ;
double dx = 0.0001 ; // ความกว้างของแท่งสำหรับการแยกพื้นที่
for ( double x = a; x < b; x += dx) {
area += f( x) * dx;
}
return area;
}
// ฟังก์ชันดิฟ
double differentiate( double x, double ( * f) ( double ) ) {
double dx = 0.0001 ;
double fx_plus_dx = f( x + dx) ;
double fx_minus_dx = f( x - dx) ;
return ( fx_plus_dx - fx_minus_dx) / ( 2 * dx) ;
}
// ฟังก์ชัน f(x) = x^2
double square( double x) {
return x * x;
}
int main( ) {
int num1, num2;
printf ( "Enter two numbers: " ) ; scanf ( "%d %d" , & num1
, & num2
) ;
printf ( "Addition: %d\n " , add
( num1
, num2
) ) ; printf ( "Subtraction: %d\n " , subtract
( num1
, num2
) ) ; printf ( "Multiplication: %d\n " , multiply
( num1
, num2
) ) ; printf ( "Division: %.2f\n " , divide
( num1
, num2
) ) ;
double a, b;
printf ( "Enter integration bounds (a b): " ) ; scanf ( "%lf %lf" , & a
, & b
) ; printf ( "Integration of x^2 from %.2f to %.2f: %.2f\n " , a
, b
, integrate
( a
, b
, square
) ) ;
double point;
printf ( "Enter a point for differentiation: " ) ; printf ( "Differentiation at %.2f: %.2f\n " , point
, differentiate
( point
, square
) ) ;
return 0 ;
}
I2luY2x1ZGUgPHN0ZGlvLmg+CgovLyDguJ/guLHguIfguIHguYzguIrguLHguJnguJrguKfguIEKaW50IGFkZChpbnQgYSwgaW50IGIpIHsKICAgIHJldHVybiBhICsgYjsKfQoKLy8g4Lif4Lix4LiH4LiB4LmM4LiK4Lix4LiZ4Lil4LiaCmludCBzdWJ0cmFjdChpbnQgYSwgaW50IGIpIHsKICAgIHJldHVybiBhIC0gYjsKfQoKLy8g4Lif4Lix4LiH4LiB4LmM4LiK4Lix4LiZ4LiE4Li54LiTCmludCBtdWx0aXBseShpbnQgYSwgaW50IGIpIHsKICAgIHJldHVybiBhICogYjsKfQoKLy8g4Lif4Lix4LiH4LiB4LmM4LiK4Lix4LiZ4Lir4Liy4LijCmZsb2F0IGRpdmlkZShpbnQgYSwgaW50IGIpIHsKICAgIGlmIChiICE9IDApIHsKICAgICAgICByZXR1cm4gKGZsb2F0KWEgLyBiOwogICAgfSBlbHNlIHsKICAgICAgICBwcmludGYoIkVycm9yOiBEaXZpc2lvbiBieSB6ZXJvXG4iKTsKICAgICAgICByZXR1cm4gMDsKICAgIH0KfQoKLy8g4Lif4Lix4LiH4LiB4LmM4LiK4Lix4LiZ4Lit4Li04LiZ4LiX4Li04LmA4LiB4Lij4LiVCmRvdWJsZSBpbnRlZ3JhdGUoZG91YmxlIGEsIGRvdWJsZSBiLCBkb3VibGUgKCpmKShkb3VibGUpKSB7CiAgICBkb3VibGUgYXJlYSA9IDA7CiAgICBkb3VibGUgZHggPSAwLjAwMDE7IC8vIOC4hOC4p+C4suC4oeC4geC4p+C5ieC4suC4h+C4guC4reC4h+C5geC4l+C5iOC4h+C4quC4s+C4q+C4o+C4seC4muC4geC4suC4o+C5geC4ouC4geC4nuC4t+C5ieC4meC4l+C4teC5iAogICAgZm9yIChkb3VibGUgeCA9IGE7IHggPCBiOyB4ICs9IGR4KSB7CiAgICAgICAgYXJlYSArPSBmKHgpICogZHg7CiAgICB9CiAgICByZXR1cm4gYXJlYTsKfQoKLy8g4Lif4Lix4LiH4LiB4LmM4LiK4Lix4LiZ4LiU4Li04LifCmRvdWJsZSBkaWZmZXJlbnRpYXRlKGRvdWJsZSB4LCBkb3VibGUgKCpmKShkb3VibGUpKSB7CiAgICBkb3VibGUgZHggPSAwLjAwMDE7CiAgICBkb3VibGUgZnhfcGx1c19keCA9IGYoeCArIGR4KTsKICAgIGRvdWJsZSBmeF9taW51c19keCA9IGYoeCAtIGR4KTsKICAgIHJldHVybiAoZnhfcGx1c19keCAtIGZ4X21pbnVzX2R4KSAvICgyICogZHgpOwp9CgovLyDguJ/guLHguIfguIHguYzguIrguLHguJkgZih4KSA9IHheMgpkb3VibGUgc3F1YXJlKGRvdWJsZSB4KSB7CiAgICByZXR1cm4geCAqIHg7Cn0KCmludCBtYWluKCkgewogICAgaW50IG51bTEsIG51bTI7CiAgICBwcmludGYoIkVudGVyIHR3byBudW1iZXJzOiAiKTsKICAgIHNjYW5mKCIlZCAlZCIsICZudW0xLCAmbnVtMik7CgogICAgcHJpbnRmKCJBZGRpdGlvbjogJWRcbiIsIGFkZChudW0xLCBudW0yKSk7CiAgICBwcmludGYoIlN1YnRyYWN0aW9uOiAlZFxuIiwgc3VidHJhY3QobnVtMSwgbnVtMikpOwogICAgcHJpbnRmKCJNdWx0aXBsaWNhdGlvbjogJWRcbiIsIG11bHRpcGx5KG51bTEsIG51bTIpKTsKICAgIHByaW50ZigiRGl2aXNpb246ICUuMmZcbiIsIGRpdmlkZShudW0xLCBudW0yKSk7CgogICAgZG91YmxlIGEsIGI7CiAgICBwcmludGYoIkVudGVyIGludGVncmF0aW9uIGJvdW5kcyAoYSBiKTogIik7CiAgICBzY2FuZigiJWxmICVsZiIsICZhLCAmYik7CiAgICBwcmludGYoIkludGVncmF0aW9uIG9mIHheMiBmcm9tICUuMmYgdG8gJS4yZjogJS4yZlxuIiwgYSwgYiwgaW50ZWdyYXRlKGEsIGIsIHNxdWFyZSkpOwoKICAgIGRvdWJsZSBwb2ludDsKICAgIHByaW50ZigiRW50ZXIgYSBwb2ludCBmb3IgZGlmZmVyZW50aWF0aW9uOiAiKTsKICAgIHNjYW5mKCIlbGYiLCAmcG9pbnQpOwogICAgcHJpbnRmKCJEaWZmZXJlbnRpYXRpb24gYXQgJS4yZjogJS4yZlxuIiwgcG9pbnQsIGRpZmZlcmVudGlhdGUocG9pbnQsIHNxdWFyZSkpOwoKICAgIHJldHVybiAwOwp9