Exemple

#include <iostream>
int main()
{
float a[10];
for (int i=0; i <10;i++)
{ a[i]=float(i); }
return(0);
}

Note 1

    Les tableaux en C/C++  (Java) commencent obligatoirement a 0.
 
    Commentaire: Cette restriction  complique inutilement  la programmation d'algorithmes numeriques en C/C++

Note 2
 
Contrairement a certains autres langages, les tableaux ne sont jamais passes par valeur en C/C++

Exemple:
 

#define m 20
void initialise(float a[], int n)
//     void initialise(float a[m], int n)   est egalement possible
{
for (int i=0; i <n; i++)  a[i]=1.0;
}
int main()
{
float a[m];
initialise(a,m);
return(0);
}
 
 
 
 

  Il est possible d'allouer dynamiquement de la memoire à un tableau
 
 
 

 

  Les tableaux multidimensionnels

float a[10][20];
for (int i=0; i <10; i++)
{
       for (int j=0; j <20; j++)
      {
       a[i][j]=1.0;
        }
}

Passage d'un tableau multidimensionnel en argument d'une fonction

 
void initialise(float a[][20])
// void initialise(float a[10][20]) est egalement possible.
// Obligatoirement specifier la deuxieme dimension
{
for (int i=0; i <10; i++)
{
       for (int j=0; j <20; j++)
      {
       a[i][j]=0.0;
        }
}
}
int main()
{
float a[10][20]; initialise(a);
return 0;
}
 
 

Dans tous les cas, il n'est pas possible de passer les dimensions du tableau en argument de la fonction. On utilise donc typiquement le préprocesseur:
 

#define n1 10
#define n2 20
void initialise(float a[n1][n2] )
{
// ...
}
 

Drupal 7 Appliance - Powered by TurnKey Linux