Ich schrieb diesen Code, der aus zwei Dateien besteht: main.cpp und matrice.cpp.Drucken von Werten einer Matrix C++
Mein Problem ist: Die Matrix schreibt nicht die Werte an Ort und Stelle, die ich angeben. Ich möchte, dass du auf die Hauptdiagonale schreibst 1: A [i] [i] = 1; aber das Ergebnis ist anders.
Was ist der Fehler? Warum, wenn ich den Wert der Matrix ausdrucke, erscheint 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;
}
Ergebnis:
Können wir genug Code haben, um das Problem zu reproduzieren? Der Ausgabecode fehlt. –
@DavidSchwartz Es gibt einen Link zur Ausgabe (siehe "Ergebnis" am Ende der Frage), obwohl dies nicht die Möglichkeit ist, den Fehler/das Problem in StackOverflow zu posten. Bitte senden Sie die Fehlernachricht direkt an OP oder stellen Sie direkt auf dieser Website ein, ohne dass ein externer Link erforderlich ist. – vsoftco