Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdlib.h>
- #include <stdio.h>
- #include <math.h>
- #include "mprinter.h"
- //функция рандома
- int irandom(int low, int up) {
- int num = (rand() % (up - low + 1)) + low;
- return num;
- }
- //функция факториала
- float factorial(float n) {
- float res = 1;
- for (int i = 1; i <=(int) n; i++)
- res *= (float)i;
- return res;
- }
- //функция заполнения матрицы для первого задания
- float MatrixFilling(float **matr, int N, int x) {
- for (int i = 0; i < N; i++) {
- for (int j = 0; j < N; j++) {
- if (i == j)
- matr[j][i] = 1;
- if (i < j) {
- matr[j][i] = powf((float)x, (float)i) / powf(factorial((float)j),(float) i);
- }
- if (i > j) {
- matr[j][i] = powf((float)-x,(float) i) / powf(factorial((float)j),(float) i);
- }
- }
- }
- return 1;
- }
- //функция для заполнения матрицы известного размера
- float MatrixFillingB(float (*a)[9], size_t n) {
- for (int i = 0; i < n; i++) {
- for (int j = 0; j < n; j++) {
- a[i][j] =(float) (i * 10 + j);
- }
- }
- return 1;
- }
- //вывод матрицы известного размера
- void MatrixPrintB(float (*a)[9], size_t n, int precision) {
- printf("Матрица B c заданной точностью\n");
- for (int i = 0; i < n; i++) {
- // пробегаем по всем столбцам для данной строки i
- for (int j = 0; j < n; j++) {
- printf("%15.*f ", precision, a[j][i]);
- }
- // переход на следующую строку
- printf("\n");
- }
- printf("\n");
- }
- //вывод матрицы неизвестного размера с фиксированной точностью
- void MatrixPrintPrecision(float **matr, int N, int precision) {
- for (int i = 0; i < N; i++) {
- // пробегаем по всем столбцам для данной строки i
- for (int j = 0; j < N; j++) {
- printf("%15.*f ", precision, matr[j][i]);
- }
- // переход на следующую строку
- printf("\n");
- }
- printf("\n");
- }
- //вывод матрицы неизвестного размера в экспонтециальном формате
- void MatrixPrintEps(float **matr, int N) {
- for (int i = 0; i < N; i++) {
- // пробегаем по всем столбцам для данной строки i
- for (int j = 0; j < N; j++) {
- printf("%15.2E+10f ", matr[j][i]);
- }
- // переход на следующую строку
- printf("\n");
- }
- printf("\n");
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement