Heim > Backend-Entwicklung > C++ > 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
Freigeben: 2023-09-13 21:49:02
nach vorne
1070 Leute haben es durchsucht

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}.
Nach dem Login kopieren

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
Nach dem Login kopieren

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;
}
Nach dem Login kopieren

Ausgabe

The sum is 607
Nach dem Login kopieren

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!

Verwandte Etiketten:
Quelle:tutorialspoint.com
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage