Programme en c
AMONA21
Messages postés
6
Date d'inscription
Statut
Membre
Dernière intervention
-
AMONA21 Messages postés 6 Date d'inscription Statut Membre Dernière intervention -
AMONA21 Messages postés 6 Date d'inscription Statut Membre Dernière intervention -
bonjour, voila j'ai un probleme a resoudre en c j'ai un tableau a de n>2 sans aucun element duplique on cherche 2 elements x et y dans a tel que x+y= 0;
voila le programme que j'ai fait mais sa marche pas je sais pas comment retourner deux valeur par unefonction ,pouvez vous me corriger mon programme merci infiniment
#include<stdio.h>
#include<conio.h>
#include<stdlib.h>
struct MUL
{ int x;
int y;
};
int search( MUL a[] ,int n)
{
int i,j;
for(i=0;i<n-1;i++){
if(a[i]<0){
for(j=i+1;j<n;j++){
if(a[j]==-a[i])
return (i,j);}}
else return (0,0);
}
return (0,0);
}
int main()
{
int a[7]={-5,-4,-1,2,4,5,6};
int j,i;
for(i=0;i<7;i++)
printf("%d",a[i]);
search(*a,7);
for(i=0;i<6;i++)
for(j=i+1;i<7;j++)
printf("les element sont %d, %d :",a[i].x,a[j].y);
for(j=i+1;i<7;j++)
// printf("les element sont %d :",a[j]);
getch();
return 0;
}
voila le programme que j'ai fait mais sa marche pas je sais pas comment retourner deux valeur par unefonction ,pouvez vous me corriger mon programme merci infiniment
#include<stdio.h>
#include<conio.h>
#include<stdlib.h>
struct MUL
{ int x;
int y;
};
int search( MUL a[] ,int n)
{
int i,j;
for(i=0;i<n-1;i++){
if(a[i]<0){
for(j=i+1;j<n;j++){
if(a[j]==-a[i])
return (i,j);}}
else return (0,0);
}
return (0,0);
}
int main()
{
int a[7]={-5,-4,-1,2,4,5,6};
int j,i;
for(i=0;i<7;i++)
printf("%d",a[i]);
search(*a,7);
for(i=0;i<6;i++)
for(j=i+1;i<7;j++)
printf("les element sont %d, %d :",a[i].x,a[j].y);
for(j=i+1;i<7;j++)
// printf("les element sont %d :",a[j]);
getch();
return 0;
}
A voir également:
- Programme en c
- Programme demarrage windows - Guide
- Message programmé - Guide
- Programme word gratuit - Guide
- Télécharger le programme de pmu - Télécharger - Médias et Actualité
- Mettre en veille un programme - Guide
4 réponses
Eh bien déjà il faut remplacer le "return (i,j)" par un retour avec une structure :
struct MUL struct1;
struct1.x = i;
struct1.y = j;
return struct1;
Et puis après il faut récupérer le retour dans le code principal :
struct MUL struct2;
struct2 = search(*a, 7);
Et puis s'en servir :)
...bon en y regardant de plus près en fait il y plusieurs problèmes dans ton code, par exemple ta fonction search prend en paramètre un tableau de MUL, or tu l'appelles avec un tableau d'int, je n'ai pas testé le code mais cela m'étonne que l'exécution passe sans erreur.
struct MUL struct1;
struct1.x = i;
struct1.y = j;
return struct1;
Et puis après il faut récupérer le retour dans le code principal :
struct MUL struct2;
struct2 = search(*a, 7);
Et puis s'en servir :)
...bon en y regardant de plus près en fait il y plusieurs problèmes dans ton code, par exemple ta fonction search prend en paramètre un tableau de MUL, or tu l'appelles avec un tableau d'int, je n'ai pas testé le code mais cela m'étonne que l'exécution passe sans erreur.
mais pourquoi ne fonctionne pas ce programme meme que j'ai utilise la structure il ne retourne aucune valeur et il n'ya aucune erreur de compilation