tutorials.de Buch-Aktion 05/2012
Like Tree1Danke
  • 1 Beitrag von devDevil
ERLEDIGT
NEIN
ANTWORTEN
2
ZUGRIFFE
2511
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    Dolphon Dolphon ist offline Mitglied Brokat
    Registriert seit
    Jun 2003
    Beiträge
    308
    Hi,

    um die Array Größe zur Laufzeit zu bestimmen habe ich einen Zeiger benutzt.
    Es funktioniert auch. Ich möchte nur gerne wissen, ob dies richtig so ist:

    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    
    int _tmain(int argc, _TCHAR* argv[])
    {
        int anzahl,i,min;
        int *zahl;
        float mittelwert=0;
     
        cout <<"Wie viele positive Zahlen wollen Sei einlesen?\n";
        cin >> anzahl;
        zahl = new int(anzahl);
     
     for (i = 0; i < anzahl; i++) 
      { 
          cout << " Geben Sie die " << i << " Zahl ein: \n" ;
          cin >> zahl[i];
      }...........

    Gruß

    Dolphon
     
    Leg dich mit dem Besten an, und stirb wie alle dann******

  2. #2
    Mickeyman Mickeyman ist offline Mitglied Silber
    Registriert seit
    Mar 2006
    Beiträge
    52
    Hallo,
    so wie du es gemacht hast ist es falsch.
    Du hast nämlich einfach nur einen Integer auf dem Heap abgelegt und ihn dann mit dem Wert von "Anzahl" initialisiert. Um daraus ein dynamisches Array zu machen, muss du einfach nur die runden Klammern durch Eckige ersetzten.
    Vergesse aber nicht, den Speicher nachher wieder freizugeben! Dafür musst du dann den Operator "delete[]" verwenden. (Die Klammern dabei nicht vergessen)

    Gruß, Mickeyman.
     

  3. #3
    Avatar von devDevil
    devDevil devDevil ist offline Mitglied Platin
    Registriert seit
    Jun 2005
    Beiträge
    662
    Nja warum du hier noch unbedingt selbst Hand anlegen willst ...
    Code cpp:
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    
    #include <algorithm>
    #include <iostream>
     
    int main(int argc, char** argv)
    {
        std::cout << "Wie viele positive Zahlen wollen Sei einlesen?\n";
        std::size_t size(0);
        std::cin >> size;
        
        unsigned int* ptr_array(new unsigned int[size]);
        // iteratoren anlegen (okay hier einfache Zeiger ;) )
        unsigned int* ptr_begin(ptr_array);
        unsigned int* ptr_end(ptr_array + size);
     
        for (unsigned int* ptr_it(ptr_begin); ptr_it != ptr_end; ++ptr_it) 
        { 
          std::cout << "Geben Sie die " << std::distance(ptr_begin, ptr_it) << ". Zahl ein: \n" ;
          std::cin >> *ptr_it;
        }
     
        unsigned int* ptr_min(std::min_element(ptr_begin, ptr_end));
        std::cout << "Kleinstes Element: " << *ptr_min << std::endl;
     
        delete [] ptr_array;
    }
    So geht das wenn du gerne auf Arrays zurückgreifen willst ... warum auch immer

    Code cpp:
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    
    #include <algorithm>
    #include <iostream>
    #include <vector>
     
    int main(int argc, char** argv)
    {
        std::cout << "Wie viele positive Zahlen wollen Sei einlesen?\n";
        std::size_t size(0);
        std::cin >> size;
        
        std::vector<unsigned int> data(size);
     
        for (std::vector<unsigned int>::iterator it(data.begin()); it != data.end(); ++it) 
        { 
          std::cout << "Geben Sie die " << std::distance(data.begin(), it) << ". Zahl ein: \n" ;
          std::cin >> *it;
        }
     
        std::vector<unsigned int>::const_iterator it_min(std::min_element(data.begin(), data.end()));
        std::cout << "Kleinstes Element: " << *it_min << std::endl;
    }
    ...
    WingMan81 bedankt sich. 

Ähnliche Themen

  1. Array größe bestimmen
    Von Winner im Forum Visual Basic 6.0
    Antworten: 2
    Letzter Beitrag: 01.10.07, 13:58
  2. Laufzeit bestimmen
    Von Winner im Forum C/C++
    Antworten: 7
    Letzter Beitrag: 13.09.07, 09:19
  3. Template Typ zur Laufzeit bestimmen
    Von thefifo im Forum C/C++
    Antworten: 2
    Letzter Beitrag: 08.08.07, 14:25
  4. Antworten: 9
    Letzter Beitrag: 10.04.05, 10:55
  5. Größe eines Ordners bestimmen + Dateityp bestimmen
    Von Ravebaby im Forum VisualStudio & MFC
    Antworten: 3
    Letzter Beitrag: 02.04.05, 23:28