Se connecter avec
S'enregistrer | Connectez-vous

Reduire les coefficients d'un tableau en utilisant un code en language C

Dernière réponse : dans Programmation

Salut,

Je suis entrain d'ecrire un petit code en language C, pour reduire les elements dans un tableau, et j'aimerai demander si quelqu'un(e) peut me dire si ces quelques lignes sont plus ou moins correct!

// le but de ce code est de reduire le nombre de coeffiecients
int HP1[32];// le tableau des coefficients
int C[32];
for(y = 0; y<32,y++){ // un for loop qui traverse les elements contenus dans le tableau HP1
if HP1[y] <= 1; // on verifie si l’element en question est <= 1
HP1[y] = = 0; // si c le cas donc annulle l’element
for ( k = 0; k<32; k++){ // place le reste des elements dans un nouveau tableau
C [k]= HP1[y];
}

merci d'avance!
Lassé par la pub ? Créez un compte

merci pour la reponse
au fait ce que je cherche a faire est de reduire les nombre de coefficients dans un tableau. Par example si dans un tableau il ya dles nombres qui ont une valeur <=1 , je souhaite reduire a zero ces nombres

juste un petit example de mon idée
HP1[] = { 1,3,4,-5,7,-4,-1};
donc dans ce tableau je serais juste interesse par
C[] = {3,4,7};
de cette maniere j'ai juste recuperer les coefficients qui m'interessent!!

// le but de ce code est de reduire le nombre de coeffiecients
int HP1[32];
for(y = 0; y<32,y++){ // un for loop qui traverse les elements contenus dans le tableau Hp1
if HP1[y] <= 1 // on verifie si l’element en question est <= 1
HP1[y]=0; // si c le cas donc annulle l’element
for ( k = 0; k<32; k++){ // place le reste des elements dans un nouveau tableau
C [k]= HP1[y];
}

Pensez vous que mon code marchera?

int HP1[32];
for(y = 0; y<32,y++){
if HP1[y] <= 1
HP1[y]=0;
for ( k = 0; k<32; k++){
C [k]= HP1[y];
--il manque un } pour fermer le deuxième for
}

Voilà ce que fait ton programme
Tu testes HP1 pour chaque élément
Si l'élément est <=1 tu le mets à 0
Tu copies dans les 32 "cases" de C, la valeur de HP1[y]

Donc en gros, non ça ne fait pas du tout ce que tu veux
Je ferai plutôt ('tain, ça fait trop longtemps que je n'ai pas fait de C, j'ai perdu la syntaxe. Donc à toi de traduire en C) :
for(y = 0; y<32,y++){
if HP1[y] <= 1 {
ajouter à C la valeur HP[y]
}
}

Attention, ton tableau C a des chances d'être moins "long" que HP. Mais comme il est défini à 32 au démarrage, tu vas avoir des valeurs invalides.
Il vaudrait mieux passer par une liste, ou alors un tableau dynamique
Lassé par la pub ? Créez un compte
Tom's guide dans le monde