Langage c

Fermé
njlllll - 3 mai 2010 à 23:19
Emmanuel Delahaye Messages postés 107 Date d'inscription jeudi 18 juin 2009 Statut Membre Dernière intervention 17 juillet 2019 - 5 mai 2010 à 09:37
salut à tout
SVP j'ai un tableau a 2 dimensions et je veux faire un code permettant de calculer la somme de chaque colonne
et aussi je veux savoir et ce qu'on peut faire une boucle quie débute apartir des colonne(c'est à dire la 1 ere boucle pert la naviguation dans les colonne et la deuxieme dans les ligne )
SVP essayez de me comprendre car j'ai trouver que c'est déficile pour expliquer mon probléme merci bien pour votre compréhention
A voir également:

2 réponses

{psycho.} Messages postés 101 Date d'inscription mardi 22 décembre 2009 Statut Membre Dernière intervention 4 septembre 2010 8
Modifié par {psycho.} le 4/05/2010 à 01:12
En C, il n'est pas possible de naviguer dans un tableau en utilisant les colonnes dudit tableau comme premier index. Si tu as absolument besoin de traiter ton tableau de cette manière, tu peux toujours changer la manière de ranger tes valeurs de ton tableau, de manière à ce que tes lignes deviennent tes colonnes, et ainsi de suite. (je me permettrai tout de même de rappeler qu'il n'y a pas de "lignes" et de "colonnes" en mémoires, mais que c'est l'arithmétique des pointeurs qui nous permet cette représentation).
En attendant, voici une petite fonction qui te permettra d'afficher la somme de chaque "colonne" d'un tableau d'entiers passé en paramètre. Cette fonction n'est bien entendu valable que si chaque ligne de ton tableau possède le même nombre de colonnes.

void  arraySum(int **array) 
{ 
int    line, col, sum; 

col = -1; 
while (array[0][++col])  // pour chaque colonne du tableau 
{ 
  sum = 0;                      // on initialise la somme 
  line = -1;                      // et le compteur de lignes 
  while (array[++line])   // pour chaque ligne 
    sum += array[line][col];   /* on ajoute la valeur de la "col"ième case de la ligne à la somme. */ 
  printf("Somme de la colonne %d : %d\n", col, sum);   // puis on affiche. 
} 

Vince / {psycho.}
0
Emmanuel Delahaye Messages postés 107 Date d'inscription jeudi 18 juin 2009 Statut Membre Dernière intervention 17 juillet 2019 7
5 mai 2010 à 09:37
Oui, bien sûr, c'est possible. Il faut choisir les bonnes boucles et les bons indices. Plutôt que de nommer les indices i et j, ce qui est assez abstrait, je propose de les nommer l et c ou il et ic, comme 'indice de ligne et indice de colonne. Ça rend le code tout de suite plus clair ...
0