in C ein Array mit For aufsummieren...

Zorrtis

Grünschnabel
Hallo,

schon lange verfolge ich Beiträge in diesem Forum, aber jetzt brauch ich mal spezielle Hilfe, ich soll für mein Studium in Wirtschaftsinformatik folgende Aufgabe lösen:
"Erstellen Sie ein Programm, das die Ganzzahlen von 1 bis 10 in einem Array speichert und dieses Array mit Hilfe einer for Schleife aufsummiert. Die Summe soll anschließend ausgegeben werden."

Ich habe mir das folgendermaßen gedacht, allerdings klappt es nicht so und was anderes fällt mir einfach nicht ein:

Code:
#include <stdio.h>
#include <stdlib.h>

int z [1][10]={1,2,3,4,5,6,7,8,9,10};

int main ()
{
    for (int z=[0][0];z<=[0][9];z [0][++])
    
    {   
        printf("%i\n", z);
    }
        system("PAUSE");
        return 0;
        
}


Wäre super wenn mir einer helfen könnte. Danke schonmal!

Edit: Mir fällt grad auf, dass ich die eigentliche aufsummierung ganz außer acht gelassen habe, hoffe ihr könnt trotzdem was draus machen^^
 
Hallo Zorrtis,

Du hast ein zwei-dimensionales Array aufgebaut, was Du aber gar nicht benötigst!

Code:
int main ()
{
        // Array füllen
        int iArray[10];
        for( int i = 0; i < 10; i++ )
        {    
             iArray[i] = i+1;  // Element 0, aber Wert 1
        }

       // Array ausgebenen
       for( i=0; i<10; i++ )
       {   
            printf("%i\n", iArray[i]);
       }
       
       system("PAUSE");
       return 0;
}

So geht's ;-) ...

Wichtig dabei ist, dass der Index bei einem Array der Länge 10 von 0 - 9 läuft!!

Hoffe, dass es Dir weiterhilft!

Gruß
Klaus
 
Zuletzt bearbeitet:
Super ich danke euch erst einmal, jetzt habe ich aber folgendes Problem, mein compiler gibt folgender Fehlermeldung an:

Zeile 14 (die "for Zeile" von Array ausgeben) name lockup of `i' changed for new ISO `for' scoping

Zeile 8 (die "for Zeile" von Array füllen) using obsolete binding at `i'


Eine Idee?
 
Super ich danke euch erst einmal, jetzt habe ich aber folgendes Problem, mein compiler gibt folgender Fehlermeldung an:

Zeile 14 (die "for Zeile" von Array ausgeben) name lockup of `i' changed for new ISO `for' scoping

Zeile 8 (die "for Zeile" von Array füllen) using obsolete binding at `i'
Die Variable i ist nur innerhalb der ersten Schleife bekannt. Das war bei früheren C++ Compilern nicht der Fall.

Deshalb ist die Variable i in der zweiten Schleife nicht deklariert.

Du mußt die Variable i in beiden Schleifen deklarieren, d.h. beide Schleifen müssen so aussehen:
C++:
for (int i = 0; i < 10; ++i) {
  ...
}
Gruß
 
okay, jetzt läufts danke, nur ist das was rauskommt, nicht das was die aufgabe ist. Das Programm zeigt jetzt eine Auflistung von 1-10 an, allerdings sollten die Werte miteinander summiert werden?!

Hat einer eine Ahnung?

danke nochma für eure Hilfe
 
Sorry, das hatte ich wohl überlesen und mich mehr auf deinen ersten Code konzentriert :suspekt:

Code:
int main ()
{
        // Array füllen
        int iArray[10];
        for( int i = 0; i < 10; i++ )
        {    
             iArray[i] = i+1;  // Element 0, aber Wert 1
        }

       // Array ausgebenen
       int iErgebnis = 0;
       for( i=0; i<10; i++ )
       {   
        iErgebnis += iArray[i];
        // oder, falls es Dein Complier nicht kann ;-)
        // iErgebnis = iErgebnis + iArray[i];
       }
        
       printf("%i\n", iErgebnis);       

       system("PAUSE");
       return 0;
}

So geht's ...

Gruß
Klaus
 
Zurück