Anmelden

Archiv verlassen und diese Seite im Standarddesign anzeigen : Stellenwert n der Zahl m



mario88
06-10-2004, 22:04
Ich soll folgendes Programm in C++ schreiben und steh einfach komplett auf der Leitung, hab ka wie ich das machen soll.
Folgende Angabe:


Schreiben Sie ein Programm, das zwei Zahlen m und n einliest und die n-te Ziffer der Zahl m ausgibt.

:confused:

Wie soll das gehen?

Jasper
06-10-2004, 22:09
m in string umwandeln, m[n] ist dann das gewünschte ergebnis.
easy-peasy.


-j

mario88
06-10-2004, 22:21
und wie mach ich das genau?
sry, vielleicht isses auch schon zu spät, aber mir fallt im Moment überhaupt nix ein ^^
geht das nicht irgendwie mit ner Funktion aus der Klasse string oder so?

mario88
06-10-2004, 22:27
aaah, hab's schon :D



#include <iostream>
#include <string>

using namespace std;

int main()

{

string m;
int n=0;

cout << "Geben Sie eine Zahl m ein: " << endl;
cin >> m;


cout << "Geben Sie eine Zahl n ein: " << endl;
cin >> n;

cout << "Ergebnis: " << m[n-1] << endl;


return 0;
}

peschmae
07-10-2004, 07:13
Damit riskierst du allerdings dass m keine Zahl sondern "irgendwas" ist.

MFG Peschmä

mario88
07-10-2004, 10:32
Damit riskierst du allerdings dass m keine Zahl sondern "irgendwas" ist.

MFG Peschmä
und wie ginge es ohne diesem Risiko?

mwanaheri
07-10-2004, 11:41
eine Zahl entgegennehmen und in einen String umwandeln.

peschmae
07-10-2004, 19:58
Das ginge dann z.B. so:

#include <iostream>
#include <string>
#include <sstream>

using namespace std;

int main()

{

int m=0;
int n=0;

cout << "Geben Sie eine Zahl m ein: " << endl;
if (! (cin >> m)) return -1;


cout << "Geben Sie eine Zahl n ein: " << endl;
if (! (cin >> n)) return -1;

ostringstream o;
o << n;
cout << "Ergebnis: " << (o.str())[n-1] << endl;


return 0;
}


Der Input-Teil ist jetzt ok, aber irgendwas hakt noch.

MfG Peschmä