Probleme syntaxe ? [résolu] - C - Programmation
Marsh Posté le 24-09-2013 à 21:36:02
Bonsoir !
Ne cherchez pas très loin, l'erreur doit être ici :
Code :
|
En créant les valeurs comme ça, comment voulez-vous que le compilateur sache quelle taille donner au tableau ?
Refaites votre allocation et cela devrait aller mieux.
Bonne continuation !
Marsh Posté le 24-09-2013 à 21:40:05
Pas trop mal pour un débutant. Il y a juste quelques expressions mal placées dans le code:
Code :
|
À l'endroit où est placé cette déclaration, "n" n'est pas initialisé. Donc peut valoir n'importe quoi, bien qu'en mode débug, ça vaudra probablement 0. Il faut donc placer cette instruction après que "n" soit initialisé, soit donc après :
Code :
|
Pareil pour ces deux lignes :
Code :
|
Quand elles sont appelées, tableau[0] n'est pas initialisé, donc à placer après la boucle d'initialisation.
Marsh Posté le 24-09-2013 à 20:17:53
Bonjour !!
Voila je suis tout nouveau dans la programmation, j'ai commencé il y a seulement 2 jours !
Je m'amuse à réaliser des exercices de débutant mais déjà ici je ne comprends pas quelque chose !!
Je voulais déjà tester avec un petit algorithme tout simple pour me dire la valeur minimal et la valeur maximal d'un tableau.
Cependant malgré cela, la valeur minimal ne change jamais ! et est égale toujours à 0 ! Savez vous pourquoi ? J'ai fais exprès de créer deux "IF" pour être sur que ça ne soit pas un problème de construction d'algorithme.
Merci d'avance des réponses !
Voici mon code :
#include <stdio.h>
#include <math.h>
#include <stdlib.h>
int main()
{
int n,i;
float tableau[n];
float val_min, val_max, etendue;
val_max = tableau[0];
val_min = tableau[0];
printf("Entrer le nombre de valeurs: \n" );
scanf("%d",&n);
for(i=0;i<n;i++)
{
printf("Entrer la valeur reelle : \n" );
scanf("%f",&tableau[i]);
}
for(i=0;i<n;i++)
{
if(tableau[i]<val_min)
{
val_min=tableau[i];
}
if(tableau[i]>val_max)
{
val_max=tableau[i];
}
}
printf("La plus grande valeur est : %.2f et la plus petite valeur est : %.2f\n",val_max, val_min);
system("PAUSE" );
return 0;
}
Message édité par mgm0047a le 24-09-2013 à 23:25:25