Autor Beitrag
Gusto
Hält's aus hier
Beiträge: 4



BeitragVerfasst: Mi 16.11.11 09:16 
Moin Moin,

ich habe diese Aufgabe:

Schreiben Sie ein Programm, das den Mitttelwert von vorher einzugebenden Zahlen berechnet und ausgibt. Wie viele Zahlen eingegeben werden sollen, kann der Benutzer vorher festlegen.

Mein Programm sieht bisher so aus:

ausblenden C#-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
            string Eingabe;
            int Anzahl;
            int Zahl;
            int Ergebnis;


            Console.WriteLine("Hallo Benutzer!");
            Console.WriteLine("Wie viele zahlen möchten Sie eingeben?");
            Eingabe = Console.ReadLine();
            Anzahl = Convert.ToInt32(Eingabe);

            int n = 1;
            while (n <= Anzahl)
            {
                Console.WriteLine("Geben Sie eine Zahl ein");
                Eingabe = Console.ReadLine();
                Zahl = Convert.ToInt32(Eingabe);
                n++;
                    
            }


Aber das mit dem Mittelwert ausrechnen wird nichts, weil ich nicht weiß wie ich jeden eingegebenen Wert einzelnt speicher

Danke im Vorraus

Moderiert von user profile iconGausi: Delphi-Tags hinzugefügt
Moderiert von user profile iconGausi: Delphi-Tags durch C#-Tags ersetzt. Da war ich wohl eben noch nicht ganz wach...
Moderiert von user profile iconGausi: Topic aus Off Topic verschoben am Mi 16.11.2011 um 09:06
Xion
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
EE-Maler
Beiträge: 1952
Erhaltene Danke: 128

Windows XP
Delphi (2005, SmartInspect), SQL, Lua, Java (Eclipse), C++ (Visual Studio 2010, Qt Creator), Python (Blender), Prolog (SWIProlog), Haskell (ghci)
BeitragVerfasst: Mi 16.11.11 09:34 
:welcome:

Um mehrere Werte zu speichern kannst du z.B. ein dynamisches Array verwenden:

ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
var Zahlen: array of integer;


procedure ZahlEingegeben (x: integer);
var len: integer;
begin
  Len := Length(Zahlen);
  SetLength(Zahlen, len+1);
  Zahlen[len] := x;
end;

function CalcMaximum (x: integer): integer;
var E: integer;
begin
  Result := 0;
  for E:= 0 to High(Zahlen) do
    if Zahlen[E]>Result then
      Result := Zahlen[E];
end;

Als Beispiel ;)

_________________
a broken heart is like a broken window - it'll never heal
In einem gut regierten Land ist Armut eine Schande, in einem schlecht regierten Reichtum. (Konfuzius)
bummi
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 1248
Erhaltene Danke: 187

XP - Server 2008R2
D2 - Delphi XE
BeitragVerfasst: Mi 16.11.11 09:52 
Wobei es für den Mittelwert langt Zahl immer zu Summe zu addieren und am Schluss durch Anzahl zu teilen ....

_________________
Das Problem liegt üblicherweise zwischen den Ohren H₂♂
DRY DRY KISS
Gusto Threadstarter
Hält's aus hier
Beiträge: 4



BeitragVerfasst: Mi 16.11.11 09:58 
@xion.
Ich bin in einer Ausbildung zum System-Integrator(!).
Leider ist mir dein Quelltext VIEL zu kompliziert. Wir haben grade mit Schleifen angefangen.

@bummi
Wie soll ich das denn addieren?
Könntest du mir ein Beispiel geben? Bzw. die Aufgabe lösen? Ich habe noch weitere 5 Aufgaben, muss aber diese wissen um die anderen 5 zu bearbeiten.

Ich saß gestern 1 1/2 Stunde daran und habe die Lösung nichtmal "ergooglen" können.

