Heim  >  Artikel  >  Backend-Entwicklung  >  Fügen Sie im C-Programm zwei Zahlen hinzu, die durch zwei Arrays dargestellt werden

Fügen Sie im C-Programm zwei Zahlen hinzu, die durch zwei Arrays dargestellt werden

WBOY
WBOYnach vorne
2023-09-13 21:49:021014Durchsuche

Fügen Sie im C-Programm zwei Zahlen hinzu, die durch zwei Arrays dargestellt werden

Eine durch ein Array dargestellte Zahl wird so gespeichert, dass jede Ziffer der Zahl durch ein Element des Arrays dargestellt wird. Zum Beispiel:

Number 234 in array is {2,3,4}.

Um diese Zahlen zu addieren, würden wir zuerst die Zahlen an der niedrigsten Ziffer addieren und einen Übertrag übergeben, wenn die Summe größer als 10 ist. Danach werden wir den gleichen Vorgang für die nächste fortlaufende Nummer des Arrays fortsetzen und diese summieren.

Nehmen wir ein Beispiel und addieren zwei Zahlen –

a = {2,9, 6}
b = {6, 3, 8}
Output: 934

Erklärung − Wir addieren das niedrigstwertige Bit der Zahl, das 6+8 = 14 ist, was einen Übertrag propagiert, und dann für dasselbe 9+3 +1 = 13, wodurch der Übertrag erneut auf die nächste Zahl übertragen wird. Die Summe der nächsten Zahlen ist 2+6+1 = 9. Dies würde die Summe 934 ergeben.

Algorithmus

Um die Summe der in Array-Form gespeicherten Zahlen zu ermitteln. Wir prüfen zunächst, ob eine Zahl mehr Ziffern hat. Wenn ja, ermitteln wir die Summe der Ziffern der kleineren Zahl und addieren dann die Ziffern der größeren Zahl.

Darüber hinaus prüfen wir eine Übertragsnummer, die Überträge verfolgt, die in der Summe auftreten können und weitergeleitet werden müssen, zunächst mit einem Wert von Null und vor jeder Iteration der Summe auf Null gesetzt. Wir werden die Summe der Zahlen nacheinander ermitteln, sie in einem Array speichern und dann ausdrucken.

Beispiel

Live-Demo

#include <iostream>
using namespace std;
int Sum(int a[], int b[], int n, int m){
   int sum[n];
   int i = n - 1, j = m - 1, k = n - 1;
   int c = 0, s = 0;
   while (j >= 0) {
      s = a[i] + b[j] + c;
      sum[k] = (s % 10);
      c = s / 10;
      k--;
      i--;
      j--;
   }
   while (i >= 0) {
      s = a[i] + c;
      sum[k] = (s % 10);
      c = s / 10;
      i--;
      k--;
   }
   for (int i = 0; i <= n-1; i++) {
      cout<<sum[i];
   }
}
int main(){
   int a[] = { 5, 6, 9 };
   int b[] = { 3, 8 };
   int n = sizeof(a) / sizeof(a[0]);
   int m = sizeof(b) / sizeof(b[0]);
   cout<<"The sum is ";
   if (n >= m)
      Sum(a, b, n, m);
   else
      Sum(b, a, m, n);
   return 0;
}

Ausgabe

The sum is 607

Das obige ist der detaillierte Inhalt vonFügen Sie im C-Programm zwei Zahlen hinzu, die durch zwei Arrays dargestellt werden. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:tutorialspoint.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen