IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

C Discussion :

Recherche de maximum dans un vecteur


Sujet :

C

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre à l'essai
    Homme Profil pro
    Ingénieur
    Inscrit en
    Octobre 2018
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 29
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur

    Informations forums :
    Inscription : Octobre 2018
    Messages : 5
    Par défaut Recherche de maximum dans un vecteur
    Bonjour,
    voici un code que je réalise, je veux laisser la possibilité à l'utilisateur d'entré des valeurs dans un vecteur dont il peut choisir la taille.
    Ensuite, je voudrais pouvoir lui dire que la valeur maximale du vecteur est "..."

    Je n'ai pas de message d'erreur pourtant, mon printf("le maximum du vecteur est %d" , maxvect(vect[n],n));
    ne s'affiche pas ..

    voici mon code
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    #include <stdio.h>
     
     
    int maxvect(int vect[], int longueur);
     
    int main()
    {
    	int n;
    	int i;
    	int j;
    	printf("Quelle est la longueur du vecteur? \n");
    	scanf("%d", &n);
    	int vect[n];
    	for(i=0; i < n; i++)
    	{
    		j= i+1;
    		printf("Quelle est la valeur du terme numero %d \n" , j);
    		scanf("%d", &vect[i]);
    	}
     
    	printf("le maximum du vecteur est %d", maxvect(vect[n],n));
    }
     
    int maxvect(int vect[], int longueur)
    {
    	int i;
    	int m;
    	i = 0;
    	m = vect[0];
    	for(i=0; i < longueur; i++)
    	{ if (vect[i] > m )
    	{m = vect[i];}
     
     
     
    	}
    return m;
    }

  2. #2
    Membre Expert Avatar de edgarjacobs
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2011
    Messages
    773
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 65
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Mai 2011
    Messages : 773
    Par défaut
    Hello,
    Ligne 21: pas vect[n] (qui d'ailleurs n'existe pas), mais simplement vect: maxvect(vect,n). Et ton compilateur a dû émettre une warning pour cela. Toujours lire et régler les warnings (et pas à coup de cast, évidemment).

  3. #3
    Membre à l'essai
    Homme Profil pro
    Ingénieur
    Inscrit en
    Octobre 2018
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 29
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur

    Informations forums :
    Inscription : Octobre 2018
    Messages : 5
    Par défaut
    Effectivement il me donnait un warning que je ne comprenais pas.
    Merci de ta réponse, effectivement cela fonctionne bien mieux.
    Si je comprends bien, dans ma fonction:
    maxvect(int vect[], int longueur)
    je définis un vecteur d'entier et un entier longueur et lorsque j'utilise la fonction, je dois uniquement renvoyer à l'adresse de mon vecteur, sa longueur c'est bien ça?

  4. #4
    Rédacteur/Modérateur


    Homme Profil pro
    Network game programmer
    Inscrit en
    Juin 2010
    Messages
    7 147
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : Canada

    Informations professionnelles :
    Activité : Network game programmer

    Informations forums :
    Inscription : Juin 2010
    Messages : 7 147
    Billets dans le blog
    4
    Par défaut
    lorsque j'utilise la fonction, je dois uniquement renvoyer à l'adresse de mon vecteur, sa longueur c'est bien ça
    Kamoulox.
    Quand tu utilises la fonction tu passes les paramètres qu'elle attend.
    Pensez à consulter la FAQ ou les cours et tutoriels de la section C++.
    Un peu de programmation réseau ?
    Aucune aide via MP ne sera dispensée. Merci d'utiliser les forums prévus à cet effet.

  5. #5
    Membre prolifique
    Avatar de Sve@r
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2006
    Messages
    12 827
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Février 2006
    Messages : 12 827
    Billets dans le blog
    1
    Par défaut
    Bonjour
    Citation Envoyé par mathieudvlmnck Voir le message
    je définis un vecteur d'entier et un entier longueur et lorsque j'utilise la fonction, je dois uniquement envoyer à l'adresse de mon vecteur, sa longueur c'est bien ça?
    Quand tu passes le nom d'un tableau à une fonction, cela équivaut pour la fonction à recevoir une adresse (l'adresse du premier élément). Toutefois le compilateur accepte de traduire "adresse du premier élément du tableau" en "tableau".

    Ainsi ta fonction peut s'écrire de cette façon int maxvect(int *vect, int longueur) ou de celle-là int maxvect(int vect[], int longueur). C'est vu comme la même chose et ça peut s'utiliser dans les deux cas de la même façon.

    Accessoirement ta recherche peut faire commencer "i" à 1...
    Mon Tutoriel sur la programmation «Python»
    Mon Tutoriel sur la programmation «Shell»
    Sinon il y en a pleins d'autres. N'oubliez pas non plus les différentes faq disponibles sur ce site
    Et on poste ses codes entre balises [code] et [/code]

  6. #6
    Membre à l'essai
    Homme Profil pro
    Ingénieur
    Inscrit en
    Octobre 2018
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 29
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur

    Informations forums :
    Inscription : Octobre 2018
    Messages : 5
    Par défaut
    Merci de vos réponses, je classe comme résolu pour moi

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. recherche de maximum dans une colonne
    Par anthodub dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 27/06/2011, 15h43
  2. indice du maximum dans un vecteur
    Par born_to_meat dans le forum MATLAB
    Réponses: 2
    Dernier message: 22/04/2011, 14h23
  3. Recherche d'occurrence dans un vecteur
    Par kmaniche dans le forum MATLAB
    Réponses: 3
    Dernier message: 09/01/2011, 15h41
  4. Recherche de maximums dans une matrice
    Par zizi_coin_coin dans le forum MATLAB
    Réponses: 12
    Dernier message: 22/12/2010, 16h07
  5. recherche un élément dans un vecteur trié
    Par jena dans le forum Signal
    Réponses: 5
    Dernier message: 10/12/2008, 12h02

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo