begin process at 2010 02 10 04:31:00
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive Delphi

 > 

Archives

 > 

J'AI BESOIN D'AIDE !!!! :O

 > 

Histoire de briques


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Histoire de briques

mardi 26 avril 2005 à 10:20:45 | Histoire de briques

m_cyril1

J’ai trois questions sur un problème.

C’est un problème d’empilement de briques. On part avec aucune brique et à chaque fois que l’on clique sur ajouter une brique vient s’ajouter. L’empilement des briques est réparti par rapport à un plan qui se situe au milieu de l’empilement. On ne connaît que l’épaisseur de chaque brique qui est stockée dans des TabValue (que j’ai nommée TabEpaisseur). Pour chaque brique il faut stocker l’altitude inférieure et supérieure. En gros schématiquement cela donne ça :

Question n°1: Comment fait t'on pour stocker  les Zinf et Zsup de chaque brique
Question n°2: Comment faire pour insérer une brique "au milieu" chassant qu'on ne donne que le numéro de la brique ou sera inséré la nouvelle brique de la brique et que ça doit modifier les numéros ainsi que les Zsup et Zinf de toutes les briques   (Et si l'on donne le numéro 0 la brique sera insérée en dessous de la brique1)

Question n°3: Comment faire pour supprimer une brique en donnant juste le numéro de la brique à supprimer et encore une fois ça doit aussi les numéros ainsi que les Zsup et Zinf de toutes les briques

mardi 26 avril 2005 à 10:52:58 | Re : Histoire de briques

slachz

On apelle pas ça des "TabValue" lol, mais des Tableaux Dynamique..
sinon pour la question 1 tu fais un tableau a plusieur dimension:

en tableau statique : var TabStatic: array[100,100] of integer;
en tableau dynamic: var TabDynam: array of array of integer;

pour le reste euh... j'ai pas vrement regardé ^^'

mardi 26 avril 2005 à 11:00:05 | Re : Histoire de briques

slachz

alalala, je devrais me relire avant de poster -_-

bon c'est très bète ce que je viens te dire ce qui faut faire plutot c'est créee un tableau de record:

declaration du type record:
type TBriquePos = record
             Zinf, Zsup : integer;
       end;


puis creation du tableau:
var TabEpaisseur: array of TBriquePos;


bon, relu ..ça a l'air d'aller ^^'

mardi 26 avril 2005 à 11:36:37 | Re : Histoire de briques

m_cyril1

OK! Des tableaux dynamiques!
Mais pas sous forme de matrice, juste sous forme de vecteurs:
var TabZsup:array of Real;
var TabZinf:array of Real;
C'est bête mais je n'arrive pas à utiliser ce que m'a indiquer  
Autre détaille mon programme calcul aussi la hauteurtotale (ça pas de problème) mais ne la stocke pas.
mardi 26 avril 2005 à 15:38:15 | Re : Histoire de briques

m_cyril1

J'ai trouvé une solution  , mais je pense qu'il doit y avoir  plus simple:
(Tabht est le tableau des hauteurs totales)

procedure TCalcul.AjouterClick(Sender: TObject);

var i:Integer;

begin
inc(n);

SetLength(TabZinf,n);
SetLength(TabZsup,n);

Tabht[0]:=TabEpaisseur[0]; 

for i:=1 to (Length(TabEpaisseur)-1) do

Tabht[i]:=Tabht[i-1]+TabEpaisseur [i];

Epaisseur.Text:=FloatToStr(Tabht[n-1]);

TabZInf[0]:=-Tabht[n-1]/2;

TabZsup[0]:=TabEpaisseur [0]-Tabht[n-1]/2;

for i:=1 to (Length(TabEpaisseur)-1) do

TabZInf[i]:=TabZInf[i-1]+TabEpaisseur [i];

for i:=1 to (Length(TabEpaisseur)-1) do

TabZSup[i]:=TabZSup[i-1]+TabEpaisseur[i];

End;


Ca marche, mais j'aimerais trouver plus simple et savoir pourquoi je suis obligé d'utiliser deux boucles pour stocker Zinf et Zsup, si je supprime la boucle avant 
TabZSup[i]:=TabZSup[i-1]+TabEpaisseur[i]; ça marche pour une brique, mais après si ajoute d'autre briques il passe et reste à 0,je ne comprend pas

mardi 26 avril 2005 à 16:04:32 | Re : Histoire de briques

m_cyril1

 Ha oui!! Pour mes questions 2 et 3, la je n'ai rien trouvé et je galère
mercredi 27 avril 2005 à 00:44:31 | Re : Histoire de briques

WhiteHippo

Membre Club

Pour ne pas faire deux boucles :

for i:=1 to (Length(TabEpaisseur)-1) do
begin
  TabZInf[i]:=TabZInf[i-1]+TabEpaisseur[i];
  TabZSup[i]:=TabZSup[i-1]+TabEpaisseur[i];
end ;


Pour tes autres questions, j'ai besoin de precisions (vu que les images que tu as posté sont invisibles!!).
Ton empilage de briques ressemble auquel de ceux qui sont après ?  

 1  _____ _____
   |     |     |
 __|__ __|__ __|__
|_____|_____|_____| 
Alternance de briques de même épaisseur

 2
 _____ _____ _____
|     |     |     |
|_____|_____|_____|
|_____|_____|_____| 
Supperpositions de briques de même épaisseur
 

 3 
 _____ _____ _____
|     |_____|     |
|_____|     |     |
|     |     |_____|
|_____|_____|_____|
Supperpositions de briques d'épaisseur variable

Cordialement.

mercredi 27 avril 2005 à 08:29:47 | Re : Histoire de briques

m_cyril1

Non mes briques sont empilées verticalement, si l'on ajoute une brique elle vient par dessus les autres. Les briques sont numérotées de 1 à n, la brique 1 étamt la brique en bas de la pile. Et l'empilement est à chaque fois réparti par rapport à un plan qui se situe au milieu de l’empilement, autrement dit on a la hauteur totale (ht) donc entre le plan milieu et la face supérieur de la brique n (ou de la face inférieur de la brique 1) on a ht/2

PS: pour les images je n'y peu rien le serveur est coupé a partir de 18h, donc pas de serveur pas d'images
mercredi 27 avril 2005 à 11:55:45 | Re : Histoire de briques

WhiteHippo

Membre Club
N.B.  Les images n'apparaissent pas si elles sont sur un disque dur local. Ils faut les mettre en ligne.

Cordialement.
mercredi 27 avril 2005 à 14:23:18 | Re : Histoire de briques

m_cyril1

Et comment fait t'on pour mettre une image en ligne

1 2 3

Cette discussion est classée dans : question, donne, brique, briques, empilement


Répondre à ce message

Sujets en rapport avec ce message

probleme de date [ par Kal ] j'aimerais savoir si il est possible de faire des operations sur les Tdatetime si oui leskelles et keske ca donne?est ce ke si je fais la difference d Question très facile sauf pour moi [ par Manthis ] Salut,Ma question va vous paraître bête mais je voudrais savoir comment afficher le caractère ' avec la méthode suivante:Normalement on faitMemo1.Text Question idiote ?? [ par Bestiol ] Hello !!J'aurais besoin d'un petit coup de main :J'essaye d'utiliser des sockets, et en particulier de recevoir correctement le texte envoyé puis de l Question bete en delphi6 avec bd Interbase [ par olivierazerty ] Voila je cherche juste a faire un truc tout bete:g une fiche avec des dbedit et un bouton "enregistrer", derrière ça je l'ai relié a un module de donn Question de dbGrid [ par Raoutas ] Bonjour tout le monde !!!J'ai un petit problême j'ai un dbGrid de 5, 6 colonnes et j'aimerais que certaines soit consultable et d'autres modifiables. Question de dbGrid [ par Raoutas ] Bonjour tout le monde !!!J'ai un petit problême j'ai un dbGrid de 5, 6 colonnes et j'aimerais que certaines soit consultable et d'autres modifiables. Ptite question toute simple [ par redfaction ] voila je dispose de 2 fichiers sous cette forme : rec1=record num:integer; nom acked array [1..25] of char;end;rec2=record num:inte A l'aide ! svp !!!!!!!!!!! [ par LeKamé ] Salut !je voudrait savoir comment on fait pour avoir la valeur absolue d'un nombre en delphi !!par exemple !! la valeur absolu de :8 donne 8-65985 don Svp, aisez moi!!!! ;-) [ par Gokuan ] Salut tout le monde, je voulais vous poser une question, je suis entrain de faire un jeu, le carré magique, mais je l'ai fais avec 8 bouton que l'on p bd : comment on fait ?????? [ par Stephane ] salut a tousbon alors on va y aller doucment pour ma 1ere question dans ce forum :)hum je débute en delphi, mais ca ressemble au vb et comme je connai


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Février 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728

Consulter la suite du CalendriCode

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,608 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales