Pour ce problème, pour ajouter des éléments de deux tableaux donnés, nous avons quelques contraintes, en fonction de ces contraintes, les valeurs ajoutées changeront. La somme de deux tableaux donnés a[] et b[] est stockée dans un troisième tableau c[] afin qu'ils donnent certains éléments en nombres unitaires. Si le nombre de chiffres de la somme est supérieur à 1, les éléments du troisième tableau sont divisés en deux éléments à un chiffre. Par exemple, si la somme est 27, le troisième tableau la stockera sous la forme 2,7.
Input: a[] = {1, 2, 3, 7, 9, 6} b[] = {34, 11, 4, 7, 8, 7, 6, 99} Output: 3 5 1 3 7 1 4 1 7 1 3 6 9 9
Sortez des tableaux et exécutez une boucle à partir du 0ème index des deux tableaux. Pour chaque itération de la boucle, nous considérons les éléments suivants dans les deux tableaux et les ajoutons. Si la somme est supérieure à 9, nous poussons les nombres individuels de la somme vers le tableau de sortie, sinon nous poussons la somme elle-même vers le tableau de sortie. Enfin, nous poussons les éléments restants du plus grand tableau d’entrée vers le tableau de sortie.
#include <iostream> #include<bits/stdc++.h> using namespace std; void split(int n, vector<int> &c) { vector<int> temp; while (n) { temp.push_back(n%10); n = n/10; } c.insert(c.end(), temp.rbegin(), temp.rend()); } void addArrays(int a[], int b[], int m, int n) { vector<int> out; int i = 0; while (i < m && i < n) { int sum = a[i] + b[i]; if (sum < 10) { out.push_back(sum); } else { split(sum, out); } i++; } while (i < m) { split(a[i++], out); } while (i < n) { split(b[i++], out); } for (int x : out) cout << x << " "; } int main() { int a[] = {1, 2, 3, 7, 9, 6}; int b[] = {34, 11, 4, 7, 8, 7, 6, 99}; int m =6; int n = 8; addArrays(a, b, m, n); return 0; }
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!