Maison > Article > développement back-end > Étant donné une contrainte, ajoutez les éléments du tableau donné
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!