
-
BB-Schwergewicht
 Zitat von Flex05
ok, also wieso fang ich nicht mit double matrix [5][7] an, sind die angaben der spalten und zeilen egal?
Na mit matrix[7][5] legst du die Anzahl der Zeilen und Spalten fest.
Hier den kannst direkt kopieren:
#include <windows.h>
#include <iostream>
#include <conio.h>
#include <time.h>
using namespace std;
const double matrixSizeY=7;
const double matrixSizeX=5;
double getMaxValue(double Matrix[7][5]){
double maxValue=0;
for(int x=0;x<matrixSizeX;x++)
for(int y=0;y<matrixSizeY;y++){
if(maxValue<Matrix[x][y])
maxValue=Matrix[x][y];
}
return maxValue;
}
int main(){
double Matrix[7][5];
srand((unsigned) time(0) );
/*
Matrix initialisieren....
*/
int RANGE_MIN = 0;
int RANGE_MAX = 100;
for(int x=0;x<matrixSizeX;x++)
for(int y=0;y<matrixSizeY;y++){
Matrix[x][y]= (((double) rand() / (double) RAND_MAX) * RANGE_MAX + RANGE_MIN);
}
cout<<endl<<endl;
for(int x=0;x<matrixSizeX;x++){
for(int y=0;y<matrixSizeY;y++)
cout<<Matrix[x][y]<<", ";
cout<<endl;
}
cout<<"Max Wert der Matrix ist: "<<getMaxValue(Matrix)<<endl;
return 0;
}
-
wow,vielen dank,in so kurzer zeit selber gemacht?
wüßt ich deine kontonummer würd ich dir was überweisen
-
BB-Schwergewicht
In Worten:
Erst die Header. (Windows hat ich noch drin von vorher)
Namespace festlegen.
Konstante Zeilen- und Spaltenanzahl festlegen.
Funktion mit Rückgabewert double die eine Matrix[7][5] erwartet
DAs herzstück:
zwei verschachtelte Schleifen die prüfen ob der bisherige Maxwert kleiner als der aktuelle matrixwert ist, wenn ja wird der neue wert übernommen
in main wird ne matrix deklariert
und dann findet direkt ein aufruf für die zufallszahlen statt (ist nicht so wichtig)
Bereich für die Zufallszahlen festlegen.
Matrix Zufallswerte zuweisen.
Matrix ausgeben.
Maximalwertermittlungsfunktion aufrufen und ergebnis ausgeben.
Have fun!
wow,vielen dank,in so kurzer zeit selber gemacht?
wüßt ich deine kontonummer würd ich dir was überweisen
Danke danke
Hab ich gern gemacht
-
wieso gibt es immer noch leute die die geschweifte Klammer hinter den Funktionsnamen setzen...
ich dachte diese sorte wäre ausgestorben
-
BB-Schwergewicht
 Zitat von Nash21
wieso gibt es immer noch leute die die geschweifte Klammer hinter den Funktionsnamen setzen...
ich dachte diese sorte wäre ausgestorben
Genau das Gegenteil ist der Fall. Die Meisten schreiben es direkt in die gleiche Zeile. Ist auch verständlich.
Platzsparender, übersichtlicher, leichter auszukommentieren,...
-
anmerkungen
mal abgesehen davon, dass ich "int" fuer die matrixsizes verwenden wuerd liefert die funktion getMaxValue das falsche ergebnis (naemlich 0), falls die matrix NUR negative zahlen enthaelt.
also entweder maxValue mit der kleinstmoeglichen double initialisieren (weiss nicht auswendig, gibts extra was dafuer) oder mit absolutbetraegen arbeiten.
-
BB-Schwergewicht
 Zitat von dr.no3
mal abgesehen davon, dass ich "int" fuer die matrixsizes verwenden wuerd liefert die funktion getMaxValue das falsche ergebnis (naemlich 0), falls die matrix NUR negative zahlen enthaelt.
also entweder maxValue mit der kleinstmoeglichen double initialisieren (weiss nicht auswendig, gibts extra was dafuer) oder mit absolutbetraegen arbeiten.
Weiß ich.
Ein bissl Selbstarbeit sollte drin sein.
double war für ihn gedacht. aber aufgrund der Einschränkungen beim Zuweisen der Zufallszahlen gibt es keine negativen Zahlen. Das ist aber leicht zu ergänzen und sollt er selbst schaffen.
Aber toll dass ihr das unterbindet
-
ich würde die y- vor der x-schleife ablaufen lassen.
an der funktionalität ändert es gar nix. ist nur ein prinzip bzgl cache-optimierung 
und 2dimensioale Arrays sind Murx, die laufen nicht unter jedem Compiler durch
-
BB-Schwergewicht
 Zitat von Bruder Urban
ich würde die y- vor der x-schleife ablaufen lassen.
an der funktionalität ändert es gar nix. ist nur ein prinzip bzgl cache-optimierung
Für die Aufgabe sicher piep egal - liegt aber eher daran dass ich mir nur 5x7 gemerkt hab und nicht was zu zeilen und was zu spalten gehört 
Aber da der Threadersteller null Peilung hat nehm ich nicht an dass es hier um cacheoptimierung geht.
und 2dimensioale Arrays sind Murx, die laufen nicht unter jedem Compiler durch
Eine Matrix(doublr Matrix [5][7])
lässt aber vermuten dass ein 2dArray gewollt ist
Ich sitze hier an einem ganz anderen Problem: Wenn ich meine Spiel auf anderen Rechnern zum laufen bringen will kommen immer wieder seltsame Fehlermeldungen, es würden DLLs fehlen usw. obwohl das neueste DX installed ist.
Hab jetzt ne ganze weile nicht mehr in C programmiert (TU will unbedingt java) und nen teil wieder vergessen von dem IDE schwachsinn um VC++ 2005 EE
Zum Kotzen
-
 Zitat von Bruder Urban
und 2dimensioale Arrays sind Murx, die laufen nicht unter jedem Compiler durch
was meinst du damit, "die laufen nicht unter jedem compiler durch"?
das mit der geschweiften klammer ist natürlich nicht übersichtlicher, sieht man auch schon bei deinen for schleifen, man kann die klammern nicht ordentlich zu ordnen.
du sparst damit zwar eine Zeile..aber .das ist absolut wayne.
Ähnliche Themen
-
Von supergainer im Forum Klassisches Training
Antworten: 1
Letzter Beitrag: 17.01.2010, 02:30
-
Von hamby im Forum Medizinisches Forum
Antworten: 5
Letzter Beitrag: 05.11.2008, 11:18
-
Von Flex05 im Forum Technikforum
Antworten: 0
Letzter Beitrag: 25.01.2007, 17:39
Berechtigungen
- Neue Themen erstellen: Nein
- Themen beantworten: Nein
- Anhänge hochladen: Nein
- Beiträge bearbeiten: Nein
-
Foren-Regeln
|
|
|
Lesezeichen