Multiplizieren von 2 zahlen, vertreten durch den 2 verlinkten Listen von Ziffern

Ich brauche ein paar Ideen für eine Hausaufgabe, die ich habe.
Betrachten Sie die folgende definition:

typedef struct listNode {
    int* dataPtr;
    struct listNode* next;
} ListNode;

typedef struct list {
    ListNode* head;
    ListNode* tail;
} List;

Jeder Knoten Liste stellt eine einzelne Ziffer.
Jede Zahl wird dargestellt durch eine Liste, aber in umgekehrter Weise: die Letzte Ziffer der Zahl ist die erste Liste-Knoten der Liste, und die erste Ziffer der Zahl ist die Letzte Liste-Knoten der Liste.

Ich geschrieben habe, die Funktion

void addNumbers(List n1, List n2, List *sum);

gibt eine neue Liste mit der Summe der beiden anderen Listen.

Nun, ich habe das schreiben der Funktion zur Multiplikation:

void multNumbers(List n1, List n2 , List* prod);

Und ich bin irgendwie stecken geblieben, wie es zu implementieren. Es ist nicht über den code, es geht darum, wie es zu tun.
Unnötig zu sagen, wir sind nicht erlaubt zu konvertieren der zahlen in einen ganzzahligen multiplizieren und gehen konvertieren das Ergebnis in eine Liste.

Jegliche Hilfe würde sehr geschätzt werden.

Dank.

  • Beginnen Sie mit diese Seite: Multiplikation-algorithmen. Denke auch an die gute alte Zeit in der Schule, wenn Sie zu tun hatte, alles von hand...
  • Natürlich weiß ich, wie multiplizieren von 2 zahlen, es ist nur so, dass die Ziffern getrennt sind und Umgekehrt. Korrigieren Sie mich, wenn ich falsch Liege, aber diese Art von problem ist nicht trivial.
InformationsquelleAutor Catalyst | 2012-04-15
Schreibe einen Kommentar