Probleme sur mon programme c
Fermé
amar232323
Messages postés
3
Date d'inscription
dimanche 30 août 2020
Statut
Membre
Dernière intervention
31 août 2020
-
31 août 2020 à 02:54
[Dal] Messages postés 6057 Date d'inscription mercredi 15 septembre 2004 Statut Contributeur Dernière intervention 17 mars 2023 - 1 sept. 2020 à 13:18
[Dal] Messages postés 6057 Date d'inscription mercredi 15 septembre 2004 Statut Contributeur Dernière intervention 17 mars 2023 - 1 sept. 2020 à 13:18
A voir également:
- Probleme sur mon programme c
- Ce programme est écrit en python. il construit un mot secret dans une variable mais il ne l'affiche pas. modifiez-le pour qu'il affiche le mot secret. exécutez-le. quel est ce mot secret ? ✓ - Forum Python
- Frequence programme national ✓ - Forum Messagerie
- Programme demarrage windows 10 - Guide
- Ce message d'erreur apparaît sur l'ordinateur d'elena. que peut-on dire du programme gwxux ? - Forum logiciel systeme
- Programme bonjour ✓ - Forum Windows
5 réponses
telliak
Messages postés
3645
Date d'inscription
mercredi 20 septembre 2006
Statut
Membre
Dernière intervention
24 novembre 2022
872
31 août 2020 à 03:00
31 août 2020 à 03:00
Salut,
Quel problème ?????
Quel problème ?????
amar232323
Messages postés
3
Date d'inscription
dimanche 30 août 2020
Statut
Membre
Dernière intervention
31 août 2020
31 août 2020 à 03:14
31 août 2020 à 03:14
le code blocks ma donne un probleme de cesse de fonctionner
Dalfab
Messages postés
703
Date d'inscription
dimanche 7 février 2016
Statut
Membre
Dernière intervention
1 mars 2023
100
31 août 2020 à 07:55
31 août 2020 à 07:55
Bonjour,
Un code, ça doit être posté entre les balises (il faut utiliser la flèche à droite du bouton [<>] et choisir
Il faut aussi indiquer précisément le ou les erreurs que tu obtiens avec quelques marques de politesse nous ne somme pas des machines.
Il faut aussi nous fournir le code complet. Si c'est le cas ici, ton code n'a pas de sens, le code ne peut se dérouler qu'à l'intérieur de fonctions. Il y a toujours la fonction
Cordialement
Un code, ça doit être posté entre les balises (il faut utiliser la flèche à droite du bouton [<>] et choisir
c).
Il faut aussi indiquer précisément le ou les erreurs que tu obtiens avec quelques marques de politesse nous ne somme pas des machines.
Il faut aussi nous fournir le code complet. Si c'est le cas ici, ton code n'a pas de sens, le code ne peut se dérouler qu'à l'intérieur de fonctions. Il y a toujours la fonction
main()qui doit contenir le code principal et surement d'autre fonctions à créer.
Cordialement
mounder_naili
Messages postés
1
Date d'inscription
lundi 31 août 2020
Statut
Membre
Dernière intervention
31 août 2020
31 août 2020 à 12:19
31 août 2020 à 12:19
j'ai le meme problème moi aussi quand j'exécute le programme le compilateur reste noir et ne donne rien !
Phil_1857
Messages postés
1686
Date d'inscription
lundi 23 mars 2020
Statut
Membre
Dernière intervention
14 mars 2023
159
31 août 2020 à 11:47
31 août 2020 à 11:47
Ca veut dire quoi :
le code blocks ma donne un probleme de cesse de fonctionner
?????
le code blocks ma donne un probleme de cesse de fonctionner
?????
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
[Dal]
Messages postés
6057
Date d'inscription
mercredi 15 septembre 2004
Statut
Contributeur
Dernière intervention
17 mars 2023
1 043
Modifié le 1 sept. 2020 à 13:18
Modifié le 1 sept. 2020 à 13:18
Bonjour amar232323,
Alors, si je mets le code posté dans un fichier .c avec une fonction main :
que je le compile avec gcc :
j'ai un message d'avertissement qui indique que le tableau T n'est pas utilisé. Donc, tu mets des valeurs dans T, mais tu n'en fais rien.
puis si j'exécute, j'ai un plantage avec une exception, qui est peut être similaire à ce que tu constates aussi de ton côté :
si j'exécute le programme avec valgrind, il me dit, plus précisément :
Valgrind nous dit que :
Dal
Alors, si je mets le code posté dans un fichier .c avec une fonction main :
#include <stdio.h>
int main(void) {
int i=0; int j=0;
int Num[999];
for(i=0;i<999;i++) {
Num[i]=i;
}
//num impair
int Tab[5][4];
for(i=0;i<5;i++) {
for(j=0;j<4;j++) {
if (Num[i]%2!=0){
Tab[i][j]= Num[i];
}}}
int T[20]; int k; int count=0;
for(i=0;i<5;i++) {
for(j=0;j<4;j++) {
count++;
while(k<20){
if (Tab[i][j]%k!=0){
T[count]= Tab[i][j];
}k++;
}k=0;}
}
//print T
printf("T[20]:\n");
for(i=0;i<20;i++) {
printf("T[%d], ",i);
}
printf("\n");
printf("\n");
//print Tab
printf("Tab[4][5]:\n");
for(i=0;i<5;i++) {
for(j=0;j<4;j++) {
printf("%d ",Tab[i][j]);
if (j==2){
printf("\n");
} }
}
printf("\n");
printf("\n");
//printf("%d ",)
return 0;
}
que je le compile avec gcc :
$ gcc -Wall -g 36829379.c
36829379.c: In function ‘main’:
36829379.c:18:6: warning: variable ‘T’ set but not used [-Wunused-but-set-variable]
int T[20]; int k; int count=0;
^
j'ai un message d'avertissement qui indique que le tableau T n'est pas utilisé. Donc, tu mets des valeurs dans T, mais tu n'en fais rien.
puis si j'exécute, j'ai un plantage avec une exception, qui est peut être similaire à ce que tu constates aussi de ton côté :
$ ./a.out Exception en point flottant
si j'exécute le programme avec valgrind, il me dit, plus précisément :
$ valgrind ./a.out ==8826== Memcheck, a memory error detector ==8826== Copyright (C) 2002-2017, and GNU GPL'd, by Julian Seward et al. ==8826== Using Valgrind-3.14.0 and LibVEX; rerun with -h for copyright info ==8826== Command: ./a.out ==8826== ==8826== Conditional jump or move depends on uninitialised value(s) ==8826== at 0x109261: main (36829379.c:23) ==8826== ==8826== ==8826== Process terminating with default action of signal 8 (SIGFPE) ==8826== Integer divide by zero at address 0x100400201F ==8826== at 0x10922B: main (36829379.c:24) ==8826== ==8826== HEAP SUMMARY: ==8826== in use at exit: 0 bytes in 0 blocks ==8826== total heap usage: 0 allocs, 0 frees, 0 bytes allocated ==8826== ==8826== All heap blocks were freed -- no leaks are possible ==8826== ==8826== For counts of detected and suppressed errors, rerun with: -v ==8826== Use --track-origins=yes to see where uninitialised values come from ==8826== ERROR SUMMARY: 1 errors from 1 contexts (suppressed: 0 from 0) Exception en point flottant
Valgrind nous dit que :
- en ligne 23 où tu as
while(k<20){tu fais dépendre la sortie de boucle dek
, que tu n'as pas initialisé, et qui peut donc valoir n'importe quoi - en ligne 24, dans mon cas,
k
semble valoir0
(il peut valoir n'importe quoi, car il n'est pas initialisé), etTab[i][j]%k
tente de renvoyer le reste de la division entière par zéro, ce qui provoque l'exception.
Dal