Problem mit "Anfängerprogramm"

Status
Nicht offen für weitere Antworten.
moin


Aaahhhh, ich bin mit den Gedanken wo anders, und es war nur ein dreher drin.
So muss es sein:
Code:
int arab[15] = {1000, 999, 900, 500, 499, 100, 99, 90, 50, 49, 10, 9, 5, 4, 1};
char *roman[15] = {"M", "IM", "CM", "D", "ID", "C", "IC", "XC", "L", "IL", "X", "IX", "V", "IV", "I"};

Edit:
Ich bin ja auch nciht hier um Hausaufgaben zu lösen, aber ich denke schon das mein Programm ein recht guter Denkanstoß ist.


mfg
umbrasaxum
 
Zuletzt bearbeitet:
danke für die die mir versuchen zu helfen is echt nett von euch

das problem ist ja das ich momentan kein c++ zu hause hab und gar nicht rumprobieren kann
ist ziemlich ......

wir haben grad mal die for schleife gemacht wir sind bei wiederholungen, 10te klasse
informatik... printf oder so haben wir nich bei uns gibts nur cin , cout als ein und ausgabe...

for , do , while , if kenn ich schon genau wie float int und char...

viel mehr haben wir auch nicht gemacht und ja .. mann gibt eine arbabische zahl (bsp: 2548 und das programm muss es in eine römische zahl umwandeln...) und es soll mit
"meinen vorhandenen" kenntnissen gemacht werden das bedeutet printf, array und so zeug geht nicht ....
meinen vorhandenen unter anführung deswegen weil die prof. etwas ein mal erklärt nich mal n richtiges beispiel macht und erwartet das wir das können...

ich hoffe ihr versteht das ich momentan in ner richtig scheiss situation stecke ich hoffe ihr könnt mir damit helfen weil in meiner klasse gibts sonst keinen der das programm auch noch aufbekommen hat...
 
moin


Ersetz das printf doch einfach durch cout:
Code:
int zahl;
int arab[15] = {1000, 999, 900, 500, 499, 100, 99, 90, 50, 49, 10, 9, 5, 4, 1};
char *roman[15] = {"M", "IM", "CM", "D", "ID", "C", "IC", "XC", "L", "IL", "X", "IX", "V", "IV", "I"};

cin >> zahl;

for(int i = 0; i < 13, zahl != 0;)
{

	if( zahl >= arab[i] )
	{
		zahl -= arab[i];
		cout << roman[i];
		if(zahl == 0)
			break;
					
		i = 0;
		continue;
	}
	i++;
}
Und ein Array ist ein viel grundlegenderes Element von C++ als cout!


mfg
umbrasaxum
 
Zuletzt bearbeitet:
moin


ich hoffe ihr versteht das ich momentan in ner richtig scheiss situation stecke ich hoffe ihr könnt mir damit helfen weil in meiner klasse gibts sonst keinen der das programm auch noch aufbekommen hat...

Verstehe ich ehrlich gesagt nicht! Setz dich hin, liess ein Buch über C oder C++ und nach einem viertel des Buches, könntest du das Programm auch alleine entwickeln.

Und das jetzt mit 15 ifs zu machen anstatt einem/zwei Arrays widerspricht dem Sinn der Programmierung.

Benutz auch bitte ab und zu die Shift-Taste!


mfg
umbrasaxum
 
umbrasaxum hat gesagt.:
moin




Verstehe ich ehrlich gesagt nicht! Setz dich hin, liess ein Buch über C oder C++ und nach einem viertel des Buches, könntest du das Programm auch alleine entwickeln.

Und das jetzt mit 15 ifs zu machen anstatt einem/zwei Arrays widerspricht dem Sinn der Programmierung.

Benutz auch bitte ab und zu die Shift-Taste!


mfg
umbrasaxum

is mir egal ob du es verstehst weil ich mich nicht hinsetze für ein nebenfach zu lernen wenn die prof das nich erklären kann dann frag ich halt hier oder wo anders nach wer
nich helfen willl soll nich reinschreiben aber fickt eure moralpredigten UND FICK DEINE SHIFT TASTE

ich hab echt kein bock auf sowas ließ einfach nich und schreib nich rein wenns dir nich passt


