Nur die letzten 3 buchtaben von einer zeichenkette ausgeben
-
Mein Programm gibt das aus was ich will. Aber der Prof. hat gesagt das ich es ohne String machen soll. Kann mir jemand weiter helfen?
#include<iostream> using namespace std; int main(){ int n; string a=""; char arr[80]; cin.getline(arr,80,'\n'); cout<<"geben sie eine zahl"<<endl; cin>>n; if(n==0){ cout<<arr;} for(int i=0;i<n;i++){ arr[i]=arr[n]; n++; a+=arr[i]; if(arr[n]=='\0'){ break;} } cout<<a<<endl; }
-
Ok ich hab es schlecht erklärt.
Zuerst gebe ich ein wort aus z.B hallo
und danach eine nummer z.B 3
dann soll die Ausgabe : llo sein
-
Kann mir jemand weiter helfen?
Klar. Wo wohnt dein Prof?
-
@Echelon
Womit genau hast du denn ein Problem?
-
if(strlen(arr)>=n) cout << arr+(strlen(arr)-n);
-
Du benutzt ja schon einmal string, also:
string a = "abcdef"; size_t n = 3; cout << a.substr( n > a.size() ? 0 : a.size() - n );
-
Aber der Prof. hat gesagt das ich es ohne String machen soll...
-
so_da schrieb:
Aber der Prof. hat gesagt das ich es ohne String machen soll...
Huch, das hab ich wohl überlesen. Hatte heute Mittag nur wenig Zeit.
-
Wie, ohne string? Sind wir im finsteren Mittelalter in dem es noch kein C++ gab? Oder ist das ein purer C Kurs?
Naja, ohne C++ wäre scanf() eine Alternative.
-
Ich seh jetzt das allgemeine Problem nicht. - Er soll die Zeichenkette ab Zeichen "n" ausgeben. - Hat diese bereits in einem Array. - Hier ist der String doch grundsätzlich garnicht notwendig. - Überseh ich was oder würde es nicht voll und ganz zureichen ab Zeichen n die Zeichen im Array auszugeben?
-
Ich glaub nicht dass du was übersiehst. Ich glaub dass Echelon einfach überhaupt nicht programmieren kann.