Значения двух функций, равномерно распределенных в диапазоне - C (СИ)

Узнай цену своей работы

Формулировка задачи:

Задание. Вычислить значения двух функций в n равномерно распределенных в диапазоне а≤x≤b точках. Сформировать результаты таким образом, чтобы значения X, F1 и F2 были представлены двумерным массивом, состоящим из трех строк. Моя программа:
#include <stdio.h> 
#include <conio.h> 
#include <math.h> 
#include <locale.h> 
 
int main() 
{ 
setlocale(LC_ALL, "RUS"); 
double x, dx, a = 1, b = 3; 
double A[3][12]; 
int i, j, n; 
printf("Введите число точек \n"); 
scanf_s("%d", &n); 
dx = fabs(b - a) / (n - 1); 
x = a; 
for (j = 0; j < n; j++) 
{ 
A[1][j] = x; 
A[2][j] = x*log(x)*log(x); 
A[3][j] = sqrt(exp(x) - 1); 
x = x + dx; 
} 
for (j = 0; j < n; j++) 
{ 
printf(" A[%d]=%.2lf\t", A[1][j]); 
printf(" A[%d]=%.2lf\t", A[2][j]); 
printf(" A[%d]=%.2lf\n", A[3][j]); 
} 
_getch(); 
 
return 0; 
}
Программа работает, но на экране мы видим уж очень "извращенную" матрицу. Подскажите, пожалуйста, что не так?

Решение задачи: «Значения двух функций, равномерно распределенных в диапазоне»

textual
Листинг программы
#include <stdio.h> 
#include <conio.h> 
#include <math.h> 
#include <locale.h> 
 
 
void print_arr(char *s, double *A, int n)
{
    int j;
    printf("|  %s |", s);
    for (j = 0; j < n; j++)
    {
        printf("  %.2lf  |", A[j]);
    }
    printf("\n");
    for (j = 0;j < 7 + n * 9;j++)
        putchar('-');
    puts("");
}
 
 
int main()
{
    setlocale(LC_ALL, "RUS");
    double x, dx, a = 1, b = 3;
    double A[3][12];
    int i, j, n;
    printf("Введите число точек: ");
    scanf_s("%d", &n);
    dx = fabs(b - a) / (n - 1);
    x = a;
    for (j = 0; j < n; j++)
    {
        A[0][j] = x;
        A[1][j] = x*log(x)*log(x);
        A[2][j] = sqrt(exp(x) - 1);
        x = x + dx;
    }
 
    for (j = 0;j < 7 + n * 9;j++)
        putchar('-');
    puts("");
 
    print_arr("X ", A[0], n);
    print_arr("F1", A[1], n);
    print_arr("F2", A[2], n);
    
    _getch();
 
    return 0;
}

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

12   голосов , оценка 3.667 из 5
Похожие ответы