Position des Maximum in einem Vektor finden
-
Hallo da.
Weiß jmd, wie ich es mache, ein einem Vektor das Maximum zu ermitteln und die Position zurück zu bekommen?
Also dsa Maximum an sich, ist ja net so schwer, aber die Position...Danke schomma,
Steffen
#include<iostream>
#include<vector>using namespace std;
int main(){
int maxi;
vector<int> vector(9);vector[4] = 6;
for(size_t i = 0; i < vector.size(); ++i){
cout << vector[i] << endl;
}maxi = vector[0];
for(size_t j = 0; j < vector.size(); ++j)
if(maxi < vector[j])
maxi = vector[j];return 0;
}
-
#include<iostream> #include<vector> using namespace std; int main(){ int maxi; vector<int> vector(9); vector[4] = 6; for(size_t i = 0; i < vector.size(); ++i){ cout << vector[i] << endl; } maxi = vector[0]; for(size_t j = 0; j < vector.size(); ++j) if(maxi < vector[j]) maxi = vector[j]; return 0; }
-
sPLIFF schrieb:
#include<iostream> #include<vector> using namespace std; int main(){ int maxi; vector<int> vector(9); vector[4] = 6; for(size_t i = 0; i < vector.size(); ++i){ cout << vector[i] << endl; } maxi = vector[0]; for(size_t j = 0; j < vector.size(); ++j) if(maxi < vector[j]) maxi = vector[j]; return 0; }
Spitze. Genau das was er haben wollte , nämlich die Position, ermittelst du nicht
-
Nee, das war doch ich selbst nochmal, weil ich das mit dem Code richtig anzeigen falsch gemacht hatte @ sisko
-
int max = vec[0]; int pos = 0; for(int i = 1; i < vec.size(); ++i) { if(max < vec[i]) { max = vec[i]; pos = i; } }
Sowas?
MfG SideWinder
-
#include <algorithm> #include <vector> typedef vector<int>::iterator VecIter; VecIter pos = max_element(vec.begin(),vec.end());
Sollte auch klappen - wahrscheinlich schneller
MfG SideWinder
-
Wie blöd...ich kuck mir Dein Beispiel an und denk, 'das sieht doch irgendwie genauso aus wie mein erster Versuch'. Also das mit dem 'pos'.
Aber, ich hatte die {} für das if vergessen! Jedenfalls gehts jetzt.Danke schön...weitergehts
SideWinder schrieb:
int max = vec[0]; int pos = 0; for(int i = 1; i < vec.size(); ++i) { if(max < vec[i]) { max = vec[i]; pos = i; } }
Sowas?
MfG SideWinder
-
Wie blöd...ich kuck mir Dein Beispiel an und denk, 'das sieht doch irgendwie genauso aus wie mein erster Versuch'. Also das mit dem 'pos'.
Aber, ich hatte die {} für das if vergessen! Jedenfalls gehts jetzt.Danke schön...weitergehts
SideWinder schrieb:
int max = vec[0]; int pos = 0; for(int i = 1; i < vec.size(); ++i) { if(max < vec[i]) { max = vec[i]; pos = i; } }
Sowas?
MfG SideWinder