?
vivess schrieb:
hi,
ich hab nun so manches abgeändert/verbessert:
template<typename T>
bool isSorted(const vector<T> &v)
{
for(size_t i=1; i<v.size(); ++i)
{
if(v[i] >= v[i-1]);
else return false;
Hui, das ist aber mal ein "interessantes" if...
Wenn ein Element größergleich seinem Vorgänger ist, dann mache nichts. Sonst return false. Dinge wie "nichts machen" sind irgendwie überflüssig. Du kannst einfach nach dem Gegenteil fragen: Wenn ein Element nicht größergleich seinem Vorgänger ist, return false. Und nicht gößergleich bedeutet kleiner. Also:
if (v[i] < v[i-1]) return false;
Das
X summe = X(), durschnitt;
und das mit dem adjazent haben wir noch nich. Bin mir nicht so sicher ob wir sachen benutzen dürfen die wir noch nicht hatten.
X() ist hier einfach der default-Konstruktor des Typs X.
Bzgl. std::adjacent_find fürchte ich, dass du dir das selbst aneignen musst. Wer weiß, ob dein Lehrer den algorithm-Header gut kennt bzw. genügend Zeit ist, alle Algorithmen zu lehren. Daher: schau in den üblichen Quellen nach. Also z.B. hier: http://en.cppreference.com/w/cpp/algorithm/adjacent_find - und lies mal das Beispiel durch, es löst enthält nämlich ein isSorted