我編寫了由兩個文件組成的代碼:main.cpp和matrice.cpp。Matrix C++的打印值
我的問題是:矩陣不寫我指出的地方值。我想讓你在主對角線上寫下所有的1:A [i] [i] = 1;但結果是不同的。
什麼是錯誤? 爲什麼當我打印出矩陣的值時,出現6.86636e-44?
main.cpp中:
#include <iostream>
#include <stdio.h>
#include "matrice.h"
#include "stampaMatrice.h"
using namespace std;
#define N 10
#define Inizio 0.00
#define Fine 1.00
float dy=(Fine-Inizio)/N;
int main()
{
float ** A = matrice(dy, N);
stampaMatrice(&A[0][0],N,N);
//Clean up array
for (int i = 0; i < N; i++)
{ delete [] A[i]; }
delete [] A;
A = 0;
return 0;
}
matrice.cpp:
#include <stdlib.h>
#include <stdio.h>
#include <iostream>
using namespace std;
float** matrice(float dy, int N){
float** A=0;
A= new float*[N];
for(int i=0; i<N; i++){
A[i]=new float[N];
}
//Assegnazione valori
for(int i=0; i<N; i++){
//A[i][i+1]=1;
//A[i][i-1]=1/dy;
A[i][i]=1;
}
return A;
}
結果:
我們有足夠的代碼來重現問題嗎?輸出代碼丟失。 –
@DavidSchwartz有一個鏈接到輸出(請參閱問題底部的「結果」),但這不是在StackOverflow上發佈錯誤/問題的方式。對於OP,請直接發佈錯誤消息或直接在本網站上發佈,而不需要外部鏈接。 – vsoftco