Другие языки программирования и технологии

Модифицировать программу таким образом,чтобы значения X, F1и F2 были представлены двумерным массивом,состоящим из 3строк

Люди помогите, последнее из 15 заданий осталось)))) выручайте)
#include<stdio.h>
#include<stdlib.h>
#include<conio.h>
#include <math.h>
void main()
{
double dx,a=0,b=8.815;
int j,n;
printf("chislo tochek = \n");
scanf_s("%d", & n);
dx=fabs(b-a)/(n-1);
double *x=(double*)malloc(n*sizeof(double));
double *F1=(double*)malloc(n*sizeof(double));
double *F2=(double*)malloc(n*sizeof(double));
printf("_________________________________________________________\n");
printf("|\tI|\tX\t|\tF1\t|\tF2\t|\n");
printf("|--------|--------------|---------------|---------------|\n");
for(j=0;j++-n;a+=dx)
{
x[j]=a;
F2[j]=sin(x[j])+(cos(x[j])-1);
F1[j]=sin(x[j])*cos(x[j]);
printf("|\t%d|\t%8.3f|\t%8.3f|\t%8.4f|\n",j,x[j],F1[j],F2[j]);
}
free(x),free(F1),free(F2);
printf("|________|______________|_______________|_______________|\n");
getch();
}
Ивaн *****
Ивaн *****
17 748
Как-то так...

#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#include <math.h>
#include <locale.h>
int main() {
    double * x, *f1, *f2, ** mx, d = 1000;
    int row = 3, col, r, c;
    size_t size = sizeof(double);
    char msg[] = "\a Не удалось выделить память под ";
    setlocale(LC_CTYPE, "Russian_Russia.1251");
    printf(" Введите число точек: ");
    scanf_s("%i", &col);
    srand((unsigned)time(NULL));
    if (x = (double*)malloc(col * size)) {
        for (c = 0; c < col; ++c) x[c] = rand() / d;
        if (f1 = (double*)malloc(col * size)) {
            for (c = 0; c < col; ++c) f1[c] = rand() / d;
            if (f2 = (double*)malloc(col * size)) {
                for (c = 0; c < col; ++c) f2[c] = rand() / d;
                if (mx = (double**)malloc(row * sizeof(double*))) {
                    mx[0] = x; mx[1] = f1; mx[2] = f2;
                    for (r = 0; r < row; ++r, printf("\n")) for (c = 0; c < col; ++c) printf(" %6.3Lf ", mx[r][c]);
                    for (r = 0; r < row; ++r) free(mx[r]);
                    free(mx);
                    mx = NULL;
                } else {
                    free(f2); free(f1); free(x);
                    f2 = f1 = x = NULL;
                    printf("%sматрицу\n", msg);
                }
            } else {
                free(f1); free(x);
                f1 = x = NULL;
                printf("%sмассив F2\n", msg);
            }
        } else {
            free(x);
            x = NULL;
            printf("%sмассив F1\n", msg);
        }
    } else printf("%sмассив X\n", msg);
    fflush(stdin);
    getchar();
    return 0;
}
Ayub Ayub
Ayub Ayub
93 586
Лучший ответ