c++ microsoft problem
ein neuer tag u ein neues problem 
also ich habe folgendes programm, bei dem ein array angelegt und mit eigenen werten gefüllt wird:
//matrizen
#include <iostream>
using namespace std;
int main(){
int x=2;
int y=2;
int a;
//array anlegen
int** m1 = new int*[x];
for (int i=0;i<1;i++){
m1=new int[y];
}
//array füllen
cout<<"array: "<<endl;
for(int i=0;i<x;i++){
for(int j=0;j<y;j++){
cout<<"Wert eingeben: "<<endl;
cin>>a;
cout<<endl;
m1[i][j]=a;
}
}
cout<<m1[0][0]<<" "<<m1[0][1];
cout<<m1[1][0]<<" "<<m1[1][1];
delete[]m1;
return 0;
}
beim ausführen kann ich allerdings nur die ersten 3 werte vom array eingeben, dann erscheint das problembericht senden fenster von microsoft.
"matrizen.exe hat e in problem festgestellt und muss beendet werden"
was hat es damit auf sich? das programm an sich is doch eigentlich richtig? oder?
bye

also ich habe folgendes programm, bei dem ein array angelegt und mit eigenen werten gefüllt wird:
//matrizen
#include <iostream>
using namespace std;
int main(){
int x=2;
int y=2;
int a;
//array anlegen
int** m1 = new int*[x];
for (int i=0;i<1;i++){
m1=new int[y];
}
//array füllen
cout<<"array: "<<endl;
for(int i=0;i<x;i++){
for(int j=0;j<y;j++){
cout<<"Wert eingeben: "<<endl;
cin>>a;
cout<<endl;
m1[i][j]=a;
}
}
cout<<m1[0][0]<<" "<<m1[0][1];
cout<<m1[1][0]<<" "<<m1[1][1];
delete[]m1;
return 0;
}
beim ausführen kann ich allerdings nur die ersten 3 werte vom array eingeben, dann erscheint das problembericht senden fenster von microsoft.
"matrizen.exe hat e in problem festgestellt und muss beendet werden"
was hat es damit auf sich? das programm an sich is doch eigentlich richtig? oder?
bye
|
|
Quellcode |
1 |
int** m1 = new int*[x]; |
Da ist meiner Meinung nach ein * zuviel, müsste etwa so aussehen:
*editiert*
Hab aber schon länger damit nix gemacht, bin mir also nicht sicher
Aktuell nutze ich: Windows, Linux, MacOS X, Solaris...weil die Welt nicht nur S/W ist!
Blog
Blog
Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »silence« (20. Oktober 2004, 14:22)
Muss das ganze mit Pointern gelöst werden?
So läuft alles
|
|
Quellcode |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 |
//matrizen
#include <iostream>
using namespace std;
int main(){
const x=2;
const y=2;
int a;
//array anlegen
int m1[x][y];
//array füllen
cout<<"array: "<<endl;
for(int i=0;i<x;i++){
for(int j=0;j<y;j++){
cout<<"Wert eingeben: "<<endl;
cin>>a;
cout<<endl;
m1[i][j]=a;
}
}
cout<<m1[0][0]<<" "<<m1[0][1] << " ";
cout<<m1[1][0]<<" "<<m1[1][1] << endl;
return 0;
}
|
So läuft alles
Aktuell nutze ich: Windows, Linux, MacOS X, Solaris...weil die Welt nicht nur S/W ist!
Blog
Blog
Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »silence« (20. Oktober 2004, 14:29)
Wieso willst du ein Array an eine Funktion übergeben? So wie das Array im Moment Deklariert ist kann eine Funktion, sofern sie im Selben Modul läuft, auch darauf zugreifen....macht doch gar keinen Sinn ein ganzes Array zu übergeben.
Aktuell nutze ich: Windows, Linux, MacOS X, Solaris...weil die Welt nicht nur S/W ist!
Blog
Blog


