begin process at 2012 05 27 21:03:47
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

.Net

 >  TRAITEMENT DE TABLEAU AVEC ALLOCATION & RESTITUTIONN DE MEMOIRE

TRAITEMENT DE TABLEAU AVEC ALLOCATION & RESTITUTIONN DE MEMOIRE


 Information sur la source

Note :
Aucune note
Catégorie :.Net Niveau :Débutant Date de création :12/06/2003 Date de mise à jour :12/06/2003 15:24:44 Vu :3 314

Auteur : kelsey

Ecrire un message privé
Commentaire sur cette source (5)
Ajouter un commentaire et/ou une note

 Description

Ce code permet d'allouer un tableau en memoire, de la remplir d'afficher le contenu par position et restitue la memoire aprés l'utilisaion! un peu legers mais j'attends des suggestions pour qu'il soit plus complet

Source

  • #include<stdio.h>
  • #include<conio.h>
  • #include<stdlib.h>
  • #include<math.h>
  • #include<alloc.h>
  • #include <iostream.h>
  • long *Pt_tableau;
  • int Nb_max;
  • int Choix_taille()
  • {
  • int L_Nb_max;
  • cout<<" Veuillez indiquer la taille du tableau : \n";
  • cin >>L_Nb_max;
  • return(L_Nb_max);
  • }
  • void Allouer(int L_Nb_max)
  • {
  • Pt_tableau=(long*)malloc((L_Nb_max*4)) ;
  • }
  • void Ecrire( int L_position,float L_valeur)
  • {
  • *(Pt_tableau+L_position)= L_valeur;
  • }
  • float Lire(int L_position )
  • {
  • float valeur;
  • valeur=*(Pt_tableau+(L_position));
  • return(valeur);
  • }
  • void Affichage()
  • {
  • int indice=0;
  • float valeur;
  • for(indice=0;indice<Nb_max;indice++)
  • {
  • valeur=Lire(indice);
  • cout<<"\nValeur n"<<indice;
  • cout<<" : "<<valeur;
  • }
  • }
  • void main()
  • {
  • int position=0;
  • float valeur=0.0;
  • float valeur_lue=0.0;
  • Nb_max=Choix_taille();
  • Allouer(Nb_max);
  • for(position=0;position<Nb_max;position++)
  • {
  • cout<< "\nveuillez donner une valeur : ";
  • cin>> valeur;
  • Ecrire(position,valeur);
  • }
  • cout<< "\n\nDonnez la position de la valeur a lire dans le tableau : ";
  • cin >>position;
  • if(position>Nb_max)
  • {
  • cout<<"\nERREUR : FORMAT DEPASSE";
  • }
  • else
  • {
  • valeur_lue=Lire((position-1));
  • cout<<"\nLa valeur lue est : "<<valeur_lue;
  • }
  • Affichage();
  • //suppression du tableau et restitution de la place en memoire
  • delete (Pt_tableau);
  • getch();
  • }
#include<stdio.h>
#include<conio.h>
#include<stdlib.h>
#include<math.h>
#include<alloc.h>
#include <iostream.h>

long *Pt_tableau;
int Nb_max;

int Choix_taille()
{
        int L_Nb_max;

        cout<<" Veuillez indiquer la taille du tableau : \n";
        cin >>L_Nb_max;

        return(L_Nb_max);
}

void Allouer(int L_Nb_max)
{

       Pt_tableau=(long*)malloc((L_Nb_max*4)) ;

}



void Ecrire( int L_position,float L_valeur)
{

        *(Pt_tableau+L_position)= L_valeur;

}

float Lire(int L_position )
{

        float valeur;
        valeur=*(Pt_tableau+(L_position));

        return(valeur);
}


void Affichage()
{
    int indice=0;
    float valeur;
        
    for(indice=0;indice<Nb_max;indice++)
    {
        valeur=Lire(indice);
        cout<<"\nValeur n"<<indice;
        cout<<" :  "<<valeur;

    }
}

void main()
{

        int position=0;
        float valeur=0.0;
        float valeur_lue=0.0;


        Nb_max=Choix_taille();

        Allouer(Nb_max);

         for(position=0;position<Nb_max;position++)
        {
                cout<< "\nveuillez donner une valeur : ";
                cin>> valeur;
                Ecrire(position,valeur);
        }


        cout<< "\n\nDonnez la position de la valeur a lire dans le tableau : ";
        cin >>position;

        if(position>Nb_max)
        {
                cout<<"\nERREUR : FORMAT DEPASSE";
        }
        else
        {
                        valeur_lue=Lire((position-1));
                        cout<<"\nLa valeur lue est :   "<<valeur_lue;

        }
        Affichage();

        //suppression du tableau et restitution de la place en memoire

        delete (Pt_tableau);


        getch();

}










 Sources du même auteur

MULTIPLICATION DE DEUX MATRICES EN C
RÉECRIT UN TEXTE A L'ENVERS
TRI A BULLE EN C
CAPTURE ET DESENCAPSULATION DE TRAMES SUR LE RÉSEAU

 Sources de la même categorie

Source avec Zip Source avec une capture ANALYSEUR LEXICAL par Donald180v
Source avec Zip Source avec une capture MAP_MAKER_JEU par seekplus
Source avec Zip Source avec une capture Source .NET (Dotnet) EMISSION D'UN OCTET SUR LE PORT SÉRIE - CLASSE SERIALPORT par jmchatelet01
Source avec Zip Source .NET (Dotnet) RESOLV EQU DE DEGRES N par darckangel731
Source avec Zip Source avec une capture Source .NET (Dotnet) INTEROP XCHAT / .NET : CHARGEUR DE PLUGINS MANAGÉS par TeBeCo

Commentaires et avis

Commentaire de JCDjcd le 12/06/2003 18:04:45

ATTENTION :
" *(Pt_tableau+L_position)= L_valeur; "
- les types sont differents !


Commentaire de kelsey le 12/06/2003 18:13:12

ben non puisque valeur est un int et que *(Pt_tableau+L_position) est un pointeur sur entier, ce pointeur renvoit un entier!!

Commentaire de JCDjcd le 12/06/2003 18:14:55

- le teste du malloc ?
- le #include &lt;alloc.h&gt; est initule
- au lieur de faire " *(Pt_tableau+L_position)= L_valeur; " tu devrait plutot faire : "Pt_tableau[L_position] ) L_valeur;"
- "malloc((L_Nb_max*4))" n'est pas bien, car si tu vas sur un ancien ordinateur 16 bits il ne faut pas faire "*4" mais "*2" !
Donc fais plutot "malloc((L_Nb_max*sizeof(long)))" (portabilite valable sue tout les ordinateurs)
- Pour la onction 'Lire' fais directement
'return *(Pt_tableau+(L_position));' , c'est plus direct
- Dans 'Affichage' tu initialises 2 fois 'indice' !
- tu testes "position&gt;Nb_max", et si je tape -10 !!!
tu devrais faire : "position&gt;Nb_max && position &lt;= 0"
- Pourquoi faire des globales !! Il faut eviter de toujours mettre des globales ... (des fois c'est neccessaire)

Commentaire de JCDjcd le 12/06/2003 18:16:27

Reponse au second message:
valeur est un 'float'

Commentaire de kelsey le 12/06/2003 18:17:11

Oui coach!! je ferai de mon mieux!
;p

 Ajouter un commentaire




Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

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 : 0,499 sec (4)

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