Zum Inhalt springen
View in the app

A better way to browse. Learn more.

Fachinformatiker.de

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Empfohlene Antworten

Veröffentlicht

Hallo

hab eine Frage.

Wie kann ich diese Zeile verkürzen

summe = preise[0]+preise[1]+preise[2]+preise[3]+preise[4]+preise[5]+preise[6]+preise[7]+preise[8]+preise[9];

hmm bin noch ganz neu bei der sache könntest du es mal machen mit der schleife?

Du veränderst nur die Schreibweise, das Ergebnis bleibt gleich. Je nach Compiler (und dessen Einstellungen) kann es sein, dass für beide Varianten der gleiche Code generiert wird.


summe = preise[0];

for(int i=1;i<10;i++)

{

   summe+=preise[i];

}

hmmm klappt irgendwie net

also so sieht es komplett bei mir aus

#include <iostream.h>

void main()

{

float preise[10],summe,durchschnitt;

int i;

for(i=0; i<10; i++)

{

cout << "\n\n\tGeben Sie den " << i+1 << " .ten Preis ein! ";

cin >> preise;

}

summe = preise[0]+preise[1]+preise[2]+preise[3]+preise[4]+preise[5]+preise[6]+preise[7]+preise[8]+preise[9];

durchschnitt = summe/10;

cout << "\n\n\tDer Durchschnittspreis betr\x84gt: " <<durchschnitt << "Euro";

for(i=0; i<10; i++)

{

cout << "\n\n\tDer" << i+1 << " .te Preis ist: " << preise <<" Euro";

}

}

wie müsste es eigentlich verkürzt sein?

hmmm klappt irgendwie net

Was heisst "klappt nicht"?

Compiler-Fehler?

Fehlerhafte Ausgabe?

Oder ganz was anderes?

Wieso fängst du nicht einfach damit an dir die C Grundlagen mit einem Tutorial und/oder einem Buch selbst anuzlesen? Dann wirst du auch in der Lage sein diese Übungsaufgabe (ich gehe mal davon aus, dass es eine ist) selbst zu lösen.

hmmm klappt irgendwie net

Versuchs doch mal mit


summe = preise[0];


for(int i=1;i<10;i++)

{

   summe = summe + preise[i];

}

Hatte jetzt mal nen compiler, da gabs kein "+=" ... Achso.... der Grund, warum es bei dir nicht funktionierte könnte auch sein, dass die Variable "SUMME" nicht initialisiert war. also du musst vor der Schleife noch schreiben

summe = 0;

Es funktioniert, wie ich es gerade festgestellt habe, wahrscheinlich nicht, weil du versuchst eine falsche bibliothek einzubinden, er diese bei mir jedenfalls nicht.

richtig müsste es so heißen:


#include <iostream>

using namespace std;

das "using namespace std;" ist auch insoweit wichtig, da du sonst vor jedes cin oder cout "std::" schreiben müsstest.

und sonst befolge wirklich lieber den rat von perdi..

Es funktioniert, wie ich es gerade festgestellt habe, wahrscheinlich nicht, weil du versuchst eine falsche bibliothek einzubinden, er diese bei mir jedenfalls nicht.

richtig müsste es so heißen:


#include <iostream>

using namespace std;

das "using namespace std;" ist auch insoweit wichtig, da du sonst vor jedes cin oder cout "std::" schreiben müsstest.

und sonst befolge wirklich lieber den rat von perdi..

danke aber es läuft ja bei mir ganz normal das haben wir so in der schule gemacht nur wenn ich es mit der summe= preise[1] usw verkürze geht es nicht

danke aber es läuft ja bei mir ganz normal
Das ist kein Argument.

das haben wir so in der schule gemacht

Das schon gar nicht. Der Code entspricht so nicht dem Standard. Dass der Compiler, den du da gerade benutzt, das so akzeptiert, macht den Code nicht richtig.

nur wenn ich es mit der summe= preise[1] usw verkürze geht es nicht
perdi hat es doch schon gesagt:

Was heißt "es geht nicht"?

Eine ordentliche Fehlerbeschreibung ist die Grundvoraussetzung für jede weitere Hilfe.

Ja aber ich meine ja, dass es bei mir eigentlich geklappt hat aber ich probobier es auch so wie ihr es gesagt habt und nur die aufgabe war

diese Zeile zu verkürzen:

summe = preise[0]+preise[1]+preise[2]+preise[3]+preise[4]+preise[5]+preise[6]+preise[7]+preise[8]+preise[9];

damit ich nciht immer so viel schreiben muss

Ja aber ich meine ja, dass es bei mir eigentlich geklappt hat
Das habe ich schon verstanden. Du darfst daraus eben nur nicht den Schluss ziehen, dass das richtig ist.

nur die aufgabe war

diese Zeile zu verkürzen:

damit ich nciht immer so viel schreiben muss

Das hatten wir doch schon. Bubble hat geschrieben, wie du das mit einer Schleife machen kannst. Und du hast geschrieben, dass das nicht geht. Und trotz mehrfachen Nachfragens hast du bisher nicht geschrieben, was genau nicht geht. Also bitte.

Ich habe jetzt alles so gemacht wie ihr es gesagt habt. Sieht jetzt so aus:

#include <iostream>

using namespace std;

void main()

{

float preise[10],summe,durchschnitt;

int i;

for(i=0; i<10; i++)

{

cout << "\n\n\tGeben Sie den " << i+1 << " .ten Preis ein! ";

cin >> preise;

}

summe = preise[0];

for(int i=1;i<10;i++)

{

summe = summe + preise;

}

durchschnitt = summe/10;

cout << "\n\n\tDer Durchschnittspreis betr\x84gt: " <<durchschnitt << "Euro";

for(i=0; i<10; i++)

{

cout << "\n\n\tDer " << i+1 << " .te Preis ist: " << preise <<" Euro";

}

}

Aber es steht dann

:\Programme\Microsoft Visual Studio\MyProjects\Durchscnitt\durchschnitt1.cpp(27) : error C2086: 'i' : Neudefinition

Geht doch! :D

:\Programme\Microsoft Visual Studio\MyProjects\Durchscnitt\durchschnitt1.cpp(27) : error C2086: 'i' : Neudefinition

An dieser Stelle hält sich dein (ziemlich veralteter) Compiler nicht an den Standard. Du musst das "int" aus dem Initialisierungsteil der Schleife entfernen.

Und es heißt "int main", nicht "void main".

hmmm welches programm würdest du den mir emphälen

gott sei dank es hat geklappt wie ihr es gesagt habt

ich danke euch ganz herzlich nur welches Programm soll ich benutzen? Im Moment Microsoft Visual C++ 6.0

ich danke euch ganz herzlich nur welches Programm soll ich benutzen? Im Moment Microsoft Visual C++ 6.0
Du kannst bei MSVC 6 bleiben. Das Programm ist nur schon ziemlich alt, sogar älter als der C++-Standard.

MSVC 2005 (Express Edition) gibt es kostenlos bei Microsoft.

ich danke ecuh allen es hat ja schon geklappt

Hatte jetzt mal nen compiler, da gabs kein "+=" ...

Dann war das aber kein C oder C++ Compiler ;)

Dann war das aber kein C oder C++ Compiler ;)

Genau so... es war nämlich ein C2-Compiler...

das ist halb C, halb nicht C.

Aber wenn du den Ablauf verfolgst, war an dieser Stelle noch nicht klar, um welche Programmiersprache es sich handelt.

Erstelle ein Konto oder melde dich an, um einen Kommentar zu schreiben.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.