Deutsch English Français Italiano |
<sq8aki$onk$1@cabale.usenet-fr.net> View for Bookmarking (what is this?) Look up another Usenet article |
Path: ...!weretis.net!feeder6.news.weretis.net!feeder8.news.weretis.net!news.trigofacile.com!usenet-fr.net!.POSTED!not-for-mail From: Olivier Miakinen <om+news@miakinen.net> Newsgroups: fr.comp.lang.c Subject: Re: Programme de calcul de distance entre des points Date: Sun, 26 Dec 2021 00:48:36 +0100 Organization: There's no cabale Lines: 98 Message-ID: <sq8aki$onk$1@cabale.usenet-fr.net> References: <g_SdnccOb-kY11r8nZ2dnUU798zNnZ2d@giganews.com> NNTP-Posting-Host: 176.79.127.78.rev.sfr.net Mime-Version: 1.0 Content-Type: text/plain; charset=windows-1252 Content-Transfer-Encoding: 8bit X-Trace: cabale.usenet-fr.net 1640476114 25332 78.127.79.176 (25 Dec 2021 23:48:34 GMT) X-Complaints-To: abuse@usenet-fr.net NNTP-Posting-Date: Sat, 25 Dec 2021 23:48:34 +0000 (UTC) User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:60.0) Gecko/20100101 Firefox/60.0 SeaMonkey/2.53.1 In-Reply-To: <g_SdnccOb-kY11r8nZ2dnUU798zNnZ2d@giganews.com> Bytes: 4890 Bonjour, Avant-propos : j'essaye de comprendre ce que tu écris, mais ce serait mieux si tu pouvais ponctuer (et « majusculer ») chacune de tes phrases, afin qu'on sache plus facilement où une phrase se termine et où l'autre commence. Le 25/12/2021 à 17:44, Badou001 a écrit : > Bonjour cher communauté je suis un nouveau débutant en programmation et je > rencontre un problème je voudrais développer un programme qui a partir d'une > liste de points donnés (un point est défini avec ses coordonnées) divisé cette > ensemble de points en sous ensemble tel que la distance entre tout les points de > cet sous ensemble est inférieur strictement à 20km le but est de savoir combien > de sous ensemble on aura et que sont les points de chaque sous ensemble Première réponse évidente : si tu as n points, et si tu définis n sous- ensembles contenant chacun un point, alors les distances seront toujours égales à 0 dans chaque sous-ensemble. Cela répond donc à la question telle que tu l'as posée. Ou alors c'est que je n'ai pas compris à cause du manque de ponctuation. > je me > suis dit que cet algorithm marche : > Soit E = ensemble de points x tel que E={X1,X2,X3,......Xn} Ce sont des points d'un espace à une seule dimension ? Si oui, les distances entre Xi et Xj sont simplement la valeur absolue de Xi-Xj. Mais sinon, il faudrait commencer par décrire la structure de données, à savoir comment tu représentes un point (qui ne sera pas un simple nombre). > Pour i allant de 0 à n on a Attention, tu as décrit l'ensemble comme allant de X1 à Xn, alors je ne suis pas sûr que i doive aller de 0 à n. Note que dans beaucoup de langages de programmation, à commencer par le C, il est préférable de numéroter n éléments de 0 jusqu'à n-1 plutôt que de 1 jusqu'à n. > Fi = Xi Qu'est-ce que c'est, Fi ? Un point, comme Xi ? > E= E - Fi Comment définis-tu la soustraction de E avec Fi ? > Pour j allant de 0 a n et i !=j on a > > > Si la distance entre Xi et Xi est inférieur à 20km alors Fi = {Xi,Xj} Ah, maintenant Fi est un ensemble de deux points ? > E= E - Fi > On affiche F1,F2,F3,....Fn on arrête lorsque E est vide D'une part ta condition d'arrêt semble être quand tu as autant d'ensembles à deux points que de points de départ (c.-à-d. n), d'autre part ta condition d'arrêt semble être que l'ensemble E est vide. Ça me semble contradictoire. > Voilà l'idée pour lalgorithm je sais pas si ca va marcher mais le problème c'est > que je n'arrive pas a le coder Je crois que le problème en réalité c'est que tu essayes de décrire un algorithme avant de décrire la structure de tes données. Commence donc par écrire en C les types de données représentant un point, puis un ensemble de points. Essaye de voir comment tu pourrais décrire plusieurs ensembles contenant certains des points de l'ensemble de départ. Fais même en sorte de pouvoir saisir un certain nombre de données (par exemple trois ou quatre points de l'espace à trois dimensions), puis de les afficher. > j'ai rencontré des problèmes avec les tableaux > aussi avec la notion de point définie avec ses coordonnées Eh bien voilà. C'est la première chose à faire avant de réfléchir à un algorithme. > aussi un problème de calcul de distance Bon, ça ce sera quand tu auras défini tes données. Mais quand tu y seras, sache que la distance entre deux points (x1, y1, z1) et (x2, y2, z2) est la racine carrée de ((x2-x1)² + (y2-y1)² + (z2-z1)²) > ainsi que le compteur ... je suis bloqué si vous pouvez > m'aider ou m'éclairer je vous en remercie Il y aura probablement plusieurs compteurs. Mais encore une fois ne mets pas la charrue avant les bœufs. Commence par bien décrire les données, le reste viendra ensuite. -- Olivier Miakinen