C++ Arrays befülle. und ausgeben lassen

0w3X

Cadet 3rd Year
Registriert
März 2014
Beiträge
44
Hey,
da das Thema Arrays schon eine Weile her ist, ich aber bis Freitag die Grundlagen wieder können muss frage ich einfach mal hier.
Also meine Frage: Wie schreibe ich ein Programm das den Benutzer auffordert 100 Werte einzugeben und das dann den Mittelwert berechnet? Bitte mit for-Schleife.

Das ist so ziemlich alles was ich noch weiß (also so ziemlich garnichts^^):
#include<iostream>
using namespace std;
int main()
{
int x[100],a,c;
for(a=0;a<100;a++)
{
cout<<" Wert eingeben.";
cin<<x[a];
}
c=0;
for(a=0;a<100;a++)
{
c=c+x[a];
}
c=c/100;
cout<< c;
}

Schonmal danke für jede Hilfe!
 
Zuletzt bearbeitet:
Ich möchte dir hier nicht die Lösung präsentieren. Das Internet ist voll mit Grundlagen Anleitungen. Wenn du es dir selbst zusammenbastelst, lernst du viel mehr. Und zweitens freust du dich dann auch, es selbst gelöst zu haben. Das ist echt nicht so schwer, was du vor hast :)
 
Ich weiß, wir haben das im Info-Unterricht ja auch schon gemacht und da habe ich es ohne große Probleme hinbekommen. Nur jetzt hab ich das Programm nicht mehr weil mein USB-Stick kaputt gegangen ist und daher weiß ich nicht mehr wirklich wie es geht^^
Ergänzung ()

Habs noch mal überarbeitet stimmt das soweit?
 
Ich will ja mal nicht so sein und helfen ^^:

Code:
#include <iostream>
using namespace std;

int main() {
	int arr[100];
	int mittelwert = 0;
	for (int i = 0; i < sizeof(arr) / sizeof(int); i++) {
		cout << "Bitte geben Sie eine Zahl ein: ";
		cin >> arr[i];
	}

	for (int i = 0; i < sizeof(arr) / sizeof(int) ;i++) {
		mittelwert = mittelwert + arr[i];
	}

	mittelwert = mittelwert / (sizeof(arr) / sizeof(int));
	cout << "Der Mittelwert lautet: " << mittelwert << endl;
	system("pause");
	return 0;
}

Wieso testest du den Code nicht einfach, den du uns hier zeigst.
Wenn du keine Lust hast die Aufgabe zu machen, sag es einfach^^.

Sofern du die Aufgabe nicht selber machst und dir mal anschaust wieso dass so gemacht wird, wirst du in deiner Klausur ziemlich schnell auf die Nase fallen.
 
Zuletzt bearbeitet von einem Moderator:
So habe das jetzt nocheinmal überarbeitet. Kann nur leider grade nicht testen ob es geht könnte mir jemand sagen ob das so stimmt?
 
Ich muss die Aufgabe nicht machen ich wollte nur wissen wie sie geht damit ich mein Wissen wieder auffrischen kann. Mein Compiler geht ( wieso auch immer ) allerdings nicht deswegen kann ichs nicht ausprobieren^^
 
Startwerte initialisiert man am Anfang der Deklaration, nicht mitten im Code.
Dein cin ist schon mal falsch: cin >>x[a]
Und du bildest gar keinen Mittelwert, sondern addierst bisher nur alle Zahlen zusammen.
 
Super danke für die Seite. Habs jetzt rausbekommen.
 
@0w3X
Wenn du C++ benutzt würde ich die std empfehlen:

Code:
#include <iostream>
#include <array>
#include <numeric>
 
int main() {
    std::array<int, 5> arr;
    for (auto &i : arr)
    {
        std::cout << "Bitte geben Sie eine Zahl ein: ";
        std::cin >> i;
        std::cout << std::endl;
    }

    std::cout << std::endl;
    std::cout << "Der Mittelwert lautet: " << static_cast<float>(std::accumulate(arr.begin(), arr.end(), 0))/arr.size(); 

    system("pause");
    return 0;
}
 
Zurück
Oben