Disons que j'ai ces 10 tableaux précédemment déclarés dans mon code.
ArrayOfArrays = { arr1[], arr2[], arr3[], arr4[], arr5[], arr6[], arr7[], arr8[], arr9[], arr10[] }
4 Réponses :
Je veux ajouter les 10 de ces matrices l'une après l'autre pour en faire un Array unique? p>
Vous pouvez avoir
TAREY de pointeurs forts> comme p> xxx pré> ici
ArrayOnPointers code> est une matrice de
10 Code> Inti les pointeurs, c'est-à-dire qu'il peut stocker l'adresse de
10 code> une dimension int graphique comme
Arr1 code>,
arrate code> etc. p>
i Supposons qu'il peut y avoir une meilleure méthode que ce que je suggère à l'avance
C ++ code> pour la même tâche. p> blockQquote>
Fondamentalement, je souhaite ajouter les 10 de ces matrices l'une après l'autre pour créer un seul tableau. P>
Vous ne pouvez pas faire cela. P>
Le plus proche que vous puissiez obtenir, c'est à l'aide de
std :: Array code>. p>
std::array<int, 10> arr1 = {1,2,3,4,5,6,7,8,9,10}; ... std::array<int, 10> arr10 = {1,2,3,4,5,6,7,8,9,10}; std::array<std::array<int, 10>, 10> arrayOfArray = {arr1, ..., arr10};
Essayez cette approche:
#include <iostream> #include <vector> int arr1[] = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 }; int arr2[] = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 }; // ...other arrays here... // We pass a reference to a vector and return the same vector for performance reasons. // Compiler often can optimize that into a better code. std::vector<int> append(std::vector<int> & vec, int * data, int size) { for (int i = 0; i < size; ++i) vec.push_back(data[i]); return vec; } int main() { std::vector<int> data; data = append(data, arr1, 10); data = append(data, arr2, 10); for (auto i : data) std::cout << i << ", "; std::cout << std::endl; return 0; }
en C ++ Il est inutile et invité à utiliser des tableaux de style C. Pour les tableaux de
Taille constante Vous pouvez utiliser il semble plutôt comme si ce que vous voulez réellement est une matrice en deux dimensions constante
et pour pouvoir accéder à chacune de ses lignes comme une matrice constante, mais ne pas
Savoir comment initialiser une matrice bidimensionnelle. Si tel est le cas, voici comment: p> compile, lien et exécuté: p> Démo en direct P> P> std :: Array code>
et pour les tableaux de taille variable, std :: vecteur code> a>
Que voulez-vous dire par Ajoutez les 10 de ces tableaux à un seul tableau B>? Comme
[a] + [b] + ... + [j] = [z] = [z] code> ou
[z] = [[A] [b] ... [J]] / code>
Comme ceci: arrayofarrays = {arr1 [], arr2 [], arr3 [], Arr4 [], Arr5 [], Arr6 [], Arr7 [] ,R8 [], ARR9 [], ARR10 []}
Alors, vous voulez créer une matrice?
Y a-t-il une contrainte d'utilisation des tableaux? Les tailles de toutes les tableaux sont-elles prédéfinies / prénomnantes? Sinon, vous pouvez utiliser une liste liée. Sinon, si les choses sont prédéfinies, il est simple de déclarer une array résultante n peuplée
Oui, les tailles sont prédéfinies. Comment devrais-je déclarer un tableau résultant et le peupler?