AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Algorithmen, Datenstrukturen und Klassendesign Notendurchschnitt berechnen und Initialisierung eines Array of integer
Thema durchsuchen
Ansicht
Themen-Optionen

Notendurchschnitt berechnen und Initialisierung eines Array of integer

Ein Thema von EdAdvokat · begonnen am 3. Nov 2020 · letzter Beitrag vom 4. Nov 2020
 
Benutzerbild von dummzeuch
dummzeuch

Registriert seit: 11. Aug 2012
Ort: Essen
1.719 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#4

AW: Notendurchschnitt berechnen und Initialisierung eines Array of integer

  Alt 3. Nov 2020, 17:16

Delphi-Quellcode:
procedure TForm1.btn3Click(Sender: TObject);
var i, sum, anz : Integer;
    Durchschnitt : Extended;
    ArrayNoten: array[1..6] of Int32;

begin
  sum:=0;
  Durchschnitt:=0;
  anz:=0;

  //FillChar(ArrayNoten, SizeOf(ArrayNoten), 0); //Initialisierung Array

  for i := 0 to length(ArrayNoten) - 1 do
  //for I := (Low(ArrayNoten)) to (High(ArrayNoten))-1 do

    begin
      ArrayNoten[1]:=(strtoint(edt1.text)); //1
      ArrayNoten[2]:=(strtoint(edt2.text)); //2
      ArrayNoten[3]:=(strtoint(edt3.text)); //4
      ArrayNoten[4]:=(strtoint(edt4.text)); //1
      ArrayNoten[5]:=(strtoint(edt5.text)); //1
      ArrayNoten[6]:=(strtoint(edt6.text)); //1
      sum:= sum + ArrayNoten[i];
    end;
    anz:=SumInt(ArrayNoten);
    Durchschnitt:= sum / anz;
    lblDurchsch.Caption:=floattostr(Durchschnitt);
end;
Ich sehe da zwei Probleme:
  1. Du solltest die Zuweisungen auf ArrayNoten[] aus den Edit-Feldern vor die Schleife verschieben. Derzeit
    werden sie in der Schleife jedes Mal alle neu zugewiesen. Das ist aber nicht der Grund für den Fehler.
  2. sum soll doch die Summe aller Noten sein. Dann muss sie berechnet werden als:
    sum := sum + ArrayNoten[i]*i;
    Denn Du hast die Note i jeweils ArrayNoten[i] mal.
    Das ist der Grund für den Fehler.
FillChar ist nicht notwendig denn die Zuweisung erfolgt ja immer erst nach der Zuweisung auf das Array, damit ist es also initialisiert.
Thomas Mueller
  Mit Zitat antworten Zitat
 


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

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

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 07:08 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz