Aidez votre ami avec un devoir en C
Résolu
Bonjour les amis, j'ai un petit probleme avec un devoir en C, j'ai fait de mon mieux mais je ne sais pas comment arriver a le faire. La donnee est la suivante:
Écrivez un programme C qui lit un vecteur ou un ajustement de numéros complets positifs de longueur MAX éléments, imprime le mineur, un plus grand élément de l'ajustement et ses positions, ainsi aussi dire si l'ajustement est symétrique, antisimetrique ou majoritaire. Effectuez une fonction pour chaque cas.
Symétrique : c'est un vecteur d'n- éléments où la position i_ésima coïncide avec l'élément qui occupe la position n-i_ésima.
Antisymétrique : c'est un vecteur d'n- éléments où la position i_ésima coïncide avec l'élément qui occupe la position n-i_ésima changé de signe. Majoritaire : c'est un vecteur d'n- éléments où il existe un élément stocké dans le vecteur qui est répété plus de n/2 fois.
Merci pour votre aide, j'espere vous lire bientot.
Att.: JeanJean13
Écrivez un programme C qui lit un vecteur ou un ajustement de numéros complets positifs de longueur MAX éléments, imprime le mineur, un plus grand élément de l'ajustement et ses positions, ainsi aussi dire si l'ajustement est symétrique, antisimetrique ou majoritaire. Effectuez une fonction pour chaque cas.
Symétrique : c'est un vecteur d'n- éléments où la position i_ésima coïncide avec l'élément qui occupe la position n-i_ésima.
Antisymétrique : c'est un vecteur d'n- éléments où la position i_ésima coïncide avec l'élément qui occupe la position n-i_ésima changé de signe. Majoritaire : c'est un vecteur d'n- éléments où il existe un élément stocké dans le vecteur qui est répété plus de n/2 fois.
Merci pour votre aide, j'espere vous lire bientot.
Att.: JeanJean13
A voir également:
- Aidez votre ami avec un devoir en C
- Page de couverture d'un devoir - Guide
- Comment envoyer un devoir oral au cned - Forum Réseaux sociaux
- L'enfer du devoir serie telecharger - Forum Cinéma / Télé
- Serie l'enfer du devoir en francais streaming gratuit - Forum Cinéma / Télé
- Devoir C++ - Forum C++
3 réponses
Je te donne le début car te donner la solution n'est pas une bonne méthode pour que tu apprennes. Tu peux partir de ce squelette :
Une fois que tu auras bien compris comment utiliser les boucles for tu verras que c'est facile. Note que dans chaque fonction on est obligé de passer la taille du vecteur en paramètre car le pointeur int* ne permet pas de connaître la taille du vecteur, juste sa position en mémoire.
Bonne chance
#include <stdlib.h> #include <stdio.h> // Affiche le vecteur int show(int * tab,unsigned int size){ unsigned int i; printf("[ "); for(i=0;i<size;++i){ printf("%d ",tab[i]); } printf("]"); } // Cherche le plus petit élément int min(int * tab,unsigned int size){ unsigned int i; int result = tab[0]; for(i=0;i<size;++i){ if (tab[i]<result) result = tab[i]; } return result; } // Cherche le plus grand élément int max(int * tab,unsigned int size){ // à toi de jouer } //.... int main(){ // Préparer les variables (allocation des tableaux, initialisation...) unsigned int taille1 = 5; int min_tab1,max_tab1; int *tab1=(int *)malloc(taille1*sizeof(int)); tab[0] = 4; tab[1] = 2; tab[2] = 0; tab[3] = 3; tab[4] = -1; // Appeler les fonctions de l'exercice show(tab1,taille1); min_tab1 = min(tab1,taille1); max_tab1 = max(tab1,taille1); printf("min = %d max = %d\n",min_tab1,max_tab1); //... // Libérer la mémoire free(tab1); getchar(); // si tu es sous windows return 0; }
Une fois que tu auras bien compris comment utiliser les boucles for tu verras que c'est facile. Note que dans chaque fonction on est obligé de passer la taille du vecteur en paramètre car le pointeur int* ne permet pas de connaître la taille du vecteur, juste sa position en mémoire.
Bonne chance