2017-05-14 8 views
-1

あなたは私が上でこれらのファイルを分割することができます:分割ファイル

がheader.h(これはすでに私が作った)

dane.cpp(これはすでに私が作った)

solve.cpp(すべての解パターン、逆行列、x1、x2、およびf) main.cpp

私は最初の2つでしたが、他のものは管理できません。

ヘッダー:

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

データ:

#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(); 
} 
} 

答えて

0

は、ヘッダー・ファイルでプロトタイプを保ち、#ifndefでそれらを囲みます。次のような、

HEADER.H

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