Programm-Problem - baseportal Forum - Web-Anwendungen einfach, schnell, leistungsfähig!
baseportal
English - Deutsch "Es gibt keine dummen Fragen - jeder hat einmal angefangen"

 baseportal-ForumDie aktuellsten 10, 30, 50, 100 Einträge anzeigen.  

 
 Ausgewählter Eintrag: Zur Liste 
    Beitrag von Kupi (6 Beiträge) am Samstag, 3.November.2012, 20:30.
    Programm-Problem

      Hallo, habe folgendes Problem:
      Ich gebe in 16 Felder der Datenbank 16 Zahlen ein. Das Programm soll anschließend die 8 kleinsten Werte der Grösse nach sortieren und addieren. Nullen sollen nicht (!) verarbeitet werden . Mein Programm funktioniert mit allen Zahlen > 0 ja gut. Wie kann das Programm Felder mit 0 ignorieren ?
      Würde mich über einen Tipp freuen ... bin kein Programmier-Profi !





      @unsortiert=($Twiste,$Frankenb,$Dodenh,$Altenloth,$Voehl,$Bottendorf,$Arolsen,$Usseln,$Gellersh,$Immigh,$Dodenau,
      $Hemfurth,$Schmillingh,$Bergheim,$Herzh,$Marienh);
      

      # Sortierbefehl ( sort {$a<=>$b} ) ausführen und sortierte Daten in ein neues Array schreiben (@sortiert)

      @sortiert = sort{$a<=>$b}@unsortiert;
      # die 8 ersten (und auch kleinsten) Daten aus dem Array addieren und im Feld "Punkte" ausgeben
      

      $_put {Punkte} = ($sortiert[0]+$sortiert[1]+$sortiert[2]+$sortiert[3]+$sortiert[4]+$sortiert[5]+$sortiert[6]+$sortiert[7]);


    Antworten

 Alle Einträge zum Thema: Zur Liste 
    Beitrag von Kupi (6 Beiträge) am Samstag, 3.November.2012, 20:30.
    Programm-Problem

      Hallo, habe folgendes Problem:
      Ich gebe in 16 Felder der Datenbank 16 Zahlen ein. Das Programm soll anschließend die 8 kleinsten Werte der Grösse nach sortieren und addieren. Nullen sollen nicht (!) verarbeitet werden . Mein Programm funktioniert mit allen Zahlen > 0 ja gut. Wie kann das Programm Felder mit 0 ignorieren ?
      Würde mich über einen Tipp freuen ... bin kein Programmier-Profi !





      @unsortiert=($Twiste,$Frankenb,$Dodenh,$Altenloth,$Voehl,$Bottendorf,$Arolsen,$Usseln,$Gellersh,$Immigh,$Dodenau,
      $Hemfurth,$Schmillingh,$Bergheim,$Herzh,$Marienh);
      

      # Sortierbefehl ( sort {$a<=>$b} ) ausführen und sortierte Daten in ein neues Array schreiben (@sortiert)

      @sortiert = sort{$a<=>$b}@unsortiert;
      # die 8 ersten (und auch kleinsten) Daten aus dem Array addieren und im Feld "Punkte" ausgeben
      

      $_put {Punkte} = ($sortiert[0]+$sortiert[1]+$sortiert[2]+$sortiert[3]+$sortiert[4]+$sortiert[5]+$sortiert[6]+$sortiert[7]);

     Antworten

    Beitrag von richard (1187 Beiträge) am Sonntag, 4.November.2012, 11:58.
    Re: Programm-Problem

      Du könntest die 8 Werte innerhalb einer foreach Schleife ausgeben und addieren lassen.

      http://de.selfhtml.org/perl/sprache/schleifen.htm#foreach

      Diese Schleife läßt Du solange durchlaufen, bis der ausgegebene und addierte Wert 8-mal größer 0 war. Das kann man zählen indem man eine Variable definiert, $zaehler=0, und dies dann bei jedem erfolgreichen Durchlauf um 1 hochzählt, ist die 8 erreicht und der Wert verarbeitet müßte man die Schleife abbrechen.

      Beenden kann man eine Schleife mit "last;"

      http://www.hidemail.de/blog/foreach-perl.shtml

     Antworten


     
 Liste der Einträge von 3750 bis 3900:Einklappen Zur Eingabe 
Neueste Einträge << 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | Neuere Einträge < Zur Eingabe  > Ältere Einträge | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 >> Älteste Einträge


Zurück zur Homepage

© baseportal.de. Alle Rechte vorbehalten. Nutzungsbedingungen



powered in 0.10s by baseportal.de
Erstellen Sie Ihre eigene Web-Datenbank - kostenlos!