Bonjour Mr, merci beaucoup pour tout ce que vous faites pour nous. J'ai fait une autre méthode pour répondre a la première question sans creer les fonctions d'insertion au debut et a la fin : typedef struct{ char titre[20]; int qte; }livre; typedef struct cellule{ livre liv; struct cellule*suivant; }cellule; /**********************************/ cellule*ajouter_livre(cellule*A,livre L1){ cellule*ne=allouerNoeud();cellule* courant=A; ne->liv=L1; if(A==NULL){A=ne;return A; } else{ if(L1.qtesuivant=A;A=ne;return A;} else{ while(courant->suivant!=NULL){ courant=courant->suivant;courant->suivant=ne;return A; } } } }
Bonjour Monsieur!! Merci beaucoup pour tout ce que vous faites pour nous. S'il vous plaît, je voudrais comprendre quelque chose. Pourquoi en voulant créant les structures Livre et cellule, vous avez fait: typedef cellule cellule; typedef cellule *Liste; struct cellule{livre data;cellule *next;}; et dans la fonction "ajouter", vous avez utilisé "cellule, livre et liste" comme trois différents types?? S'il vous plaît,j'aimerais bien comprendre cette façon de créer les structures; veuillez m'explique cette partie. Je ne l'ai pas bien comprise et c'est un peu flou chez moi. Je me demande si on peut faire: typedef struct livre{ char titre[20]; int qte; struct livre *next; }livre; typedef struct cellule{ livre data; struct cellule *next; }cellule; Merci d'avance pour votre réponse!
non vous pouvez pas faire ca . par contre vous pouvez faire ca: typedef struct { char titre[20]; int qte; }livre; typedef struct cellule{ livre data; struct cellule *next; }cellule; tu peut ajouter ca aussi: typedef struct cellule * liste;
si quelqu'un peut m'expliquer pourquoi il a mis b=*debut et pas directement b=debut , je sais qu'il a dis passage par adresse mais jai pas vraiment compris
la reponse de la derniere question est fausse la question de supprimerTout car quand si la data de la premiere liste ==1 il ne supprime pa tu peux compiler et assure que la premier data de la liste ==1 ici tu vas trouver le probleme il ne supprime pas les element ou la data==0 j'ai pas trouve la solution de ce problemme car tous le codepour moi est logique si tu as trouve le probleme tu postuler la solution mecri .
monsieur 3lash fles 2 derniers fonctions fles boucles while derna && omashi le || sachant que hna n9edo nkhrjo mn la boucle la th9e9at une seule condition
la condition qu'on met dans le while s'elle est vraie on reste dans la bouble si non on sort de la boucle while tant que tanque la condition est vraie je refait le traitement
C'est une autre méthode je pense que je l'ai expliqué dans les vidéos de suppression le * avant debut dans le paramètre des fonctions veut dire que c'est un passage par adresse donc on a pas besoin de retourner le debut à la fin de chaque fonction si tu remarques la fonction ne retourne pas le debut le type de retour est void
w fonction dyal supprimeToutVide kan 3lik ti5dimha b tari9a hedhi liste supprimeToutVide (liste l) { cellule *temp; temp=l; while (temp!=NULL) { l=supprimeVide(l,temp->book.titre); temp=temp->next; } return l; }
اذا بديتي معاه من الأول مكنضنش تقول شرحوا صعب..تنصحك تبدا من فيدييوهات لي تيشرح فيها الاساسيات ..والله غادي تفهم..لان شرحوا بزااف واضح. او متنساش را ممكن تكتب programme ببزاف الطرق او الاستاذ تيستعكل طريقة مبسطة او مفصلة باش بزااف يفهموا .من بعد ممكن دير اختصارات ..❤
merci lah ihafdek o yrham lik lwaliidin les vidéos sont très bien expliquées lah ijazik bikhir
merci infiniment monsieur t es la meilleur prof sur youtube en language c
اللهم بارك أحسن أستاذ جزاك الله خيرا او الله يخلي ليك واليديك
Bonjour Mr, merci beaucoup pour tout ce que vous faites pour nous. J'ai fait une autre méthode pour répondre a la première question sans creer les fonctions d'insertion au debut et a la fin :
typedef struct{
char titre[20];
int qte;
}livre;
typedef struct cellule{
livre liv;
struct cellule*suivant;
}cellule;
/**********************************/
cellule*ajouter_livre(cellule*A,livre L1){
cellule*ne=allouerNoeud();cellule* courant=A; ne->liv=L1;
if(A==NULL){A=ne;return A; }
else{
if(L1.qtesuivant=A;A=ne;return A;}
else{
while(courant->suivant!=NULL){
courant=courant->suivant;courant->suivant=ne;return A;
}
}
}
}
T'as oublié de mettre le suivant à null dans la première etape
mais Mr ,le ne->suivant =NULL;DEJA déclaré dans AllouerNoeud
merci monsieur pour l'explication mais j'ai une question 16:05 "dans la fonction ajouter livre est ce que if(v.qt) et if(v->qt) sont la meme chose
شكرا جزيلا بارك الله فيك شرح ممتاز استفدت جدا منه
llah yerham lwalidin, o llah yej3alha lik f mizan l7asanat
امين يارب العالمين ادعوا لوالدي ولوالدتي
Bonjour Monsieur!! Merci beaucoup pour tout ce que vous faites pour nous. S'il vous plaît, je voudrais comprendre quelque chose. Pourquoi en voulant créant les structures Livre et cellule, vous avez fait:
typedef cellule cellule;
typedef cellule *Liste;
struct cellule{livre data;cellule *next;}; et dans la fonction "ajouter", vous avez utilisé "cellule, livre et liste" comme trois différents types?? S'il vous plaît,j'aimerais bien comprendre cette façon de créer les structures; veuillez m'explique cette partie. Je ne l'ai pas bien comprise et c'est un peu flou chez moi.
Je me demande si on peut faire:
typedef struct livre{
char titre[20];
int qte;
struct livre *next;
}livre;
typedef struct cellule{
livre data;
struct cellule *next;
}cellule;
Merci d'avance pour votre réponse!
non vous pouvez pas faire ca .
par contre vous pouvez faire ca:
typedef struct {
char titre[20];
int qte;
}livre;
typedef struct cellule{
livre data;
struct cellule *next;
}cellule;
tu peut ajouter ca aussi:
typedef struct cellule * liste;
monsieur svp mafhmtch 3lax fach derna l'appel lfonction madrtiich adresse dyal debut derti ghir debut hit fliste doublement kna khdmna b * debut bhal haka w fl'appel derna &debut
الله يرحم ليك الوالدين ويجازيك بخير يا رب
آمين يارب العالمين
Nta bzaaf 💜 Merciiiiiiiii j’espère tdir lina chi série dyal c++
Pour bientôt inchallah
Monsieur, f la 1ère question ,hadik la condition dyal inférieur ou égal 1 ,maghadi tbadal walo? ?????
xokran, fin imkn nl9a bhal had tamarin
Monsieur svp j ai pas compris pourquoi parfois pour accéder à la quantité vous faisait v.qt et non pas data.qt
si quelqu'un peut m'expliquer pourquoi il a mis b=*debut et pas directement b=debut , je sais qu'il a dis passage par adresse mais jai pas vraiment compris
prof fd9i9a 16 ;28 wach maymknch ndiro wa7ed temp->data.quantitee ==0 ??? waxh ghalta???
ila drnaha ou madrnach v.quantitee ==0
On ne peut pas faire v.qt car v est seulement un entier pas une structure
Monsieur, t9dar twadah liya kifach darti la structure cellule?? Et merci 👍
hadik element de la liste kikon fiha data w pointeur l élement suivant
la reponse de la derniere question est fausse
la question de supprimerTout
car quand si la data de la premiere liste ==1 il ne supprime pa
tu peux compiler et assure que la premier data de la liste ==1
ici tu vas trouver le probleme il ne supprime pas les element ou la data==0
j'ai pas trouve la solution de ce problemme car tous le codepour moi est logique
si tu as trouve le probleme tu postuler la solution
mecri .
monsieur 3lash fles 2 derniers fonctions fles boucles while derna && omashi le || sachant que hna n9edo nkhrjo mn la boucle la th9e9at une seule condition
la condition qu'on met dans le while s'elle est vraie on reste dans la bouble si non on sort de la boucle
while tant que
tanque la condition est vraie je refait le traitement
Monsieur ,s'il vous plait vous pouvez faire la leçons des arbres
Oui monsieur, s'il vous plaît 😢
علاش debut درتي فيها * و الفيديوهات لي دازو لا
C'est une autre méthode je pense que je l'ai expliqué dans les vidéos de suppression le * avant debut dans le paramètre des fonctions veut dire que c'est un passage par adresse donc on a pas besoin de retourner le debut à la fin de chaque fonction si tu remarques la fonction ne retourne pas le debut le type de retour est void
@@PWH_HAIRIBI ولكن ماشي ممكن ندير cellule * و تخدمها ب return بحال الفيديوهات لي دازو
Merci infiniment Mr !
جزاك الله خيرا
merciiiiii monsieur et svp kifash fla 1er fonction ajouterlivre() madernash &debut je l'ai pas b1 compris
parce que la liste dans le main elle s'appelle " l " qui va remplacer debut
on peut aussi l’appeler debut
w fonction dyal supprimeToutVide kan 3lik ti5dimha b tari9a hedhi
liste supprimeToutVide (liste l)
{
cellule *temp;
temp=l;
while (temp!=NULL)
{
l=supprimeVide(l,temp->book.titre);
temp=temp->next;
}
return l;
}
Exactement c est une solution optimale 👍
Mais dans ma solution j'ai voulu integer le principe de la récursivité
@@PWH_HAIRIBI svp dir lina des autres exercices b7al hedha sur tous f liste chainee w f liste doublement chainee et merci
Ok inchallah
lah yrhm lwalidin
et des exercices dans pilles ,fille en utilisant les listes simplement chainés et merci d"avance
Salamo 3likoum
Monsieur wach radi t9dr dirhom incha alah b c++
Est ce que vous pouvez m'aider sur un exercise sur les listes simplement chaineés circulaires?🙏🏽🙏🏽🙏🏽🙏🏽🙏🏽🙏🏽🙏🏽
Oui bien sûr
@@PWH_HAIRIBI merci beacoup donnez moi votre numéro de watsappe!si possible🙏🏽🙏🏽🙏🏽
Monsieur votre email svp !
yarhem weeeeldik
vous avez compliqué la solution
Il y a pas une seule solution
Propose nous la meilleure solution
Merci pour ta réaction 😉
merci
شرحك ديالك صعب من الشرح ديال الاساسدة الجامعيين و كطول الفيديوهات بزاف ...
اذا بديتي معاه من الأول مكنضنش تقول شرحوا صعب..تنصحك تبدا من فيدييوهات لي تيشرح فيها الاساسيات ..والله غادي تفهم..لان شرحوا بزااف واضح. او متنساش را ممكن تكتب programme ببزاف الطرق او الاستاذ تيستعكل طريقة مبسطة او مفصلة باش بزااف يفهموا .من بعد ممكن دير اختصارات ..❤
Chrh dlkhra
Merci beaucoup pour le compliment, j'ai essayé de faire mon mieux.
المهم لدينا اجر المحاولة اتمنا ان تكون شاهدت الفيديو كاملا ملاحظتك تدفعنا للاستمرار
جزاك الله خيرا