Dynamisches Array füllen



  • Hallo,
    habe zur Zeit dies:

    #include <iostream>
    #include <cmath>
    
    using namespace std;
    
    int main()
    {
        int anzahl, wert;
        double* feld = new double[anzahl];
    
        cout << "Wieviele INT-Zahlen wollen Sie eingeben?" << endl;
        cin >> anzahl;
        for(int i=1;i<=anzahl;i++)
        {
                cout << "Bitte Wert " << i << " eingeben: ";
                cin >> wert;
        }
        system("Pause");
        delete[] feld;
    }
    

    Ich möchte nun alle Werte, die eingegeben werden, im Array speichern.
    Nur wie mache ich dies? Danke!



  • du solltest den Speicher reservieren NACHDEM du die anzahl kennst 😉

    google: operator []



  • für dynamische Datenmengen wäre eventuell ein Vector zu bevorzugen? 🙂

    #include <iostream>
    #include <vector>
    
    using namespace std;
    
    int main() {
    
    	cout << "Wieviele Zahlen wollen sie einlesen?" << endl;
    	int anzahl;
    	cin >> anzahl;
    	double number;
    	vector<double> vec;
    	for(int i=0;i<anzahl;i++) {
    		cin >> number;
    		vec.push_back(number);
    	}
    	for(int i=0;i<anzahl;i++) {
    		cout << vec[i] << endl;
    	}
    
    	return 0;
    }
    


  • nee... vector brauche ich nicht... will nur ein paar werte einlesen und diese in ein array schreiben... und dann wieder auslesen 😉



  • Hallo

    Na dann hat "hey" ja schon alles wichtige gesagt.

    bis bald
    akari



  • columbo1979 schrieb:

    nee... vector brauche ich nicht... will nur ein paar werte einlesen und diese in ein array schreiben... und dann wieder auslesen 😉

    ... und warum darf man dafür keinen vector benutzern ?
    Ist es cooler, das Rad neu zu erfinden ? 😉

    Gruß,

    Simon2.



  • #include <iostream>
    
    int main()
    {
        std::cout << "Wie viele Zahlen wollen Sie eingeben?" << std::endl;
        size_t count_numbers = 0;
        std::cin >> count_numbers;
    
        double* array = new double[count_numbers];
    
        if (array == NULL) // falls jemand da großen unfug in count_numbers eingegeben hat ;)
            return 0;
    
        for (size_t current = 0; current < count_numbers; ++count_numbers)
        {
            std::cout << current + 1 << ": " << std::flush;
            std::cin >> array[current];
        }
        delete[] count_numbers;
    }
    

    ... aber warum du auf std::vector verzichten willst ist mir nicht verständlich.



  • ... aber warum du auf std::vector verzichten willst ist mir nicht verständlich.

    Gibt heutzutage schon genug die std::vector und std::list äquivalent benutzen weil sie absolut gar keine Ahnung mehr haben was dahintersteckt.

    MfG SideWinder



  • SideWinder schrieb:

    ... aber warum du auf std::vector verzichten willst ist mir nicht verständlich.

    Gibt heutzutage schon genug die std::vector und std::list äquivalent benutzen weil sie absolut gar keine Ahnung mehr haben was dahintersteckt.

    MfG SideWinder

    Ich hatte nicht den Eindruck, dass er vector deswegen nicht benutzen will, weil er lieber list verwendet, sondern weil er lieber selbst fummelt.

    Gruß,

    Simon2.



  • Simon2 schrieb:

    Ist es cooler, das Rad neu zu erfinden ? 😉

    Gruß,

    Simon2.

    nein aber es macht sinn zu programmieren wenn man nicht weiß was sich dahinter verbirgt, dann landen wir alle bei der html "programmierung" mit frontpage



  • Stelfer schrieb:

    Simon2 schrieb:

    Ist es cooler, das Rad neu zu erfinden ? 😉

    Gruß,

    Simon2.

    nein aber es macht sinn zu programmieren wenn man nicht weiß was sich dahinter verbirgt, dann landen wir alle bei der html "programmierung" mit frontpage

    Das klingt nach meinem Opa: "Die sollen erstmal richtig lernen, selbst Bäume zu fällen, bevor sie in den Baumarkt gehen !" 😃

    Könnte dasselbe nicht der ASM-Programmierer den C-lern vorwerfen ? Oder der Chipdesigner dem OS-Programmierer ? Oder ....
    Immerhin holen wir alle unsere Milch aus dem Supermarkt, ohne selbst melken zu können.

    Ich denke nicht, dass der Einsatz von std::vector (und anderen übergeordneten Konzepten) die Leute nicht zu schlechteren Programmierern macht.


Anmelden zum Antworten