Cette chaine est dédié à la diffusion de la connaissance en informatique. Les thèmes abordées vont des réseaux, l'administration système, la programmation, Linux, ...
Je n'ai pas compris ce que veut dire ce pouce up mais la playlist sur les arguments sur la ligne de commande est la ru-vid.com/group/PLyu2y12z4wMH8DmKAlBg0xbW5T9FnNq_t&si=pwiUhjBit457mxeU
Très pédagogique comme d'habitude ❤❤❤ L'alias peut être le même que le nom de la structure (cest comme ça que font les paresseux qui évitent de taper struct...😅)
Bonsoir Cheikh Tidiane, la videos a echappé mais la playlist sera disponible en entier demain ici ru-vid.com/group/PLyu2y12z4wMHEdaOTO0JR3dDKXRNgGrOn Bonne continuation
bonjour, pour extraire le dernier champ contenant des parenthèses (sans les afficher), je propose: awk '/.)$/ {print $NF}' nobels.txt | tr -d '()' OU en une seule commande sed -n 's/.*(\(.*\)) *$/\1/p' nobels.txt
Salut professeur. Excusez-moi pour le dérangement. J'ai un petit souci concernant la fonction 'charger-fichier-liste'. Je voudrais savoir est-ce qu'on a la possibilité de faire LISTE_LIVRE charger-fichier-liste(char *nomfichier) ??? Merci d'avance pour votre disponibilité 🤝
Salut prof concernant la fonction major , est ce qu'on a la possibilité de mettre : Struct maillon_etudiant major (Struct maillon_etudiant * têteliste, int notemax){ notemax=0; Struct maillon_etudiant P= L; while(P!=NULL){ if(P-->note > notemax) notemax= P-->note; P= P-->suiv; } return notemax ; }
Bonjour M. Nguirane, par rapport à la specification de la question dans l'exercice non. Premièrement, il est demandé de retourner un pointeur vers le maillon correspondant. Le type de retour est Struct maillon_etudiant * qui est le type d'une adresse donc le type d'un pointeur. Deuxièmement, lorsque tu mets notemax comme parametre de la fonction et que tu fais notemax=0, cela suppose que c'est un parametre de sortie (sa valeur modifiée dans la fonction doit être conservée après la fonction). Hors il est passé par valeur donc ce n'est pas correct en plus du fait que cela ne respecte pas la consigne de l'exercice. Troisièmement Struct maillon_etudiant est de type structure et non un type pointeur sur une structure. La consequence est que les instructions suivantes sont invalides Struct maillon_etudiant P= L; /* L n'existe pas, je suppose que c'est teteliste que tu voulais dire dans ce cas P et L n'ont pas le même type (l'un est un enregistrement et l'autre un pointeur)*/ P-->note // invalide car l'operateur fleche s'applique aux pointeurs sur des structures. Tu devrais ecrire P.note mais cela ne respecte pas l'exercice. La version corrigée struct maillon_etudiant * major (Struct maillon_etudiant * têteliste){ struct maillon_etudiant *P= teteliste; // pointeur de parcours struct maillon_etudiant *etudiantMajor = teteliste; // pointeur pour garder le major // Parcours de la liste chainee while(P!=NULL){ if(P-->note > etudiantMajor-->note ) // comparaison de la valeur du maillon actuel avec le major trouvé etudiantMajor= P; // deplacement du pointeur vers le nouveau major P= P-->suiv; } return etudiantMajor ; // retourner un pointeur vers le maillon max }
Bonjour Prof ! Je découvre tout juste votre chaine. Alors, j'ai pu écrire un code un peu plus général qui peut prendre autant de noms qu'on y entre. printf("Bonjour "); for (int i = 1; i < argc; i++) { printf("%s ", argv[i]); } On peut faire: .\bonjour.exe Aline Sitoe Diatta .\bonjour.exe Mame Diarra Bousso Diatta Cisse Merci pour vos vidéos qui sont très claires!
Bonjour mon cher. Quel Papa Samba Kamara ? Mon grand ami du primaire de l'ecole Mor Fall ? Si oui envoies moi mail stp on s'echange nos numeros. Maissa.mbaye[arobase]ugb[point]edu[point]sn. Au plaisir de te lire
Bonjour, Quelle forme voyez vous ? Le programme est assez large. En général plus c'est ciblé plus c'est efficace. Donc n'hésitez à préciser une thématique ou vous avez des difficultés.
@@maissambaye bonsoir, je pense notre c comment passer d'un fichier existant l'ouvrir et charger le tableau d'enregistrement ou charger la liste chaînée et des manipulation de TabVers Liste. Bon pour être plus précise comme l'exercice 1et 2 de rattrapage annulé et aussi celui de l'examen du première session la où il ya le tableau d'enregistrement
@@daoudasene2209 Dans ce cas avez vous vu ces videos ? ru-vid.com/video/%D0%B2%D0%B8%D0%B4%D0%B5%D0%BE-dqqbZOCeFkk.html ru-vid.com/video/%D0%B2%D0%B8%D0%B4%D0%B5%D0%BE-7LRZi9LvtXg.html Plus généralement, il y a une playlist complète sur les fichiers ru-vid.com/group/PLyu2y12z4wMGEZdYfTbbvtvOQWZg164se Et sur les listes chainées ru-vid.com/video/%D0%B2%D0%B8%D0%B4%D0%B5%D0%BE-vMnXE1UUdEo.html
@@maissambaye j'ai regardé toutes les vidéos mais il ya un changement et moi ce que je ne comprends op c quand on nous dit une fonction permettant de lire et changer ??cette fonction doit prendre quoi en argument ??
@@daoudasene2209 Pour connaitre les arguments d'une fonction, soit l'exercice le précise, soit ce n'est pas le cas et il faut vous poser la question : de quelles informations ai-je besoin pour faire le traitement. Indépendamment de l'exercice dont vous parlez, voila quelques exemples de prototype pour le chargement conduisant au même résultat : avoir les données du fichier dans une liste. Exemple 1 (renvoie de la liste et fichier en parametre) MAILLON_LISTE * charger(char * nomFichier); /* Le nom du fichier est passé en argument et ouvert dans la fonction. La structure de données créée est allouée dynamiquement à l'intérieur de la fonction et renvoyée. Cette méthode est utilisée dans la Fonction initialisation ici ru-vid.com/video/%D0%B2%D0%B8%D0%B4%D0%B5%D0%BE-dqqbZOCeFkk.html et le corps du chargement est dans la fonction main ici ru-vid.com/video/%D0%B2%D0%B8%D0%B4%D0%B5%D0%BE-7LRZi9LvtXg.html et lorsque le séparateur des champs n'est pas un espace ru-vid.com/video/%D0%B2%D0%B8%D0%B4%D0%B5%D0%BE-QQREFyumzWI.html */ Exemple 2 : MAILLON_LISTE * charger(FILE *fichier); //Le nom du fichier est passé en argument et ouvert en dehors de la fonction Exemple 3 (paramètre d'entrée-sortie): void charger(MAILLON_LISTE **teteListe, char * nomFichier); // La tête de la liste est passée par adresse, donc paramètre d'entrée sortie et on lit le fichier pour remplir la liste chainée void charger(MAILLON_LISTE **teteListe, FILE *fichier); // Même chose Il faut comprendre que charger les données d'un fichier veut dire simplement copier les données du fichier dans la liste. L'algo simplifiée est : 1. Initialiser la structure (tableau ou liste) si ce n'est pas fait 2. Ouvrir et Parcourir le ficher, 2.1 lire les données ligne par ligne 2.2 Copier les données de chaque ligne sur la liste (sous forme d'enregistrement pour un tableau ou maillon pour une liste chainée). 3. Fermer le fichier 4. Renvoyer le résultat Vous pouvez tenter d'écrire la fonction et partager. Je vous dirai si c'est correct. Bon courage!!
Merci beaucoup. Je pense que vous devez faire un vidéo sur les structures comme par exemple une entreprise avec ses caractéristiques qui aura comme fonctions créer , détruire ,recrutement, supprimer et rechercher etc
😀 Bonjour, vous parler de faire une version liste chainée de cet exercice ? ru-vid.com/video/%D0%B2%D0%B8%D0%B4%D0%B5%D0%BE-dqqbZOCeFkk.html Sinon je prépare un épisode sur les listes chainées (malheureusement pas avant fin novembre) En attendant regarde les playlists peut etre que tu trouveras ce que tu cherches ru-vid.com/video/%D0%B2%D0%B8%D0%B4%D0%B5%D0%BE-vMnXE1UUdEo.html N'oubliez pas le plus important est de le programmer pour le comprendre. Les vidéos ont tendance à donner sur le moment une fausse impression d'avoir tout capté
Bonjour, les pointeurs, il y a un épisode prevu sur les pointeurs. Nous en profiterons pour voir l'allocation dynamique, les pointeurs sur les fonctions, et bien d'autres choses...