Zurück   Flashforum > Flash > ActionScript > ActionScript 1

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 28-02-2005, 15:04   #1 (permalink)
Neuer User
 
Benutzerbild von Utopian
 
Registriert seit: May 2003
Beiträge: 1.031
Array Vergleich und Berechnung

Hallo!

Habe eine etwas knifflige Berechnung für euch.

Ein Array:

Stoff[0] {Name:'Name XY', MengeA:2, MengeB:5, MengeC:3, MengeD:0}
Stoff[1] {Name:'Name YY', MengeA:1, MengeB:0, MengeC:7, MengeD:2}
Stoff[2] {Name:'Name XX', MengeA:4, MengeB:0, MengeC:0, MengeD:0}
Stoff[3] {Name:'Name XX', MengeA:9, MengeB:7, MengeC:2, MengeD:1}
Stoff[4] {Name:'Name YY', MengeA:8, MengeB:6, MengeC:3, MengeD:2}

Dazu ein zweites Array:

Multi[0] {Name:'Name XY', MultiplA:2, MultiplB:1, MultiplC:1, MultiplD:0}
Multi[1] {Name:'Name YY', MultiplA:3, MultiplB:2, MultiplC:7, MultiplD:2}
Multi[2] {Name:'Name XX', MultiplA:4, MultiplB:2, MultiplC:6, MultiplD:0}
Multi[3] {Name:'Name XX', MultiplA:5, MultiplB:3, MultiplC:2, MultiplD:1}
Multi[4] {Name:'Name YY', MultiplA:6, MultiplB:5, MultiplC:1, MultiplD:4}

Dazu folgendes Problem:

Multi[0].MultiplA so mit Stoff[0].MengeA jeweils multipliziert werden
Multi[0].MultiplA * Stoff[0].MengeA wobei Multi[n] jeweils der Multiplikator ist.

Also:

Multi[0].MultiplB * Stoff[1].MengeB
Multi[0].MultiplC * Stoff[1].MengeC
Multi[0].MultiplD * Stoff[1].MengeD

Multi[1].MultiplB * Stoff[1].MengeB
Multi[1].MultiplC * Stoff[1].MengeC
Multi[1].MultiplD * Stoff[1].MengeD

Daraus ergibt sich ein neues Array Namens "Result"
Result[0] = {Name: 'Name XY', 4 , 5, 3, 0}
Result[1] = {Name: 'Name YY', 48, 30, 3, 8}

usw. Hoffe jemand versteht das.
Zum Schluß sollen dann die Results mit gleichem Namen im Result Array zuammengefasst (addiert) werden:

Result[5] = {Name: 'Name YY', 4 , 5, 3, 0}
Result[12] = {Name: 'Name YY', 48, 30, 3, 8}

ergäbe:

Result[] = {Name: 'Name YY', 52, 35, 6, 8}

Wer kann mir bei einer Lösung helfen?
Danke, gruß Christian
Utopian ist offline   Mit Zitat antworten
Alt 28-02-2005, 19:19   #2 (permalink)
Techniker
 
Benutzerbild von hgseib
 
Registriert seit: Sep 2003
Ort: 64807
Beiträge: 16.321
das forum hier ist für leute, die eine frage haben, weil sie etwas nicht verstehen und nicht für diejenigen, die zu faul sind ihren krempel selbst zu programmieren.

nimm bitte einfach deine exakte arbeitsanweissung und machs selbst.
__________________
die ultimative antwort auf alle programmierfragen: der debugger
mfg h.g.seib www.SeibsProgrammLaden.de
hgseib ist offline   Mit Zitat antworten
Alt 28-02-2005, 19:27   #3 (permalink)
Neuer User
 
Benutzerbild von the binary
 
Registriert seit: Jul 2001
Ort: Berlin | Friedrichshain
Beiträge: 3.561
ohne überheblich klingen zu wollen, aber dem stimm ich zu.
besser wäre es, du versucht es selbst, und wenn du mit deinem script nicht weiterkommst, postest du deinen ansatz und dir wird geholfen...

gruss
__________________
8bm | join ff@BOINC
formpackage.org | audiohunter.de | problematica.de | 8ball-media.de/blog | taikonauten.cn
the binary ist offline   Mit Zitat antworten
Alt 28-02-2005, 19:40   #4 (permalink)
voidboy
 
Benutzerbild von rendner[i]
 
Registriert seit: Sep 2004
Ort: München
Beiträge: 5.588
Das Ding ist doch iner halben Stunde erledigt.
Steht doch alles da und was ne Multiplikation ist weiste ja auch .
__________________
ERROR: Signature is too large

Geändert von rendner[i] (01-03-2005 um 02:05 Uhr)
rendner[i] ist offline   Mit Zitat antworten
Alt 01-03-2005, 07:55   #5 (permalink)
Neuer User
 
Benutzerbild von Utopian
 
Registriert seit: May 2003
Beiträge: 1.031
Hi !

Vielleicht hätte ich meine Frage etwas genauer formulieren sollen. Ich würde gerne wissen ob diese Sache in einem Arbeitsschritt, also einer for Schleife beispielsweise, möglich ist. Wie soll ich gleichzeitig die Multiplikation durchführen und dann imselben Schritt noch nach gleichen Namen im Array suchen und die Felder dann addieren?

Ansätze reichen mir ja schon...

