Précédent
- 1
- 2
Bonjour,
Ton programme est presque parfait.
Je t'apporte les corrections :
En fait tu avais oublié d'initialiser la variable som à 0. De plus comme tu es sur windows et que tu lances le programme en double cliquant (j'imagine) ton programme se referme très vite et tu ne vois pas l'affichage. J'ai donc mis une pause en fin de programme. Par contre, ce n'est plus entièrement portable pour cette dernière ligne (le mieux serait de mettre un double getchar() (le premier pour enlever le '\n' du buffer clavier).
Cdlt,
Ton programme est presque parfait.
Je t'apporte les corrections :
#include <stdio.h>
#include <stdlib.h> /*modification pour la fonction system()*/
int main(void) { /*modification*/
int T[50];
int n, i;
long som;
printf("Dimension du tableau (max.50) : ");
scanf("%d",&n);
/*remlissage du tableau*/
for (i=0; i<n; i++) {
printf("Elément %d : ", i);
scanf("%d", &T[i]);
}
/* Affichage du tableau */
printf("Tableau donné :\n");
for (i=0; i<n; i++)
printf("%d ", T[i]);
printf("\n");
/* Calcul de la somme */
som=0; /*modification*/
for ( i=0; i<n; i++)
som += T[i];
/* affichage du résultat */
printf("Somme de éléments : %ld\n", som);
system("pause");/*modification*/
return 0;
}
En fait tu avais oublié d'initialiser la variable som à 0. De plus comme tu es sur windows et que tu lances le programme en double cliquant (j'imagine) ton programme se referme très vite et tu ne vois pas l'affichage. J'ai donc mis une pause en fin de programme. Par contre, ce n'est plus entièrement portable pour cette dernière ligne (le mieux serait de mettre un double getchar() (le premier pour enlever le '\n' du buffer clavier).
Cdlt,
meciiii fiddy mé le probleme dont tu parle ne m a pas rencontrer avec le programme de somme plutt avec ce programme si dessous la fenetre se ferme dés ke j'entre le dernier element du tableau malgrai ke g pas oublié de mettre systeme("pause")
#include <stdio.h>
#include <stdlib.h>
main()
{
/* Déclarations */
int T[50]; /* tableau donné */
int N; /* dimension */
int I,J; /* indices courants */
/* Saisie des données */
printf("Dimension du tableau (max.50) : ");
scanf("%d", &N );
for (I=0; I<N; I++)
{
printf("Elément %d : ", I);
scanf("%d", &T[I]);
}
/* Affichage du tableau */
printf("Tableau donné : \n");
for (I=0; I<N; I++)
printf("%d ", T[I]);
printf("\n");
/* Effacer les zéros et comprimer : */
/* Copier tous les éléments de I vers J et */
/* augmenter J pour les éléments non nuls. */
for (I=0, J=0 ; I<N ; I++)
{
T[J] = T[I];
if (T[I]) J++;
}
/* Nouvelle dimension du tableau ! */
N = J;
/* Edition des résultats */
printf("Tableau résultat :\n");
for (I=0; I<N; I++)
printf("%d ", T[I]);
printf("\n");
return 0;
system("pause");
}
#include <stdio.h>
#include <stdlib.h>
main()
{
/* Déclarations */
int T[50]; /* tableau donné */
int N; /* dimension */
int I,J; /* indices courants */
/* Saisie des données */
printf("Dimension du tableau (max.50) : ");
scanf("%d", &N );
for (I=0; I<N; I++)
{
printf("Elément %d : ", I);
scanf("%d", &T[I]);
}
/* Affichage du tableau */
printf("Tableau donné : \n");
for (I=0; I<N; I++)
printf("%d ", T[I]);
printf("\n");
/* Effacer les zéros et comprimer : */
/* Copier tous les éléments de I vers J et */
/* augmenter J pour les éléments non nuls. */
for (I=0, J=0 ; I<N ; I++)
{
T[J] = T[I];
if (T[I]) J++;
}
/* Nouvelle dimension du tableau ! */
N = J;
/* Edition des résultats */
printf("Tableau résultat :\n");
for (I=0; I<N; I++)
printf("%d ", T[I]);
printf("\n");
return 0;
system("pause");
}
Précédent
- 1
- 2