Я написал этот код, который состоит из двух файлов: main.cpp и matrice.cpp.Печать значений матрицы 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