Soucis d'allocation dynamique en Borland C++
djoly
Messages postés
2
Date d'inscription
Statut
Membre
Dernière intervention
-
djoly Messages postés 2 Date d'inscription Statut Membre Dernière intervention -
djoly Messages postés 2 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
J'ai écrit des programmes en C/DOS que je souhaite traduire en Borland C++ builder 6.0.
Dans la mesure où je travaille en analyse spatiale (climatologie), j'ai besoin de mémoriser de
grosses matrices de données à 2 dimensions (MNT, images de télédétection par exemple).
J'ai un pb relatif à l'allocation dynamique de matrices à 2 dimensions. En C/DOS, voici la manière
que j'utilise pour réservezr la mémoire nécessaire dans le tas éloigné :
___________________________________________________________
#include <alloc.h>
int far **d2;
int NoL, NoC, k;
main()
{
d2=farcalloc(NoL, sizeof(int*)); /*NoL=Nombre de Lignes de la matrice */
for(k=0; k<NoL; k++)
{
d2[k]=farcalloc(NoC, sizeof(int)); /*NoL=Nombre de Colonnes de la matrice */
}
}
___________________________________________________________
Quelle pourrait etre la traduction de cela en Borland C++ ?
Merci d'avance de votre aide.
"Svissen"
J'ai écrit des programmes en C/DOS que je souhaite traduire en Borland C++ builder 6.0.
Dans la mesure où je travaille en analyse spatiale (climatologie), j'ai besoin de mémoriser de
grosses matrices de données à 2 dimensions (MNT, images de télédétection par exemple).
J'ai un pb relatif à l'allocation dynamique de matrices à 2 dimensions. En C/DOS, voici la manière
que j'utilise pour réservezr la mémoire nécessaire dans le tas éloigné :
___________________________________________________________
#include <alloc.h>
int far **d2;
int NoL, NoC, k;
main()
{
d2=farcalloc(NoL, sizeof(int*)); /*NoL=Nombre de Lignes de la matrice */
for(k=0; k<NoL; k++)
{
d2[k]=farcalloc(NoC, sizeof(int)); /*NoL=Nombre de Colonnes de la matrice */
}
}
___________________________________________________________
Quelle pourrait etre la traduction de cela en Borland C++ ?
Merci d'avance de votre aide.
"Svissen"
A voir également:
- Soucis d'allocation dynamique en Borland C++
- Tableau croisé dynamique - Guide
- Borland database engine - Télécharger - Édition & Programmation
- Exemple tableau croisé dynamique télécharger - Télécharger - Tableur
- Liste déroulante dynamique excel - Guide
- Borland pascal - Télécharger - Édition & Programmation
1 réponse
/*
*
* Voici une petite fonction qui pourais t'être pratique.
*
*/
#include <stdlib.h>
short alloc_matrix(int **ptr_table, int height, int weight);
int main(){
int table **table;
alloc_matrix(table,4,5);
*(*(table+2)+2)=3; // equal to : table[2][2]=3;
return 0;
}
short alloc_matrix(int **ptr_table, int height, int weight){
int **my_table, count1, count2;
my_table=malloc(sizeod(int)*height);
for(count1=0;count1<height;count1++){
*(my_table+count1)=(int *)malloc(sizeof(int)*weight);
}
for(count1=0;count1<height;count1++){
for(count2=0;count2<weight;count2++){
*(*(my_table+count1)+count2)=0x0;
}
}
ptr_table=my_table;
return 0;
}
// Bonne chance
// josch83
*
* Voici une petite fonction qui pourais t'être pratique.
*
*/
#include <stdlib.h>
short alloc_matrix(int **ptr_table, int height, int weight);
int main(){
int table **table;
alloc_matrix(table,4,5);
*(*(table+2)+2)=3; // equal to : table[2][2]=3;
return 0;
}
short alloc_matrix(int **ptr_table, int height, int weight){
int **my_table, count1, count2;
my_table=malloc(sizeod(int)*height);
for(count1=0;count1<height;count1++){
*(my_table+count1)=(int *)malloc(sizeof(int)*weight);
}
for(count1=0;count1<height;count1++){
for(count2=0;count2<weight;count2++){
*(*(my_table+count1)+count2)=0x0;
}
}
ptr_table=my_table;
return 0;
}
// Bonne chance
// josch83
Cordialement