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

WBOY
Lepaskan: 2023-09-13 21:49:02
ke hadapan
1057 orang telah melayarinya

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}.
Salin selepas log masuk

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
Salin selepas log masuk

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;
}
Salin selepas log masuk

Output

The sum is 607
Salin selepas log masuk

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!

sumber:tutorialspoint.com
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan