B
ByeBye 249714
Hallo, ich habe versucht ein Programm zu schreiben, inwelchem der Benutzer Zahlen eingeben kann (die in einem Array gespeichert werden), dann eingibt, von welcher Arrayposition aus die Zaheln aufsummiert, und, wieviele Arraypositionen aufsummiert werden sollen.
1. Problem: "Nachdem der Benutzer die "0te" Zahl eingibt stürzt das Programm mit der Meldung "Unbehandelte Ausnahme bei 0x68054ada (msvcr80d.dll) in Summenbrechnung.exe: 0xC0000005: Zugriffsverletzung beim Schreiben an Position 0xcccccccc." ab. Ist etwas an dem Code oder etwas grundlegendes falsch?
2. Sache: Bei "int meinezahlen[1000]" habe ich die 1000 in die Klammern gesetzt. Eigentlich wollte ich, das dort die Zahl steht, die der Benutzer für "Zahlanzahl" auserkoren hat. Aber wenn ich "Zahlanzahl" oder ähnliches in die eckigen Klammern setze kommt eine Fehlermeldung... wie mache ich das korrekt?
Ich benutze Visual Studio 2005.;c++
1. Problem: "Nachdem der Benutzer die "0te" Zahl eingibt stürzt das Programm mit der Meldung "Unbehandelte Ausnahme bei 0x68054ada (msvcr80d.dll) in Summenbrechnung.exe: 0xC0000005: Zugriffsverletzung beim Schreiben an Position 0xcccccccc." ab. Ist etwas an dem Code oder etwas grundlegendes falsch?
2. Sache: Bei "int meinezahlen[1000]" habe ich die 1000 in die Klammern gesetzt. Eigentlich wollte ich, das dort die Zahl steht, die der Benutzer für "Zahlanzahl" auserkoren hat. Aber wenn ich "Zahlanzahl" oder ähnliches in die eckigen Klammern setze kommt eine Fehlermeldung... wie mache ich das korrekt?
Code:
#include <stdio.h>
#include "stdafx.h"
int summe_rek(int zahlen[], int start, int anzahl) {
if (anzahl == 0) return 0;
return zahlen[start] + summe_rek(zahlen, start + 1, anzahl - 1);
}
int main() {
int Zahlanzahl;
printf("Wieviele Zahlen möchten sie eingeben?\n");
scanf_s("%i", &Zahlanzahl);
int meinezahlen[1000];
int i;
for (i = 0; i <= Zahlanzahl; i++) {
printf("%i te Zahl:\n", i);
scanf("%i", meinezahlen[i]);
}
int start,anzahl;
printf("Ab welcher Zahl möchten sie aufsummieren?\n");
scanf_s("%i", &start);
printf("Wie viele Zahlen möchten sie aufsummieren?\n");
scanf_s("%i", &anzahl);
printf("Summe: %i\n", summe_rek(meinezahlen, start, anzahl));
getchar();
getchar();
return 0;
}
Ich benutze Visual Studio 2005.;c++
Zuletzt bearbeitet von einem Moderator: