Anfänger warum funktioniert das BSP nicht.



  • evev schrieb:

    Mir ist total egal ob du freundlich bist oder nich

    Offensichtlich nicht.

    evev schrieb:

    aber wie du anderen gegenüber tritst sagt viel über deine Persöhnlichkeit aus.

    Wieso? Weil ich dich nicht unter Welpenschutz stelle? Weil ich erwarte, dass du ein funktionierendes Gehirn hast, das mitdenken kann? Willst du mir sagen, dass du ein Dummkopf bist? Mein allererster Post wäre genug gewesen, wenn du den durchgelesen hättest. Naja, beinahe genug.

    Ich sag dir, was Sache ist. Ich bin nicht beleidigend. Aber ich lasse dich auch nicht alles durchgehen. Wenn dir das nicht gefällt, kannst du gerne gehen.

    evev schrieb:

    Außerdem kann man sich nicht unzählige Sachen durchlesen um eine Antwort zu bekommen. Das macht keinen Sinn.

    Oh doch, das macht Sinn. Du erwartest doch nicht allen Ernstes, dass die Leute deine Zeit, in der du deine Hausaufgaben nicht machst, wichtiger erachten, als ihre Zeit? Wenn ja, bist du ein Wissensschmarotzer. Du willst was lernen. Und gerade lernst du, dass du nicht wichtiger bist als andere hier, dass du für deinen Ersteindruck verantwortlich bist. Denn auch in Zukunft wirst du Probleme haben. Lässt sich nicht vermeiden. Willst du dann immer andere um Hilfe fragen? Wieviel Zeit und Ressourcen das kostet, davon scheinst du keinen Plan zu haben.

    EDIT:

    evev schrieb:

    Die Bilddatei war als Link gedacht, da mir die Einbindung nicht klar war.

    Deswegen der RTFM!-Link. Ehrlich, ich kann immer nur wieder darauf verweisen. Wenn du das befolgt hättest, wäre alles paletti gewesen. Stattdessen schmeißt du hier einen Egotripp. Langsam halte ich das für eine nicht zu rechtfertigende Verschwendung meiner Zeit.

    evev schrieb:

    Und das ich mich mit dem Problem nicht beschäftigt habe ist auch falsch.. umsonst frag ich nicht das sollte dir bewusst sein.

    Gut, dann zeig das aber auch künftig. Wieder der RTFM!-Thread. Wieder und wieder. Steht da alles.

    So, und jetzt haben wir immer noch das Bild und einen Haufen nicht korrekt eingebettenden Codes. Was machst du jetzt damit?



  • dachschaden schrieb:

    evev schrieb:

    Mir ist total egal ob du freundlich bist oder nich

    Offensichtlich nicht.

    evev schrieb:

    aber wie du anderen gegenüber tritst sagt viel über deine Persöhnlichkeit aus.

    Wieso? Weil ich dich nicht unter Welpenschutz stelle? Weil ich erwarte, dass du ein funktionierendes Gehirn hast, das mitdenken kann? Willst du mir sagen, dass du ein Dummkopf bist? Mein allererster Post wäre genug gewesen, wenn du den durchgelesen hättest. Naja, beinahe genug.

    Ich sag dir, was Sache ist. Ich bin nicht beleidigend. Aber ich lasse dich auch nicht alles durchgehen. Wenn dir das nicht gefällt, kannst du gerne gehen.

    evev schrieb:

    Außerdem kann man sich nicht unzählige Sachen durchlesen um eine Antwort zu bekommen. Das macht keinen Sinn.

    Oh doch, das macht Sinn. Du erwartest doch nicht allen Ernstes, dass die Leute deine Zeit, in der du deine Hausaufgaben nicht machst, wichtiger erachten, als ihre Zeit? Wenn ja, bist du ein Wissensschmarotzer. Du willst was lernen. Und gerade lernst du, dass du nicht wichtiger bist als andere hier, dass du für deinen Ersteindruck verantwortlich bist. Denn auch in Zukunft wirst du Probleme haben. Lässt sich nicht vermeiden. Willst du dann immer andere um Hilfe fragen? Wieviel Zeit und Ressourcen das kostet, davon scheinst du keinen Plan zu haben.

    1H = keine hilfreiche Antwort von dir.
    Mir ist schleierhaft wie man solch einen Mist schreiben kann.
    Danke für deine Hilfe...



  • Beim mir kompiliert das alles.

    Was ist jetzt das Problem?

    PS: im ersten Post kannst Du noch die Code Tags richtig setzen, so dass der gesamte Code drin ist.
    PPS: Für alle interessierten: der Header ist hier: std_lib_facilities.h



  • Wie gesagt das Problem besteht dahingegend, dass er sort als Fehler sieht.
    Link zum Foto.
    Er zeigt mir nur die Fehlermeldung und die Frage ist warum^^.

    Benutze seit gestern MVS 2015, da der Header bei Dev C++ garnicht funktioniert hat. Vielleicht kannst du mir noch sagen welchen Programm du nutzt.



  • evev schrieb:

    Wie gesagt das Problem besteht dahingegend, dass er sort als Problem sieht.

    Und Du hast den Header eingebunden, den ich oben verlinkt habe.?

    evev schrieb:

    Er zeigt mir nur die Fehlermeldung und die Frage ist warum^^.

    Du hast C++11, besser noch C++14 Unterstützung eingeschaltet?

    evev schrieb:

    Viellicht kannst du mir noch sagen welchen Programm du nutzt.

    gcc 4.9.3 unter Linux.


  • Mod

    dachschaden schrieb:

    Und geh weg mit deinen Bilddateien.

    Für gewöhnlich zutreffend, in diesem speziellen Fall evtl. hilfreich um herauszufinden, wo das Problem liegen könnte.
    Nachdem geklärt wurde, was std_lib_facilities.h ist, stellen wir fest:
    1. der Compiler findet die sort-Deklarationen im Namensraum std, obwohl keine Standardheader direkt inkludiert wurden. Die Standardheader sind also offenbar durch std_lib_facilities.h bekanntgemacht worden. Andererseits:
    2. der Compiler findet die zusätzlichen sort-Definitionen in std_lib_facilities.h (ziemlich am Ende) nicht.
    Wie kann das sein? Zwei mögliche Erklärungen fallen mir ein:
    1. std_lib_facilities.h wurde nicht vollständig übernommen, und es fehlen die entsprechenden Definitionen. Oder
    2. Anhand der Explorerliste is erkennbar, dass dieses Projekt das (für so simple Projekte völlig unangebrachte) Precompiled-header-Feature von Visual C++ verwendet. Andererseits fehlt dann ein #include "stdafx.h" - ich kann mich also irren. Jedenfalls ist fürs Lernen (und eigentlich generell) zweckmäßig, auf Derartiges zu verzichten, und grunsätzlich mit leeren (Checkbox beim Erstellen) Projekten zu beginnen.



  • Erstmal danke für eure Hilfe.

    Der Header wurde übernommen und meines Erachtens richtig eingebunden. Da er vorher dort immer einen Fehler gesetzt hatte. Auch musste man diesen downloaden und in der Projektmappe ablegen, somit soll auch hierbei kein Fehler enstanden sein.

    C++ 14 Einstellung suche ich vergebens, bin aber auf der Suche

    #include "stdafx.h" das Problem besteht leider weiterhin.


  • Mod

    evev schrieb:

    #include "stdafx.h" das Problem besteht leider weiterhin.

    Das ist kein deutscher Satz.
    Wenn ausgedrückt werden soll, dass du ein

    #include "stdafx.h"
    

    eingefügt hast: das habe ich nicht empfohlen.



  • Ja habe das so übernommen. War dann ein Missverständnis.
    Gibt es eine Möglichkeit ohne den Header, damit das Beispiel läuft? Das hält mich schon seit gestern auf^^.

    Vielleicht ist auch die Einbindung falsch. Um den Fehler auszuschließen, könntet ihr mir das nocheinmal schneller erklären? Soll man hierfür eine neue Datei anlegen und das alles Einfügen? Wie gesagt habe das geladen und in den Ordner gepackt, vielleicht liegt dort ein Problem.



  • Bist Du sicher, dass Deine std_lib_facilities.h die ist, die hier verlinkt ist?

    Insbesondere mit diesen Zeilen:

    template<typename C>
            // requires Container<C>()
    void sort(C& c)
    {
            std::sort(c.begin(), c.end());
    }
    


  • Ja habe das nochmal geändert und neu eingebunden. Denke der download war einfach nur falsch.
    Deine Zeile + die Zeile danach

    // requires Container<C>()
    void sort(C& c)
    {
    	std::sort(c.begin(), c.end());
    }
    
    template<typename C, typename Pred>
    // requires Container<C>() && Binary_Predicate<Value_type<C>>()
    void sort(C& c, Pred p)
    {
    	std::sort(c.begin(), c.end(), p);
    }
    
    }
    

    Vielleicht noch das resultierende Problem daraus:
    Also ich gebe nun die Komma zahlen ein beende die Eingabe mit diesem Zeichen | wie es im Buch steht. (Das Zeichen soll die Eingabe unterbinden und nur die doubles einlesen, man kann auch was anderes nehmen) Nur gibt er mir keine Cout ausgabe, sondern beendet das Programm.

    #include "std_lib_facilities.h"
    #include "stdafx.h"
    #include <cstdio>
    using namespace std;
    
    // compute mean and median temperatures
    // compute mean and median temperatures
    int main()
    {
    	cout << "gebe eine Zahl ein";
    	vector<double> temps; // temperatures
    	for (double temp; cin >> temp; ) // read into temp
    		temps.push_back(temp); // put temp into vector
    							   // compute mean temperature:
    	double sum = 0;
    	for (int x : temps) sum += x;
    	cout << "Average temperature: " << sum / temps.size() << '\n';
    	// compute median temperature:
    	sort(temps); // sort temperatures
    	cout << "Median temperature: " << temps[temps.size() / 2] << '\n';
    	return 0;
    	keep_window_open(); // <---gelesen und übernommen
    }
    

    Es geht darum Temperaturen einzulesen und auszugeben wie 2.3 4.5 6.2 4.1 usw.



  • Was sollen deine Meinung nach diese beiden Zeilen

    return 0;
    keep_window_open(); // <---gelesen und übernommen
    

    machen?



  • Th69 schrieb:

    Was sollen deine Meinung nach diese beiden Zeilen

    return 0;
    keep_window_open(); // <---gelesen und übernommen
    

    machen?

    keep_window_open; soll das Fenster davon abhalten, sich gleich zu schließen nach dem durchlauf
    return 0; habe es einfach ausprobiert ob es was bringt

    habe das jetzt einfach mal so gelöst..

    ---------
    Man muss bei visual Studio Strg + F5 drücken um die Console offen zu halten. Somit funktioniert jetzt alles. Es hat zwar gedauert,aber es klappt 👍
    Danke für eure Hilfe.



  • du weißt, dass sämtliche anweisungen nach return niemals erreicht werden?



  • nein. Woher auch^^, muss es erstmal alles ausprobieren.

    #include "std_lib_facilities.h"
    
    #include <cstdio>
    using namespace std;
    
    // compute mean and median temperatures
    // compute mean and median temperatures
    int main()
    {
    
    	cout << "gebe eine Zahl ein";
    
    	vector<double> temps; // temperatures
    	for (double temp; cin >> temp; ) // read into temp
    		temps.push_back(temp); // put temp into vector
    							   // compute mean temperature:
    	double sum = 0;
    	for (int x : temps) sum += x;
    	cout << "Average temperature: " << sum / temps.size() << '\n';
    	// compute median temperature:
    	sort(temps); // sort temperatures
    	cout << "Median temperature: " << temps[temps.size() / 2] << '\n';
    
    }
    

    funktioniert genau so wie es im Buch steht. Das erste Problem war die #include "std_lib_facilities.h", welche fehlerhaft war. Das zweite Problem bestand darin, dass das Fenster sich geschlossen hat. Welches nun auch so funktioniert wie es soll.



  • wie alles ausprobieren? funktionen sind grundlegende sprachelemente, die man gleich nach ein- und ausgabe lernt.

    ist jetzt nur ein gut gemeinter ratschlag, aber wie wäre es mit einem vernünftigen lehrbuch?



  • HansKlaus schrieb:

    wie alles ausprobieren? funktionen sind grundlegende sprachelemente, die man gleich nach ein- und ausgabe lernt.

    ist jetzt nur ein gut gemeinter ratschlag, aber wie wäre es mit einem vernünftigen lehrbuch?

    Habe das und nutze es
    Programming: Principles and Practice Using C++ (2nd Edition) finde das ok



  • evev schrieb:

    vector<double> temps; // temperatures
    (...)
    	double sum = 0;
    	for (int x : temps) sum += x;
    	cout << "Average temperature: " << sum / temps.size() << '\n';
    

    funktioniert genau so wie es im Buch steht.

    So steht das im Buch?
    Was ist denn der mittlere Temperatur, wenn man nur eine Temperatur eingibt, zum Beispiel 4.2 Grad? Richtig, in deinem Programm ist der Mittelwert aus 4.2 nicht 4.2, sondern 4. Und das, obwohl sowohl sum als auch temps doch double-Werte speichert! Aber schau dir mal die for-Schleife an: du addierst immer nur ints! Also nimm "auto". Oder schau dir mal std::accumulate an.



  • Danke für deinen Beitrag.
    Du hast vollkommen recht, das er nur die 4 ausgibt, bei der Eingabe von 4.2.
    Habe es nun mit deinem auto Wert probiert und genauso mit double anstatt int. Funktioniert beides. Danke

    ich verlinke dir mal die Seite da steht es exakt so drinn.
    https://i.imgur.com/Hqs0huA.png



  • evev schrieb:

    Habe es nun mit deinem auto Wert probiert und genauso mit double anstatt int.

    Was meinst du, ist besser?

    evev schrieb:

    ich verlinke dir mal die Seite da steht es exakt so drinn.

    Was sagt das über die Qualität der Seite aus?
    Oder wird das später noch erläutert?


Anmelden zum Antworten