このコードは、main.cppとmatrice.cppという2つのファイルで構成されています。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