Probleme d'execution de code sous linux
Résolu
petit_penguin
Messages postés
1
Statut
Membre
-
jisisv Messages postés 3678 Statut Modérateur -
jisisv Messages postés 3678 Statut Modérateur -
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.