Taille tableau c++
Fermé
doudou
-
17 avril 2008 à 15:37
fiddy Messages postés 11069 Date d'inscription samedi 5 mai 2007 Statut Contributeur Dernière intervention 23 avril 2022 - 26 oct. 2011 à 23:59
fiddy Messages postés 11069 Date d'inscription samedi 5 mai 2007 Statut Contributeur Dernière intervention 23 avril 2022 - 26 oct. 2011 à 23:59
A voir également:
- Longueur tableau c
- Tableau croisé dynamique - Guide
- Comment réduire la taille d'un fichier - Guide
- Tableau ascii - Guide
- Tableau word - Guide
- Trier tableau excel - Guide
1 réponse
lefoufighter
Messages postés
277
Date d'inscription
lundi 20 novembre 2006
Statut
Membre
Dernière intervention
12 avril 2018
99
17 avril 2008 à 15:44
17 avril 2008 à 15:44
bonjour,
tu ferais mieux de laisser tomber les tableaux et d'utiliser les Vector qui sont nettement plus simple à utiliser dans ton cas, voici quelques exemples d'utilisation
tu ferais mieux de laisser tomber les tableaux et d'utiliser les Vector qui sont nettement plus simple à utiliser dans ton cas, voici quelques exemples d'utilisation
#include <iostream> #include <vector> #include <algorithm> #include <numeric> using std::cout; int main() { // créer un tableau d'entiers vide std::vector<int> v; // ajouter l'entier 10 à la fin v.push_back( 10 ); // afficher le premier élément (10) cout << v.front() << '\n'; // afficher le dernier élément (10) cout << v.back() << '\n'; // enlever le dernier élément v.pop_back(); // supprime '10' // le tableau est vide if ( v.empty() ) { cout << "Tout est normal : tableau vide\n"; } // redimensionner le tableau // resize() initialise tous les nouveaux entiers à 0 v.resize( 10 ); // quelle est sa nouvelle taille ? cout << v.size() << '\n'; // affiche 10 // sa taille est de 10 : on peut accéder directement aux // 10 premiers éléments v[ 9 ] = 5; // intitialiser tous les éléments à 100 std::fill( v.begin(), v.end(), 100 ); // vider le tableau v.clear(); // size() == 0 // on va insérer 50 éléments // réserver (allouer) de la place pour au moins 50 éléments v.reserve( 50 ); // véridier que la taille n'a pas bougé (vide) cout << v.size() << '\n'; // capacité du tableau = nombre d'éléments qu'il peut stocker // sans devoir réallouer (modifié grâce à reserve()) cout << v.capacity() << '\n'; // au moins 50, sûrement plus for ( int i = 0; i < 50; ++i ) { // grâce à reserve() on économise de multiples réallocations // du fait que le tableau grossit au fur et à mesure v.push_back( i ); } // afficher la nouvelle taille cout << v.size() << '\n'; // affiche 50 // rechercher l'élément le plus grand (doit être 49) cout << *std::max_element( v.begin(), v.end() ) << '\n'; // tronquer le tableau à 5 éléments v.resize( 5 ); // les trier par ordre croissant std::sort( v.begin(), v.end() ); // parcourir le tableau for ( size_t i = 0, size = v.size(); i < size; ++i ) { // attention : utilisation de l'opérateur [] // les accès ne sont pas vérifiés, on peut déborder ! cout << v[ i ] << '\t'; } cout << '\n';
17 avril 2008 à 15:54
17 avril 2008 à 15:57
je me souviens plus de tout mais il me semble qu'il y avait un truc du genre
sizeof(tonTableau)/sizeof(int) et ca te donne le nombre d'elements dans ton tableau (si il s'agit bien d'un tableau de int)
17 avril 2008 à 16:00
et comment faire pour size si je n'ai qu'un pointeur vers ce tableau.?
13 juin 2011 à 23:15
14 juin 2011 à 01:23
Non, si c'est un pointeur sur le tableau comme elle le dit ta solution ne marchera pas.
En plus de cela, le post date de 3 ans, je doute qu'elle lise la solution ^^.