for (x=0 //x wird 0, der eine Faktor geht verloren!
Kann also nicht funktionieren. Ich würde das hier vorschlagen:
mfGCode:int x,y,z,ergebnis; //... z=0; for (z=0;z<y,z++) { ergebnis+=x; } //ergebnis ausgeben
cht
Werbung
Hallo,
möchte ein Programm erstellen, wo zwei Zahlen multipliziert werden. Der Punkt ist der, dass dabei das *-Zeichen nicht vorhanden sein darf.
Habe folgenden Programmcode und weiß einfach nicht weiter:
Wäre dankbar auf Tipps.Code:#include <stdio.h> int main() { int x, y, z; printf("Zwei positive Zahlen multiplizieren\n"); scanf ("%d %d", &x, &y); z=0; for(x=0 ; x<=y; x=x+y) { z=z+x; } printf("Multiplikation ergibt %d\n", z); printf("x= %d\n", x); printf("y= %d\n", y); return 0; }
for (x=0 //x wird 0, der eine Faktor geht verloren!
Kann also nicht funktionieren. Ich würde das hier vorschlagen:
mfGCode:int x,y,z,ergebnis; //... z=0; for (z=0;z<y,z++) { ergebnis+=x; } //ergebnis ausgeben
cht
Vielleicht hat der Compiler eine Allergie.
Gruß
Torsten
Bei dem, was Computer heute sonst alles können, glaub ich dir das auch.
Naja, vielleicht gibts beim Conrad auch Cyber-Anti-Histamine und ich weiß das nur noch nicht. mfg
Wie waers mit inline assembler und mul??
mfg
martin
>Wenn der Compiler oder der CHip die Rechnung 128 * 255 auf 128 oder gar 255 Additionen auftröselt, dreh ich ihm den Hals um mfg
Externes Bild anzeigen
wie soll das Multiplizieren via Addieren denn mit Floatzahlen gehen ?
ciao ... bernd
hmm, man könnte es gaaanz kompliziert machen:
Rechnen, wie auf einen Stück Papier, d.h. Zahl für Zahl unter Berücksichtigung der Stelle multiplizieren, und das letztere Multiplizieren durch das Auslesen aus einer Lookuptabelle für das kleine 1x1 ersetzen![]()
Lesezeichen