"Frage zu Arrays "
-
hallo Leute,
hoffe ,dass meine frage hier richtig ist und zwar es geht um arrays.
wie kann ich nummerische werte in ein arrey oder mehrere einlesen , und übliche operationen mit denen machen.
das habe ich so versucht aber es geht nicht, wieso?#include<iostream>
using namespace std;
int main(){
long feld []={};
cin>>feld;
cout<<feld [0]+ feld [2]<<endl;system("pause");
return 0;
}als string geht aber die operationen kann ich nicht machen.
zb:
#include<iostream>
using namespace std;
int main(){
char feld[10];cin>>feld;
int i=1;cout<<feld[1]+feld[i]<<endl;--> das ergebniss stimmt nicht.
system("pause");
return 0;
}
danke für euere hilfe
-
std::vector<int> feld; std::istream_iterator<int> in(std::cin), eos; std::copy(in, eos, std::back_inserter(feld)); std::cout << feld[0] + feld[2] << std::endl;
Das wirst du zwar nicht verstehen, aber so macht man das normalerweise. Du sollst aber wissen, dass ein Array immer die gleiche Grösse hat und du deshalb einen std::vector verwenden musst.
-
du hast recht , ich verstehe es überhaupt nicht.
bitte schreibe es mir wie es in meinem code ausschaut.
eine vollständige erklärung natürlich wäre viel besser für mich.
-
wie ich sehe du verwendest eine funktion ...
ich brauche es in einem möglicht einfacherem beispiel , wie meiner ,danke grüsse.
-
#include <iostream> using namespace std; int main(){ long feld[2]; cin >> feld[0] >> feld[1]; cout << feld[0] + feld[1]<<endl; }
-
nein , also leider es ist kein antwort für mich.
Bleistift schrieb:
##include<iostream> using namespace std; int main(){ long feld []={}; cin>>feld;//--->mich interesiert ob es möglicht ist hier zb. 123 eingeben , und dass compiler eine zuordnung macht :long feld []={1,2,3} automatisch???? cout<<feld [0]+ feld [2]<<endl; system("pause"); return 0; }
-
//--->mich interesiert ob es möglicht ist hier zb. 123 eingeben , und dass compiler eine zuordnung macht :long feld []={1,2,3} automatisch????
Nein, das ist nicht möglich.
Die Größe des Arrays muss zur Compilezeit feststehen, ansonsten musst du auf std::vector, std::list, etc. ausweichen. Aber auch dann musst du die Eingabe in einer Schleife erledigen, etwa so:
#include <list> #include <iostream> using namespace std; int main() { list<int> feld; for (int tmpVal; cin >> tmpVal; /* */) feld.push_back(tmpVal); }