Probleme programmation en language c
physicien
-
loupius Messages postés 697 Date d'inscription Statut Membre Dernière intervention -
loupius Messages postés 697 Date d'inscription Statut Membre Dernière intervention -
bonjour
j'ai programmer 2 fonctions , mais je ne sais pas pourquoi y a pas d'erreurs de programmation mais j'optiens aucun resltats a la compilation !
premiere fonction
#include<stdio.h>
#include<stdlib.h>
#include<math.h>
#define dim 100
int main ()
{
int tab[dim],i,z;
int s=0;
for (i=0;i<dim;i++)
{
tab[i]=i+1;
}
z=somme(s);
printf("la somme du tableau est égale a : %d",s);
system("pause");
}
int somme(int tab[]){
int i=0;
int s=0;
for (i=0;i<dim;i++)
{
s=s+tab[i];
}
return(s);
}
Deuxiéme fonction (trouver le minimum de 10 chiffre)
#include<stdio.h>
#include<stdlib.h>
#include<math.h>
#define dim 10
int tri(int tab[]){
int i,min;
min=tab[1];
if (tab[i]>tab[1]){
min=tab[i];
}
else{
min=tab[1];
}
return(min);
}
int main ()
{
int tab[dim],i,z,min;
for (i=0;i<dim;i++){
scanf("%f",&tab[i]);
}
z=tri(min);
printf("le minimum est : %f",min);
system("pause");
}
Merci d'avance
j'ai programmer 2 fonctions , mais je ne sais pas pourquoi y a pas d'erreurs de programmation mais j'optiens aucun resltats a la compilation !
premiere fonction
#include<stdio.h>
#include<stdlib.h>
#include<math.h>
#define dim 100
int main ()
{
int tab[dim],i,z;
int s=0;
for (i=0;i<dim;i++)
{
tab[i]=i+1;
}
z=somme(s);
printf("la somme du tableau est égale a : %d",s);
system("pause");
}
int somme(int tab[]){
int i=0;
int s=0;
for (i=0;i<dim;i++)
{
s=s+tab[i];
}
return(s);
}
Deuxiéme fonction (trouver le minimum de 10 chiffre)
#include<stdio.h>
#include<stdlib.h>
#include<math.h>
#define dim 10
int tri(int tab[]){
int i,min;
min=tab[1];
if (tab[i]>tab[1]){
min=tab[i];
}
else{
min=tab[1];
}
return(min);
}
int main ()
{
int tab[dim],i,z,min;
for (i=0;i<dim;i++){
scanf("%f",&tab[i]);
}
z=tri(min);
printf("le minimum est : %f",min);
system("pause");
}
Merci d'avance
A voir également:
- Probleme programmation en language c
- Application de programmation - Guide
- Mettre en veille un programme - Guide
- Windows display language french - Guide
- Vistalizator language pack windows 7 - Télécharger - Traduction
- Language binaire - Guide
3 réponses
Pour le premier programme.
Je vois une possible erreur :
printf("la somme du tableau est égale a : %d",s);
Ceci n'affiche pas forcément à l'écran.
Pour forcer l'affichage, soit tu le fais explicitement avec fflush.
Soit, plus simplement : printf("la somme du tableau est égale a : %d\n",s);
Le \n correspond au saut de ligne.
Petite correction également : n'oublie pas de mettre le return 0; dans ton main après ton system("pause");
Même remarque pour ton autre programme.
Autres remarques pour le deuxième programme
scanf("%f",&tab[i]);
Tu mets "%f" alors que tes variables sont de type int. Erreur que ton compilateur devrait te signaler. Si tu veux utiliser les nombres flottants, je te conseille d'utiliser double plutôt que float. Auquel cas, il faudra mettre "%lf" (L minuscule).
Même remarque pour ton printf.
Cdlt,
Je vois une possible erreur :
printf("la somme du tableau est égale a : %d",s);
Ceci n'affiche pas forcément à l'écran.
Pour forcer l'affichage, soit tu le fais explicitement avec fflush.
Soit, plus simplement : printf("la somme du tableau est égale a : %d\n",s);
Le \n correspond au saut de ligne.
Petite correction également : n'oublie pas de mettre le return 0; dans ton main après ton system("pause");
Même remarque pour ton autre programme.
Autres remarques pour le deuxième programme
scanf("%f",&tab[i]);
Tu mets "%f" alors que tes variables sont de type int. Erreur que ton compilateur devrait te signaler. Si tu veux utiliser les nombres flottants, je te conseille d'utiliser double plutôt que float. Auquel cas, il faudra mettre "%lf" (L minuscule).
Même remarque pour ton printf.
Cdlt,
Moi j'aurais plutôt écrit:
Bonne continuation.
#include <stdio.h> #define DIM 10 int somme(int tab[]) { int i = 0; int s = 0; for (i=0; i<DIM; i++) s += tab[i]; return(s); } int main (int argc, char* argv[]) { int tab[DIM], i, z; for (i=0; i<DIM; i++) tab[i] = i + 1; z = somme(tab); printf("La somme du tableau est égale à : %d\n", z); system("pause"); return 0; }En demandant au compilateur de faire attention, il t'aurait indiqué ton erreur.
Bonne continuation.