C 在VisualStudio中拆分文件

C 在VisualStudio中拆分文件,c,matrix,vector,C,Matrix,Vector,你能帮我将这些文件拆分到: header.h(这已经是我做的) dane.cpp(这已经是我做的) solve.cpp(所有求解模式、逆矩阵、x1、x2和f) main.cpp 我做了前两个,但我不能管理其他的 标题: void dane(float(*q)[2], float *p); 数据: #包括“Header.h” 无效丹麦(浮动(*q)[2],浮动*p) { printf(“将4个数字写入矩阵:A\n”); 对于(int i=0;i

你能帮我将这些文件拆分到:

header.h(这已经是我做的)

dane.cpp(这已经是我做的)

solve.cpp(所有求解模式、逆矩阵、x1、x2和f) main.cpp

我做了前两个,但我不能管理其他的

标题:

void dane(float(*q)[2], float *p);
数据:

#包括“Header.h”
无效丹麦(浮动(*q)[2],浮动*p)
{
printf(“将4个数字写入矩阵:A\n”);
对于(int i=0;i<2;i++)
{

对于(int j=0;j将原型保存在头文件中,并用
#ifndef
围绕它们。如下所示

标题.h

#include "Header.h"

void dane(float(*q)[2], float *p)
{
printf("Write 4 numbers to Matrix: A\n");
for (int i = 0; i < 2; i++)
{
    for (int j = 0; j <2; j++)
    {
        scanf_s(" %f", &q[i][j]);
    }
}

printf("\nWrite vector: B\n");
for (int i = 0; i < 2; i++)
    scanf_s(" %f", &p[i]);
}
#include "Header.h"

float A[2][2], B[2], X[2];

void main(void)
{
float AA[2][2];     
float h, det, value;
data(A, B);     
system("cls");      
printf("Matrix A: \n"); 
for (int i = 0; i < 2; i++)      
{
    for (int j = 0; j < 2; j++)
        printf("[%5.2f] ", A[i][j]);
    printf("\n");
}
printf("\n\nVector: \n");
for (int i = 0; i < 2; i++)     
    printf("\n[%5.2f] ", B[i]);

_getch();       

det = (A[0][0] * A[1][1]) - (A[0][1] * A[1][0]);    
AA[0][0] = (1 / det) * A[1][1];
AA[0][1] = (1 / det) * (-1)*A[1][0];
AA[1][0] = (1 / det) * (-1)*A[0][1];
AA[1][1] = (1 / det) * A[0][0];


h = AA[1][0];
AA[1][0] = AA[0][1];
AA[0][1] = h;

if (det <= 0)       
{
    printf("\n\nDoesnt have extreme.");
    _getch();
}

else     
{
    printf("\n\n\nInv matrix: \n");     
    for (int i = 0; i < 2; i++)
    {
        for (int j = 0; j < 2; j++)
            printf("[%5.2f] ", AA[i][j]);
        printf("\n");
    }

    _getch();        

    X[0] = 0.5 * AA[0][0] * (-1) * B[0] + 0.5 * AA[0][1] * (-1) * B[1];
    X[1] = 0.5 * AA[1][0] * (-1) * B[0] + 0.5 * AA[1][1] * (-1) * B[1];
    printf("\n x1 = %5.2f", X[0]);      
    printf("\n x2 = %5.2f", X[1]);      


    value = A[0][0] * X[0] * X[0] + A[1][0] * 2 * X[0] * X[1] + 
        A[1][1] * X[1] * X[1] + B[0] * X[0] + B[1] * X[1];
    printf("\n\n f = %5.2f", value);

    _getch();
}
}
#ifndef HEADER_H
#define HEADER_H
void dane(float(*q)[2], float *p);
#endif