Danke,
Gruß Christian
Utopian ist offline   Mit Zitat antworten
Alt 01-03-2005, 11:38   #6 (permalink)
Neuer User
 
Benutzerbild von Utopian
 
Registriert seit: May 2003
Beiträge: 1.031
Hi !

Weiß den keiner auch nur im Ansatz Rat?

Gruß Christian
Utopian ist offline   Mit Zitat antworten
Alt 01-03-2005, 11:43   #7 (permalink)
voidboy
 
Benutzerbild von rendner[i]
 
Registriert seit: Sep 2004
Ort: München
Beiträge: 5.588
Ist ja im endefeckt egal wie, hauptsache es funtzt .
Ich denke ne for-Schleife reicht, da kann man doch auch auf namen prüfen:

PHP-Code:
for( var 0< ?; i++)
{
   
multi1] * multi2];
   
bla bla...
   if( 
der eine name] == dem anderen namen] ) do this;
   if( 
meine mutti == deine mutti trace"We are brother's!" );

Das währ so ein Bsp, da kann man docj in der for_schleife alle Bedingungen abfragen und addieren und multipluzieren was zusammen gehört!
__________________
ERROR: Signature is too large
rendner[i] ist offline   Mit Zitat antworten
Alt 01-03-2005, 11:52   #8 (permalink)
Neuer User
 
Benutzerbild von Utopian
 
Registriert seit: May 2003
Beiträge: 1.031
Zitat:
Zitat von rendner[i]
PHP-Code:
if( meine mutti == deine mutti trace"We are brother's!" ); 
Schönes Beispiel
Dank dir

Gruß Christian
Utopian ist offline   Mit Zitat antworten
Alt 01-03-2005, 13:26   #9 (permalink)
voidboy
 
Benutzerbild von rendner[i]
 
Registriert seit: Sep 2004
Ort: München
Beiträge: 5.588
Habs mal kurz zurecht gezimmert, kannste ja mal gucken und vielleicht verbessern .
Und es ging voll fix!

PHP-Code:
Stoff = [];
Stoff] = [ 'Name XY'253];
Stoff] = [ 'Name YY'107];
Stoff] = [ 'Name XX'400];
Stoff] = [ 'Name XX'972];
Stoff] = [ 'Name YY'863];

Multi = [];
Multi] = [ 'Name XY'211];
Multi] = [ 'Name YY'327];
Multi] = [ 'Name XX'426];
Multi] = [ 'Name XX'532];
Multi] = [ 'Name YY'651];

Result = [];

//multiplizieren
for(var Stoff.lengthi++ )
{
    
Result] = [];
    
Result][ ] = Stoff][ ];
    
Result].push( ( Stoff][ ] * Multi][ ] ) );
    
Result].push( ( Stoff][ ] * Multi][ ] ) );
    
Result].push( ( Stoff][ ] * Multi][ ] ) );
    
Result].push( ( Stoff][ ] * Multi][ ] ) );
}

//gleiche addieren
for( var 0Result.lengthi++ )
{
    for( var 
1Result.lengthj++ )
    {
        
//wenn der Name gleich ist
        
if( Result][ ] == Result][ ] )
        {
            
Result][ ] +=  Result][ ];
            
Result][ ] +=  Result][ ];
            
Result][ ] +=  Result][ ];
            
Result][ ] +=  Result][ ];
            
//das verrechnette aus dem Array entfernen
            
Result.splicej);
            
j--;
        }
    }

__________________
ERROR: Signature is too large

Geändert von rendner[i] (01-03-2005 um 13:59 Uhr)
rendner[i] ist offline   Mit Zitat antworten
Alt 01-03-2005, 13:38   #10 (permalink)
Neuer User
 
Benutzerbild von Utopian
 
Registriert seit: May 2003
Beiträge: 1.031
Super, dank dir! Funktioniert einwandfrei!

Gruß Christian
Utopian ist offline   Mit Zitat antworten
Alt 01-03-2005, 13:48   #11 (permalink)
voidboy
 
Benutzerbild von rendner[i]
 
Registriert seit: Sep 2004
Ort: München
Beiträge: 5.588
Aber nächstes mal, selber ein bisschen versuchen.
Sonst gibts Ärger!!!
Das war doch ne schulische HA oder?
__________________
ERROR: Signature is too large
rendner[i] ist offline   Mit Zitat antworten
Alt 01-03-2005, 14:25   #12 (permalink)
Neuer User
 
Benutzerbild von Utopian
 
Registriert seit: May 2003
Beiträge: 1.031
keine HA. Wer macht den AS in der Schule?
Utopian ist offline   Mit Zitat antworten
Alt 01-03-2005, 16:02   #13 (permalink)
voidboy
 
Benutzerbild von rendner[i]
 
Registriert seit: Sep 2004
Ort: München
Beiträge: 5.588
Und wo macht man dann solche einfachen Dinge????
Doch nicht im Studium
__________________
ERROR: Signature is too large
rendner[i] ist offline   Mit Zitat antworten
Antwort

Lesezeichen

Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks sind an
Pingbacks sind an
Refbacks sind an



Alle Zeitangaben in WEZ +1. Es ist jetzt 12:26 Uhr.

Domains, Webhosting & Vserver von Host Europe
Unterstützt das Flashforum!
Adobe User Group


Copyright ©1999 – 2012 Marc Thiele