Hallo, in diesem code der den wert vom user an die von user bestimmte stelle einsetzen soll, und die anderen element nach rechts verschieben soll(der letzte fliegt aus) tritt ein fehler auf. Es wird immer das letzte element an die stelle kopiert und nicht der eingegeben wert vom user.
class arr { private: int a[10]; int Vr; public: arr(void) { for(int i=0;i<10;i++) { cout << i+1<<". element array!"<<endl; cin >> a[i]; } cout << "wert der in das array soll!"<<endl; cin >> Vr;
} int index(void) { int i; cout << "Index vom array(wo der wert rein soll) Vr="<<Vr<<endl; cin >>i; i--; return i; } void rep(int i) { //hier ist Vr das was der user eingibt int n; for(n=10;n>i;n--) { a[n]=a[n-1]; } //hier ist er das letzte element vom array a[n]=Vr; } void print(string s) {
Hm, ich bin C++ anfaenger ,im C kenne ich mich aus aber jetzt versuche ich OOP zu erlernen!
Kanssst du es mir besser erklearen?
Zitat:
Ein paar kleine Sachen: * using namespace std is nit gut * Array Index mit size_t
Es ist ein kleines einfaches program deswegen will ich nicht ne list benutzen es dient nur zu uebungszwecken. Aber ich bin der meinung das das Program eigentlich gehen musste?
Wenn du std::string benutzt, dann brauchst du für die Ausgabe nicht tricksen, einfach den string auf den Stream schieben, der Operator ist überladen. Und was soll das mit dem Index den du nur dekrementierst ? Die Struktur von deinem Programm ist schon leicht merkwürdig.