Vielleicht habe ich einfach nur ein Brett vorm Kopf :(

Mfg und Danke
bummi
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 1248
Erhaltene Danke: 187

XP - Server 2008R2
D2 - Delphi XE
BeitragVerfasst: Mi 16.11.11 10:07 
ausblenden volle Höhe Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
program Project1;

{$APPTYPE CONSOLE}

uses
  SysUtils;
var
i:Integer;
Anzahl:Integer;
Zahl:Double;
Summe:Double;

begin
  try

            Summe := 0;
            WriteLn('Hallo Benutzer!');
            WriteLn('Wie viele zahlen möchten Sie eingeben?');
            ReadLn(Anzahl);
            for I := 1 to Anzahl do
               begin
                 Writeln ('Geben Sie eine Zahl ein.');
                 Readln(Zahl);
                 Summe := Summe + Zahl;
               end;
            Writeln('Mittelwert: ' + FloatToStr(Summe/Anzahl));
            Readln;
  except
    on E: Exception do
      Writeln(E.ClassName, ': ', E.Message);
  end;
end.

_________________
Das Problem liegt üblicherweise zwischen den Ohren H₂♂
DRY DRY KISS
Gusto Threadstarter
Hält's aus hier
Beiträge: 4



BeitragVerfasst: Mi 16.11.11 10:20 
Es geht immernoch nicht. Es geht ja eigentlich nur darum, dass der eingebene Wert mit den vorherigen addiert wird.
Ich arbeite mit Microsoft Visual C# 2010 Express.

So sieht es aus.

ausblenden C#-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
Console.WriteLine("Hallo Benutzer!");
Console.WriteLine("Wie viele zahlen möchten Sie eingeben?");
Eingabe = Console.ReadLine();
Anzahl = Convert.ToInt32(Eingabe);

int n = 1;
while (n <= Anzahl)
{
    Console.WriteLine("Geben Sie eine Zahl ein");
    Eingabe = Console.ReadLine();
    Zahl = Convert.ToInt32(Eingabe);
    summe := summe+zahl; // Das funktioniert leider nicht ;(

    n++;
}


Moderiert von user profile iconTh69: C#-Tags hinzugefügt
bummi
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 1248
Erhaltene Danke: 187

XP - Server 2008R2
D2 - Delphi XE
BeitragVerfasst: Mi 16.11.11 10:23 
Sorry, ich hatte völlig übersehen dass ins C-Forum gerutscht bin, war das in C nicht irgendwas mit
Summe += Zahl;

???

_________________
Das Problem liegt üblicherweise zwischen den Ohren H₂♂
DRY DRY KISS
thepaine91
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 763
Erhaltene Danke: 27

Win XP, Windows 7, (Linux)
D6, D2010, C#, PHP, Java(Android), HTML/Js
BeitragVerfasst: Mi 16.11.11 10:26 
Ja += ist korrekt.
Gusto Threadstarter
Hält's aus hier
Beiträge: 4



BeitragVerfasst: Mi 16.11.11 10:29 
Lösung:

ausblenden C#-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
            string Eingabe;
            int Anzahl;
            int Zahl;
            int Summe = 0;

            Console.WriteLine("Hallo Benutzer!");
            Console.WriteLine("Wie viele zahlen möchten Sie eingeben?");
            Eingabe = Console.ReadLine();
            Anzahl = Convert.ToInt32(Eingabe);

            int n = 1;
            while (n <= Anzahl)
            {
                Console.WriteLine("Geben Sie eine Zahl ein");
                Eingabe = Console.ReadLine();
                Zahl = Convert.ToInt32(Eingabe);
                Summe += Zahl;
                n++;
            }

            Console.WriteLine(Summe);


IT WORKS!!!!!!!

Vielen Dank! :D

Mfg

Moderiert von user profile iconTh69: C#-Tags hinzugefügt
ujr
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 102
Erhaltene Danke: 12



BeitragVerfasst: Mi 16.11.11 19:24 
user profile iconGusto hat folgendes geschrieben Zum zitierten Posting springen:


IT WORKS!!!!!!!


Kann schon sein - aber nicht mit der "Lösung"...
Handycommander
ontopic starontopic starofftopic starofftopic starofftopic starofftopic starofftopic starofftopic star
Beiträge: 1054

Windows XP Pro, Vista
Visual Studio 2008
BeitragVerfasst: Sa 10.12.11 16:49 
user profile iconujr hat folgendes geschrieben Zum zitierten Posting springen:
user profile iconGusto hat folgendes geschrieben Zum zitierten Posting springen:


IT WORKS!!!!!!!


Kann schon sein - aber nicht mit der "Lösung"...


Unterschreib ich so... ;)
Du hast eine WICHTIGE Berechung vergessen...

Gruß,
Tobi