Hallo user037b03, hier in C. An der Ausgabeformatierung (printf) kann man noch "arbeiten". Ich habe mal nur die Standardausgabefunktion von C benutzt. Der sizeof() liefert die Anzahl Bytes. Da ich das Array als int definiert habe muss man, um die Anzahl Elemente zu bekommen, die Anzahl aller Bytes durch die Anzahl eines Elements teilen. Ich hätte also auch arr[2] nehmen können. Wenn das Array vom Typ char wäre bräuchte man die Rechenoperation nicht. In C kannst du ein Array "unvollständig" definieren. Der Compiler macht es dann so groß wie du es initialisierst. Das Programm läuft also auch noch korrekt wenn du noch 10 Werte dazu definierst. Es ist auch erlaubt die Schleifenvariable direkt in der FOR Schleife zu definieren. Ob das nun ein "guter" Stil ist, ist Ansichtssache. C lässt einem viel Freiheiten - manchmal auch zu viel. Gruß jobe
int arr[]={5,11,3,1,10};
int main(void)
{
for (unsigned int i=1; i<sizeof(arr) / sizeof(arr[0]); i++)
{
arr[i] = arr[i-1]+1;
printf("Durchgang: %d Wert: %d", i, arr[i]);
}
}
Sonstiger Berufsstatus, Punkte: 470
Hallo user037b03, ich könnte (nur) eine Lösung in C anbieten. Interessiert? Gruß jobe
─ jobe 08.11.2022 um 08:06