Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Dalam program C, tambah dua nombor yang diwakili oleh dua tatasusunan

Dalam program C, tambah dua nombor yang diwakili oleh dua tatasusunan

WBOY
WBOYke hadapan
2023-09-13 21:49:021054semak imbas

Dalam program C, tambah dua nombor yang diwakili oleh dua tatasusunan

Nombor yang diwakili oleh tatasusunan disimpan sedemikian rupa sehingga setiap digit nombor itu diwakili oleh unsur tatasusunan. Sebagai contoh,

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

Untuk menambah nombor ini, kami akan terlebih dahulu menambah nombor pada digit terendah dan lulus bawa jika jumlahnya lebih daripada 10. Selepas ini kita akan meneruskan proses yang sama untuk nombor berturut-turut tatasusunan dan jumlahnya.

Mari kita ambil contoh dan tambah dua nombor -

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

Penjelasan − Kami akan menambah bit terkecil nombor iaitu 6+8 = 14 yang akan merambat bawa dan kemudian untuk 9+3 +1 yang sama = 13, yang sekali lagi merambat bawa ke nombor seterusnya. Jumlah nombor seterusnya ialah 2+6+1 = 9. Ini akan menjadikan jumlah 934.

Algoritma

Untuk mencari jumlah nombor yang disimpan dalam bentuk tatasusunan. Kami mula-mula menyemak sama ada mana-mana nombor mempunyai lebih banyak digit. Jika ya, maka kita dapati hasil tambah digit bagi nombor yang lebih kecil dan kemudian tambahkan digit nombor yang lebih besar.

Selain itu, kami akan menyemak nombor bawaan, yang akan menjejaki bawaan yang mungkin berlaku dalam jumlah dan perlu dimajukan, pada mulanya dengan nilai sifar, dan ditetapkan kepada sifar sebelum setiap lelaran jumlah itu. Kami akan mencari jumlah nombor satu demi satu dan menyimpannya ke dalam tatasusunan dan kemudian mencetaknya.

Contoh

Demo Langsung

#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;
}

Output

The sum is 607

Atas ialah kandungan terperinci Dalam program C, tambah dua nombor yang diwakili oleh dua tatasusunan. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Artikel ini dikembalikan pada:tutorialspoint.com. Jika ada pelanggaran, sila hubungi admin@php.cn Padam