sortieren u. gruppieren von array...s.o.s
-
@wob
ja mit Klasse ist nicht class gemeint, statt Klasse könnte man auch Gruppe nehmen.
-
@It0101
danke
-
@It0101
aber das mit der ausgabe funktioniert das nicht(?)
-
@HKN1979 sagte in sortieren u. gruppieren von array...s.o.s:
@It0101
aber das mit der ausgabe funktioniert das nicht(?)Bisschen was sollst du ja auch noch machen
-
@wob sagte in sortieren u. gruppieren von array...s.o.s:
Erben von std::vector? Warum das? Würde ich nicht machen!
Warum nicht? Bevor man eine Klasse baut und das einzige Member ist ein vector...
Klar, man hat keine Kontrolle über die Vector-Funktionen, da die vermutlich nicht virtual sind.
-
@It0101 vor allem ist
vector::~vector
nicht virtual.vector<unsigned> *v = new A; delete v;
Und wo ist der Nutzen deiner leeren Klasse?
-
@wob sagte in sortieren u. gruppieren von array...s.o.s:
@It0101 vor allem ist
vector::~vector
nicht virtual.Das ist immer wahr, wenn man von einer nicht-polymorphen Klasse ableitet; und trotzdem ist es sowohl erlaubt als auch geläufig? Wir sind hier nicht in Java!
-
@wob sagte in sortieren u. gruppieren von array...s.o.s:
Und wo ist der Nutzen deiner leeren Klasse?
Der Threadersteller schrieb, er wollte eine Klasse. Zumindest habe ich das so interpretiert und ich ging auch davon aus, dass die Klasse einen Sinn hat und somit später noch mit Leben gefüllt werden soll, denn niemand sortiert und gruppiert Zahlen einfach nur, damit die CPU sich nicht langweilt.
-
Bitte verwirrt doch nicht einen Anfänger. Hier ist nichts mit Vererbung etc. gefragt.
#include <algorithm> #include <vector> int main() { using namespace std; auto v = vector<int> { 10, 15, 28, 22, 37, 11, 2, 3, 35 }; sort(begin(v), end(v)); auto grenze = upper_bound(begin(v), end(v), 10); auto klasseA = vector<int>(begin(v), grenze); auto grenze2 = upper_bound(grenze, end(v), 25); auto klasseB = vector<int>(grenze, grenze2); auto klasseC = vector<int>(grenze2, end(v)); // die Ausgabe von klasseA, B, C überlasse ich dir. }
-
@wob sagte in sortieren u. gruppieren von array...s.o.s:
Bitte verwirrt doch nicht einen Anfänger. Hier ist nichts mit Vererbung etc. gefragt.
Stimmt. Dagegen sind "auto" und "upper_bound" Keywords, die grundsätzlich jeder Anfänger mitbringt
-
ja im wahrstensinne des wortes bin wirklich noch sehr frisch was c++ angeht...
-
@wob Danke ich gib mein bestes
-
@wob
hast du ne mail adresse wo dich dich anschreiben kann?
-
Dieser Beitrag wurde gelöscht!
-
Tjo, für ein Anfänger sind selbst gemachte Algorithmen als Denksport geignet. Ich geb dir mal ein Gerüst:
#include <iostream> #include <vector> using namespace std; void tausche_elemente( int& zahl_1, int& zahl_2 ) { // Hier vertauschst du 2 Zahlen in deinem Array. } void sortieren( vector<int>& zahlen ) { // Hier schreibst du einen einfachen Sortieralgorithmus. } void ausgabe( const vector<int>& zahlen ) { // Hier gibst du dein Array aus. } int main() { vector zahlen{ 10, 15, 28, 22, 37, 11, 2, 3, 35 }; sortieren( zahlen ); cout << "Sortiert: "; ausgabe( zahlen ); vector<int> klasse_a; vector<int> klasse_b; vector<int> klasse_c; for( const auto& zahl : zahlen ) { // Hier machst du if-Abfragen um die Zahlen in Klassen einzuteilen. } cout << "Klasse A: "; ausgabe( klasse_a ); cout << "Klasse B: "; ausgabe( klasse_b ); cout << "Klasse C: "; ausgabe( klasse_c ); }
-
@out
DANKE!!!
durfte ich deine mail adrsse haben?
-
Mail ist ungünstig. Ich antworte immer hier, kannst hier alles Fragen.
-
Wir haben hier auch einen Discord-Channel ( Chat ).
Dort kannst du auch gern mal kleinere Häppchen Quellcode posten. Es ist meistens jemand online, der da kurz drüber schauen kann.
https://discord.gg/EPFvDHh
-
Und wie weit bist du? Hat das Gerüst schon Inhalt bekommen?
-
@out
hi du ich versuchs seit gerstern das zu lösen aber ich komm nicht weiter