und zu dem array sag mir doch was soll ich tun wenn die lehrer das nich durchnehmen
und ich das nur mit if gelernt hab? soll ich mich umbringen ? sie hat selbst gemeint als ich
mal n prog. mit array versucht habe zu machen das ich nicht machen soll was wir noch nicht durchgenommen haben also laber nicht
 
Hey, das hab ich auch mal gemacht.
Also hier meine Lösung zu dem Thema, un die funktioniert perfekt, soweit ich weiß:

Code:
string IntToRomanString(int wert){
	static const char buchstaben[][2] = { {'M','D'}, {'C','L'}, {'X','V'}, {'I',0} };
	string str;
	int curwert = 1000;	//wert von M
	int ibuchstabe=0;
	while(wert){
		while(wert>=curwert){
			str+=buchstaben[ibuchstabe][0];
			wert-=curwert; }
		if(!(curwert/=2))
			break;
		if( wert<curwert ){
			if( wert>=4*curwert/5 )
				return str + IntToRomanString(curwert-wert) + buchstaben[ibuchstabe][1];
		}else if( wert>=curwert+4*curwert/5 )
			return str + IntToRomanString(2*curwert-wert) + buchstaben[ibuchstabe][0];
		else{
			str += buchstaben[ibuchstabe][1];
			wert -= curwert; }
		curwert /= 5;
		++ibuchstabe; }
	return str; }
 
moin


Oh harte Worte! :)

is mir egal ob du es verstehst weil ich mich nicht hinsetze für ein nebenfach zu lernen
Aber hier sollen sich die Leute für dich hinsetzen und deine Hausaufgaben machen?!

nich helfen willl soll nich reinschreiben aber fickt eure moralpredigten
Hab dir eigentlich ne Menge geholfen, aber wenn du die nicht annehmen willst ist das auch nciht schlimm.

UND FICK DEINE SHIFT TASTE
Nee, sowas mach ich nicht.

und zu dem array sag mir doch was soll ich tun wenn die lehrer das nich durchnehmen
Vorsicht jetzt kommt was ganz abnormales:
Hinsetzen und selber lernen.

und ich das nur mit if gelernt hab? soll ich mich umbringen ?
Von mir aus musst du das nciht tun, aber reisende soll man nicht aufhalten.


mfg
umbrasaxum
 
-Mario- hat gesagt.:
is mir egal ob du es verstehst weil ich mich nicht hinsetze für ein nebenfach zu lernen wenn die prof das nich erklären kann dann frag ich halt hier oder wo anders nach wer
nich helfen willl soll nich reinschreiben aber fickt eure moralpredigten UND FICK DEINE SHIFT TASTE

ich hab echt kein bock auf sowas ließ einfach nich und schreib nich rein wenns dir nich passt


und zu dem array sag mir doch was soll ich tun wenn die lehrer das nich durchnehmen
und ich das nur mit if gelernt hab? soll ich mich umbringen ? sie hat selbst gemeint als ich
mal n prog. mit array versucht habe zu machen das ich nicht machen soll was wir noch nicht durchgenommen haben also laber nicht

Und für das sollte ich meinen Code eigentlich wieder rausnehmen.
Aber um des Friedens willen lass ich ihn drin und hoffe, du gibst damit Ruhe.
 
sind das da oben wieder diese "arrays" ?

ich frage etwas und ihr zieht trotzdem euer ding durch
ihr geht gar nich auf die fragen ein ey woah

ihr habt mir bis jetzt nicht ein bisschen weiter geholfen weil ihr nicht peilt
was ich schreibe wenn ich schreib wir haben keine arrays durchgenommen
dann kann ich auch keine arrays benutzen aber checkt ihr nich oder?
 
Dann lern halt einfach schnell, was ein Array ist und sag deinem Lehrer, du bist eben auch privat auf diesem Gebiet engagiert, und es mit tausend ifs zu machen, wäre unter deinem Niveau und du könntest so scheuslichen Code nicht sehen...
Was ein Array ist, ist schnell erklärt: eine Ansammlung von Werten.
Code:
char r[5];   //r stellt einen buffer auf 5 direkt aneinandergereihten chars dar
int f[4];     //4 ints
 
Status
Nicht offen für weitere Antworten.
Zurück