#include <iostream>
#include <iomanip>
#include <cstdlib>
#include <ctime>
#include <cstring>
#include <cmath>
//using namespace std;
const int n = 6, m = 4;
// строит матрицу с элементами из множества { a,...,b}
// параметр 1 - а
// параметр 2 - b
// параметр 3 - x[m][n]
// параметр 4 - xRow
// параметр 5 - xColumn
void BuildMatrix(double , double , double x[n][m], int);
// выводит матрицу на экран}
// параметр 1 - имя матрицы (строка)
// параметр 2 - x[m][n]
// параметр 3 - xRow
// параметр 4 - xColumn
void PrintMatrix(std:: string , double x[n][m], int ,int);
// считает сумму площадей
// параметр 1 - а
// параметр 2 - b
// параметр 3 - x[m][n]
// параметр 4 - n
// параметр 5 - sum
double suma(double, double, double x[n][m], int, double);
int main()
{
double k[n][m];
double a = 3, b = 15;
BuildMatrix(a, b, k, n);
PrintMatrix("A", k, n, m);
double Sum;
Sum = suma(a, b, k, n, Sum);
std::cout << "Сумма равна = " << Sum;
return 0;
}
// строит матрицу с элементами из множества { a,...,b}
void BuildMatrix(double a, double b, double x[n][m], int count)
{
double Deltax = (b - a) / (count - 1);
for(int i = 0; i < count; i++)
{
x[i][0] = a + i * Deltax;
x[i][1] = pow(3,2*x[i][0]);
}
for(int l = 1; l < count; l++)
{
x[l][2] = (x[l][1] - x[l-1][1]) / (x[l][0] - x[l-1][0]);
}
for(int r = 0; r < count-1; r++)
{
x[r][3] = (x[r+1][1] - x[r][1]) / (x[r+1][0] - x[r][0]);
}
}
// выводит матрицу на экран с элементами из множества { a,...,b}
void PrintMatrix(std:: string matrixName, double x[n][m], int xRow, int xColumn)
{
std:: cout << matrixName + "= [\n";
for (int i = 0; i < xRow; i++)
{
for(int j = 0; j < xColumn; j++)
std::cout << std::setw(15) << x[i][j];
std::cout << "\n";
}
std::cout << " ]\n" ;
}
// считает сумму площадей
double suma(double a, double b, double x[n][m], int n, double sum)
{
double s, Deltax;
Deltax = (b - a) / (n - 1);
for(int i = 0; i < (n - 1); i++)
s += ((x[i][1] + x[i+1][1]) / 2) * Deltax;
sum = s;
return sum;
}
I2luY2x1ZGUgPGlvc3RyZWFtPiAKI2luY2x1ZGUgPGlvbWFuaXA+IAojaW5jbHVkZSA8Y3N0ZGxpYj4gCiNpbmNsdWRlIDxjdGltZT4gCiNpbmNsdWRlIDxjc3RyaW5nPiAKI2luY2x1ZGUgPGNtYXRoPiAKLy91c2luZyBuYW1lc3BhY2Ugc3RkOyAKCmNvbnN0IGludCBuID0gNiwgbSA9IDQ7IAoKLy8g0YHRgtGA0L7QuNGCINC80LDRgtGA0LjRhtGDINGBINGN0LvQtdC80LXQvdGC0LDQvNC4INC40Lcg0LzQvdC+0LbQtdGB0YLQstCwIHsgYSwuLi4sYn0gCi8vINC/0LDRgNCw0LzQtdGC0YAgMSAtINCwIAovLyDQv9Cw0YDQsNC80LXRgtGAIDIgLSBiIAovLyDQv9Cw0YDQsNC80LXRgtGAIDMgLSB4W21dW25dIAovLyDQv9Cw0YDQsNC80LXRgtGAIDQgLSB4Um93IAovLyDQv9Cw0YDQsNC80LXRgtGAIDUgLSB4Q29sdW1uIAp2b2lkIEJ1aWxkTWF0cml4KGRvdWJsZSAsIGRvdWJsZSAsIGRvdWJsZSB4W25dW21dLCBpbnQpOyAKCi8vINCy0YvQstC+0LTQuNGCINC80LDRgtGA0LjRhtGDINC90LAg0Y3QutGA0LDQvX0gCi8vINC/0LDRgNCw0LzQtdGC0YAgMSAtINC40LzRjyDQvNCw0YLRgNC40YbRiyAo0YHRgtGA0L7QutCwKSAKLy8g0L/QsNGA0LDQvNC10YLRgCAyIC0geFttXVtuXSAKLy8g0L/QsNGA0LDQvNC10YLRgCAzIC0geFJvdyAKLy8g0L/QsNGA0LDQvNC10YLRgCA0IC0geENvbHVtbiAKdm9pZCBQcmludE1hdHJpeChzdGQ6OiBzdHJpbmcgLCBkb3VibGUgeFtuXVttXSwgaW50ICxpbnQpOyAKCi8vINGB0YfQuNGC0LDQtdGCINGB0YPQvNC80YMg0L/Qu9C+0YnQsNC00LXQuQovLyDQv9Cw0YDQsNC80LXRgtGAIDEgLSDQsCAKLy8g0L/QsNGA0LDQvNC10YLRgCAyIC0gYiAKLy8g0L/QsNGA0LDQvNC10YLRgCAzIC0geFttXVtuXSAKLy8g0L/QsNGA0LDQvNC10YLRgCA0IC0gbgovLyDQv9Cw0YDQsNC80LXRgtGAIDUgLSBzdW0KZG91YmxlIHN1bWEoZG91YmxlLCBkb3VibGUsIGRvdWJsZSB4W25dW21dLCBpbnQsIGRvdWJsZSk7IAppbnQgbWFpbigpIAp7IAogICBkb3VibGUga1tuXVttXTsKICAgZG91YmxlIGEgPSAzLCBiICA9IDE1OyAKICAgQnVpbGRNYXRyaXgoYSwgYiwgaywgbik7IAogICBQcmludE1hdHJpeCgiQSIsIGssIG4sIG0pOyAKICAgZG91YmxlIFN1bTsgCiAgIFN1bSA9IHN1bWEoYSwgYiwgaywgbiwgU3VtKTsgCiAgIHN0ZDo6Y291dCA8PCAi0KHRg9C80LzQsCDRgNCw0LLQvdCwID0gIiA8PCBTdW07IApyZXR1cm4gMDsgCn0gCgovLyDRgdGC0YDQvtC40YIg0LzQsNGC0YDQuNGG0YMg0YEg0Y3Qu9C10LzQtdC90YLQsNC80Lgg0LjQtyDQvNC90L7QttC10YHRgtCy0LAgeyBhLC4uLixifSAKdm9pZCBCdWlsZE1hdHJpeChkb3VibGUgYSwgZG91YmxlIGIsIGRvdWJsZSB4W25dW21dLCBpbnQgY291bnQpIAp7IAogICAgZG91YmxlIERlbHRheCA9IChiIC0gYSkgLyAoY291bnQgLSAxKTsgCiAgICAgIGZvcihpbnQgaSA9IDA7IGkgPCBjb3VudDsgaSsrKSAKICAgICAgeyAKICAgICAgICB4W2ldWzBdID0gYSArIGkgKiBEZWx0YXg7IAogICAgICAgIHhbaV1bMV0gPSBwb3coMywyKnhbaV1bMF0pOyAKICAgICAgfSAKICAgICAgICAgZm9yKGludCBsID0gMTsgbCA8IGNvdW50OyBsKyspIAogICAgICAgICB7IAogICAgICAgICAgIHhbbF1bMl0gPSAoeFtsXVsxXSAtIHhbbC0xXVsxXSkgLyAoeFtsXVswXSAtIHhbbC0xXVswXSk7IAogICAgICAgICB9IAogICAgICAgICAgIGZvcihpbnQgciA9IDA7IHIgPCBjb3VudC0xOyByKyspIAogICAgICAgICAgIHsgCiAgICAgICAgICAgICB4W3JdWzNdID0gKHhbcisxXVsxXSAtIHhbcl1bMV0pIC8gKHhbcisxXVswXSAtIHhbcl1bMF0pOyAKICAgICAgICAgICB9IAp9IAoKLy8g0LLRi9Cy0L7QtNC40YIg0LzQsNGC0YDQuNGG0YMg0L3QsCDRjdC60YDQsNC9INGBINGN0LvQtdC80LXQvdGC0LDQvNC4INC40Lcg0LzQvdC+0LbQtdGB0YLQstCwIHsgYSwuLi4sYn0gCnZvaWQgUHJpbnRNYXRyaXgoc3RkOjogc3RyaW5nIG1hdHJpeE5hbWUsIGRvdWJsZSB4W25dW21dLCBpbnQgeFJvdywgaW50IHhDb2x1bW4pIAp7IAogICAgIHN0ZDo6IGNvdXQgPDwgbWF0cml4TmFtZSArICI9IFtcbiI7IAogICAgIGZvciAoaW50IGkgPSAwOyBpIDwgeFJvdzsgaSsrKSAKICAgICB7IAogICAgICAgIGZvcihpbnQgaiA9IDA7IGogPCB4Q29sdW1uOyBqKyspIAogICAgICAgIHN0ZDo6Y291dCA8PCBzdGQ6OnNldHcoMTUpIDw8IHhbaV1bal07IAogICAgICAgIHN0ZDo6Y291dCA8PCAgIlxuIjsgCiAgICAgfSAKICAgICBzdGQ6OmNvdXQgPDwgIiBdXG4iIDsgCn0gCgovLyDRgdGH0LjRgtCw0LXRgiDRgdGD0LzQvNGDINC/0LvQvtGJ0LDQtNC10LkKZG91YmxlIHN1bWEoZG91YmxlIGEsIGRvdWJsZSBiLCBkb3VibGUgeFtuXVttXSwgaW50IG4sIGRvdWJsZSBzdW0pIAp7IAogICAgZG91YmxlIHMsIERlbHRheDsgCiAgICBEZWx0YXggPSAoYiAtIGEpIC8gKG4gLSAxKTsgCiAgICBmb3IoaW50IGkgPSAwOyBpIDwgKG4gLSAxKTsgaSsrKSAKICAgICAgcyArPSAoKHhbaV1bMV0gKyB4W2krMV1bMV0pIC8gMikgKiBEZWx0YXg7IAogICAgICBzdW0gPSBzOyAKICAgIHJldHVybiBzdW07IAp9