Probleme d'execution de code sous linux
Résolu
petit_penguin
Messages postés
1
Date d'inscription
Statut
Membre
Dernière intervention
-
jisisv Messages postés 3645 Date d'inscription Statut Modérateur Dernière intervention -
jisisv Messages postés 3645 Date d'inscription Statut Modérateur Dernière intervention -
salut
je suis nouveau sous linuxmint ,$
j'ai executer mon code avec ./a.out il m'a executer que la fonction "main" il a pas fait l'appelle aux fonctions de remplissage de deux tableaux et voilà le code:
Merci d'avance..!?
je suis nouveau sous linuxmint ,$
j'ai executer mon code avec ./a.out il m'a executer que la fonction "main" il a pas fait l'appelle aux fonctions de remplissage de deux tableaux et voilà le code:
#include <stdio.h> #include <stdlib.h> int remplir1 (int *A,int n); int remplir2 (int *B,int m); int main(int argc,char* argv[]) { int n,m,i,j ; scanf("%d",&n); scanf("%d",&m); int A[n+m],B[m]; int remplir1 (int *A,int n); int remplir2 (int *B,int m); return 0; } //corps de la fonction int remplir1 (int *A,int n) { int i; for(i=0;i<n;i++) { scanf("%d",&A[i]); } return *A; } int remplir2 (int*B,int m) { int j; for(j=0;j<m;j++) { scanf("%d",&B[j]); } return *B; }
Merci d'avance..!?
EDIT : Ajout des balises de code (la coloration syntaxique).
Explications disponibles ici : ICI Merci d'y penser dans tes prochains messages. |
A voir également:
- Probleme d'execution de code sous linux
- Code ascii - Guide
- Code de déverrouillage oublié - Guide
- Code puk bloqué - Guide
- Code activation windows 10 - Guide
- Code blocks - Télécharger - Langages
2 réponses
Bonjour,
Il y a eu des erreurs à la compilation, le compilateurs a dû t'indiquer que les les lignes 11 et 12 sont incorrectes.
Pour appeler une fonction, on doit lui passer des paramètres.
Il y a eu des erreurs à la compilation, le compilateurs a dû t'indiquer que les les lignes 11 et 12 sont incorrectes.
Pour appeler une fonction, on doit lui passer des paramètres.
int main() { int n , m; scanf( "%d" , &n ); scanf( "%d" , &m ); int ta[n+m] , tb[m]; remplir1( ta , n ); remplir2( tb , m ); return 0; }
Pourquoi deux fonctions aux corps fonctionnellement identiques remplir1, remplir2 ?
m et
La déclaration int A[n+m],B[m]; n'a pas de sens en C. Il faut définir un array statique ou faire de l'allocation dynamique.
m et
#include <stdio.h> #include <stdlib.h> #include <string.h> #include <errno.h> void remplir (int *A,int n); int main(int argc,char* argv[]) { int n,m ; int *A, *B; puts("Taille tableau A: "); scanf("%d", &n); puts("Taille tableau B: "); scanf("%d", &m); A = calloc(n, sizeof(int)); if ( !A ) { perror(strerror(errno)); return EXIT_FAILURE; } B = calloc(n, sizeof(int)); if ( !B ) { perror(strerror(errno)); return EXIT_FAILURE; } remplir (A, n); remplir (B, m); return EXIT_SUCCESS; } //corps de la fonction remplir void remplir (int *A,int n) { int i; for(i=0 ;i<n; i++) { printf("Elément[%d]: ", i); scanf("%d", A + i); } }
La déclaration int A[n+m],B[m]; n'a pas de sens en C. Il faut définir un array statique ou faire de l'allocation dynamique.