begin process at 2012 05 28 19:28:13
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive C/C++

 > 

Archives

 > 

Systeme

 > 

débordement de tableaux en cpp


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

débordement de tableaux en cpp

lundi 6 septembre 2004 à 10:10:05 | débordement de tableaux en cpp

lrocques

Hello,

Je souhaiterais détecter des débordements de tableaux en cpp sous visual-C6. Quels sont les différents outils ou options qui existent pour cela?

Merci.

lrocques
lundi 6 septembre 2004 à 10:51:19 | Re : débordement de tableaux en cpp

DevGizmo

Un outil genial: BoundsChecker, j'utilise que ca tout le temps...!!!

@+
lundi 6 septembre 2004 à 18:36:27 | Re : débordement de tableaux en cpp

magic_Nono

Membre Club
simple tu fais une classe en vérifiant tes allocations / affectations...
en POO, bien proguée, js de PB


Giz> BoundsChecker ne ralentit po trop le sys???
dis ns en plus....


Magic Nono: l'informagicien!
lundi 6 septembre 2004 à 23:56:00 | Re : débordement de tableaux en cpp

kelly

mmmh l'exemple type de question qu'on ne devrait pas avoir a se poser si on programme proprement :)
mardi 7 septembre 2004 à 04:59:46 | Re : débordement de tableaux en cpp

NitRic


Tout à fait mais, si tu as peur de déborder, garde la taille des tes tableaux dans une variable X et tu y fais référence au besoin

Sinon, si tu as plusieurs tableaux de même type par exemple, tu peux très bien utiliser une petite structure dans ce genre:

typedef struct T_MonArray {
int * m_Array;
size_t m_Size;
T_MonArray(){m_Size=0;m_Array=0;}
}MonArray;

MonArray arr;

arr.m_Array = new int[ 100 ]; // 100 éléments
if ( arr.m_Array ) arr.m_Size = 100; // il y à 100 item dedans

for ( index = 0; index < arr.m_Size; index++ ) {

arr.m_Array[ index ] = valeur;
// ...

}

Ou même avec une class comme M. nono à dit ou encore rendre le tout généric et faire un petit template ...


~(.:: NitRic ::.)~
mardi 7 septembre 2004 à 09:15:36 | Re : débordement de tableaux en cpp

magic_Nono

Membre Club
NitRic> ui
petite précision, meme si c'est ds la norme C++,

encore actuellement, pr faire un template, il faut une classe....

++

Magic Nono: l'informagicien!
mardi 7 septembre 2004 à 20:30:25 | Re : débordement de tableaux en cpp

NitRic


template ne va pas obligatoirement avec class

Ce que je voulais dire exactement c'est qu'il pourait ce faire une simple class ou encore un template(class template) pour rendre le tout généric ...



~(.:: NitRic ::.)~
mercredi 8 septembre 2004 à 08:45:11 | Re : débordement de tableaux en cpp

magic_Nono

Membre Club
peux tu donner un exemple ne marchant pas avec des classe

éventuellt fonctionnant sous VC6

Merci

Magic Nono: l'informagicien!
mercredi 8 septembre 2004 à 10:01:23 | Re : débordement de tableaux en cpp

NitRic


un exemple de template sans class !?
demandez et vous receverez qu'il disait

Fait juste pour toi à l'instant même :)

/**************************************************/


#include <iostream>
#include <ctime>
#include <cstdio>
using namespace std;

#define _MAX_ARRAY_SIZE 30
#define _WAIT()\
puts( "Press Enter to continue ...\n" );\
getc( stdin )

template<typename T>
void GenericBubbleSort( T *& array, size_t max_size ) {

T t_val;

for ( size_t i = 0; i < max_size-1; i++ ) {

for ( size_t a = i+1; a < max_size; a++ ) {

if ( array[ a ] < array[ i ] ) {

t_val = array[ i ];
array[ i ] = array[ a ];
array[ a ] = t_val;

}

}

}

}

template<typename T>
void GenericPrintArray( T *& array, size_t max_size ) {

for ( size_t i = 0; i < max_size; i++ )
cout << "Item " << i << ": " << array[ i ] << endl;

}

int main( int argc, char * argv[] ) {

size_t i = 0;
size_t a = 0;
int * int_array = NULL;
double * dbl_array = NULL;
char ** str_array = NULL;

srand( time( NULL ) );

int_array = new int[ _MAX_ARRAY_SIZE + 1 ];
if ( !int_array ) {
cout << "new failed ..." << endl;
return 0;
}

for ( ; i < _MAX_ARRAY_SIZE; i++ )
int_array[ i ] = ( ( rand() % 1234 ) + 1 );

GenericBubbleSort( int_array, i );
GenericPrintArray( int_array, i );

if ( int_array ) delete [] int_array;

_WAIT();

dbl_array = new double[ _MAX_ARRAY_SIZE + 1 ];
if ( !dbl_array ) {
cout << "new failed ..." << endl;
return 0;
}

for ( i = 0; i < _MAX_ARRAY_SIZE; i++ )
dbl_array[ i ] = (double) ( ( rand() % 1234 ) + 1 );

GenericBubbleSort( dbl_array, i );
GenericPrintArray( dbl_array, i );

if ( dbl_array ) delete [] dbl_array;

_WAIT();

str_array = new char *[ _MAX_ARRAY_SIZE + 1 ];
if ( !str_array ) {
cout << "new failed ..." << endl;
return 0;
}

for ( i = 0; i < _MAX_ARRAY_SIZE; i++ ) {

str_array[ i ] = new char[ 26 + 1 ];

for ( a = 0; a < 26; a++ )
str_array[ i ][ a ] = ( 97 + ( (rand() % 25) + 1 ) );

str_array[ i ][ a ] = '\0';

}

for ( i = 0; i < _MAX_ARRAY_SIZE; i++ ) {

GenericBubbleSort( str_array[ i ], 26 );
GenericPrintArray( str_array[ i ], 26 );

if ( str_array[ i ] ) delete [] str_array[ i ];

}

delete [] str_array;

cout << endl << "End ..." << endl << endl << flush;
return 0;

}




/**************************************************/

~(.:: NitRic ::.)~
mercredi 8 septembre 2004 à 10:28:24 | Re : débordement de tableaux en cpp

magic_Nono

Membre Club
k

j'en aV entendu parlé,
je ne saV po que CT implémenté

merci

++

Magic Nono: l'informagicien!


Cette discussion est classée dans : tableaux, cpp, débordement


Répondre à ce message

Sujets en rapport avec ce message

taille maximum tableaux [ par yepla75 ] Hello,Je développe avec Dev-CPP ; dans un programme en C, je devais créer de très gros tableaux (je n'ai plus la taille en tête, malheureusement) => i strcpy et strcpy_s [ par lektrosonic ] bonjour, j'ai ramene mon projet sous visual studio 2005 pro (de dev-cpp) sous dev-cpp j utilisait strcpy..aucun probleme.. alors que la premiere fois Comment utilser les fonctions cap de MSDN sous dev-cpp [ par ptitcon51 ] J'ai un petit problème tout bête.Comment puis-je utiliser toutes les fonctions du genre capCreateCapture() ou capDriverConnect() de MSDN depui dev-cpp cpp + mysql [ par mnel ] Bonjour à tous ...Je suis amené à travailler régulièrment avec des bases de données SQL (langage avec lequel je suis à l'aise) par le biais notemment Dev cpp (Les links) [ par keitaro_59 ] Bonjour tout le monde, alors voilà moi je voudrai juste une petite information concernant  DEV C++, je ne le connais pas tros bien, je voudrais juste Faire une textbox avec opengl dev-cpp [ par sebastienmz ] Bonjour Je cherche depui un bon moment de l'aide pour faire une textbox en opengl. ce que j'aimerais c'est que on puisse voire un simple cadre ou autr Cherche intephace graphique simple [ par yggy ] Salut tlmje cherche une intephace graphique simple avec des bouttons des textbox etc...en C ou Cpp pour dev cpp si quelqu'unpeut m'aider ça serait coo Probleme de compilation Qt avec Dev-cpp [ par julien_boss ] Bonjour, bon le probleme n'est pas que je n'arrive absolument pas à compiler Qt avec dev-cpp. Seulement, à la compilation du tutorial n°7 de la docum Calcul numérique avec Dev cpp [ par ffnajia ] Bonjour à tous,Est ce que c'est possible de faire du calcul numérique avec dev cpp? on peut trouver des solveur pour résoudre des équations différenti help au namespace [ par sam_45 ] Bonjour à tous,Je suis entrains de developper mon premier logiciel en  C++.net où suis debutant. J'ai un problème avec le namespace. je n'arrive pas à


Nos sponsors


Sondage...

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

Photothèque

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 3,167 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales