1Danke
ERLEDIGT
NEIN
NEIN
ANTWORTEN
2
2
ZUGRIFFE
2511
2511
EMPFEHLEN
-
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ß
DolphonLeg dich mit dem Besten an, und stirb wie alle dann******
-
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.
-
Nja warum du hier noch unbedingt selbst Hand anlegen willst ...
So geht das wenn du gerne auf Arrays zurückgreifen willst ... warum auch immerCode 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; }

...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; }
Ähnliche Themen
-
Array größe bestimmen
Von Winner im Forum Visual Basic 6.0Antworten: 2Letzter Beitrag: 01.10.07, 13:58 -
Laufzeit bestimmen
Von Winner im Forum C/C++Antworten: 7Letzter Beitrag: 13.09.07, 09:19 -
Template Typ zur Laufzeit bestimmen
Von thefifo im Forum C/C++Antworten: 2Letzter Beitrag: 08.08.07, 14:25 -
dynamische Arrays - Arraylänge zur Laufzeit bestimmen
Von badboy im Forum C/C++Antworten: 9Letzter Beitrag: 10.04.05, 10:55 -
Größe eines Ordners bestimmen + Dateityp bestimmen
Von Ravebaby im Forum VisualStudio & MFCAntworten: 3Letzter Beitrag: 02.04.05, 23:28





Zitieren
Login






