[C/C++] problem mit übergabe array an funktion

Dieses Thema im Forum "Programmierung & Entwicklung" wurde erstellt von Richie, 24. Mai 2008 .

Status des Themas:
Es sind keine weiteren Antworten möglich.
  1. 24. Mai 2008
    problem mit übergabe array an funktion

    hallo ,

    ich habe hier eine Aufgabe aber in einer Zeile bekomme ich immer einen Fehler, da ich nicht genau weiß wie ich den Array bzw die Felder übergeben muss, also an die Funktion

    habe die Aufgabe aber soweit gelöst.

    in der Rot Markierten Zeile ist das Problem .

    wäre nett wenn ihr mir sagen würdet wie das im allgemeinen und dann auf meinen fall bezogen funktioniert.

    lg

    Code:
    [COLOR=Green]/*Aufgabenstellung
    Aufbauend auf Ihrem Programm der ersten Ubungen (Annuitatsberechnung) schreiben Sie Ihre Funktionen
    zur Erstellung der Tilgungsplane so um, dass Sie die berechneten Werte fur Jahr, Restschuld, Zinsen, Rate
    und Annuitat in einem zweidimensionalen Feld gespeichert werden. Geben Sie im Anschlu an die vollstandige
    Berechnung den Inhalt Ihres Feldes aus.
    Schauen Sie sich mit Hilfe des Debuggers an, wie die Werte im Feld gespeichert werden und wie Sie diese
    dann wieder auslesen.
    Zusatz: Greifen Sie mittels Zeigerarithmetik auf Ihr Feld zu und geben Sie dieses auf diesem Weg aus*/[/COLOR]
    
    
    #include <iostream>
    #include <cmath>
    
    using namespace std;
    
    
     double array1 [3][2]; [COLOR=Green] // array [zeile][spalte]
     // 0 1
     //0 Schuld | Laufzeit
     //1 Zinssatz | Annuitaet,
     //2 Zinsfaktor | nicht vergebener Wert,[/COLOR]
     
     double berechne_annuitaet (double, double, double); [COLOR=Green]// Prototyp der Funktion mit passenden Datentypen.[/COLOR]
    
    
    int main ()
    
    {
     
     
    
     cout << "geben sie die schuld an" << endl;
     cin >> array1 [0][0]; [COLOR=Green]// Schuld in Feld 0 0 abgelegt[/COLOR]
     cout << "geben sie die laufzeit an" << endl;
     cin >> array1 [0][1]; [COLOR=Green]// Laufzeit in Feld 0 1 abgelegt[/COLOR]
     cout << "geben sie den zinssatz an" << endl;
     cin >> array1 [1][0]; [COLOR=Green] // Zinssatz in Feld 1 0 abgelegt[/COLOR]
    
     array1 [1][1] = berechne_annuitaet (array1 [0][0], array1 [0][1], array1 [1][0]);
     
     cout << "die annuitaet betraegt: " << array1 [1][1] << endl ;
     
     return 0;
    }
    
    [U][I][B][COLOR=Red]double berechne_annuitaet (double array1 [0;0],double array1 [0;1] ,double array1 [1;0])[/COLOR][/B][/I][/U]
    {
     
    
     array1 [2][1] = 1 + (array1 [1][0] / 100) ; [COLOR=Green]// Formel zur Errechnung des Zinsfaktors welcher in unterer Rechnung zur Annuitaet benötigt wird[/COLOR]
     array1 [1][1] = array1 [0][0] * (pow (array1 [2][1], array1 [0][1]) * (array1 [2][1] - 1)) / (pow (array1 [2][1], array1 [0][1]) -1 ) ; [COLOR=Green]// Berechnung zur Annuitaet[/COLOR]
     
     return array1 [1][1];
    
    }
     
  2. 24. Mai 2008
    AW: problem mit übergabe array an funktion

    Probiers mal so:

    Code:
    #include <iostream>
    #include <cmath>
    
    using namespace std;
    
    
     double array1 [2][2]; // array [zeile][spalte]
     // 0 1
     //0 Schuld | Laufzeit
     //1 Zinssatz | Annuitaet,
     //2 Zinsfaktor | nicht vergebener Wert,
     
     double berechne_annuitaet (double, double, double); // Prototyp der Funktion mit passenden Datentypen.
    
    
    int main ()
    
    {
     
     
    
     cout << "geben sie die schuld an" << endl;
     cin >> array1 [0][0]; // Schuld in Feld 0 0 abgelegt
     cout << "geben sie die laufzeit an" << endl;
     cin >> array1 [0][1]; // Laufzeit in Feld 0 1 abgelegt
     cout << "geben sie den zinssatz an" << endl;
     cin >> array1 [1][0]; // Zinssatz in Feld 1 0 abgelegt
    
     array1[1][1] = berechne_annuitaet (array1[0][0], array1[0][1], array1[1][0]);
     
     cout << "die annuitaet betraegt: " << array1 [1][1] << endl ;
     
     return 0;
    }
    
    double berechne_annuitaet (double dSchuld, double dLaufzeit, double dZinssatz)
    {
     
     double dZinsfaktor;
     
     dZinsfaktor = 1 + (dZinssatz / 100) ; // Formel zur Errechnung des Zinsfaktors welcher in unterer Rechnung zur Annuitaet benötigt wird
     return (dSchuld * (pow (dZinsfaktor, dLaufzeit) * (dZinsfaktor - 1)) / (pow (dZinsfaktor, dLaufzeit) -1 )); // Berechnung zur Annuitaet
    }
     
  3. 24. Mai 2008
    AW: problem mit übergabe array an funktion

    du hast quasi nichts anderes gemacht als die formel zur berechnung wieder umgeformt sodass dort keine arrays drin vorkommen.

    in der main hast du dann schließlich die werte jedoch als array übergeben

    und den wert vom zinsfaktor hast du lokal in die berechnung gelegt, ebenfalls aus dem "array system herausgenommen" .

    somit hast du auch nur eine 2 X 2 matrix angelegt.

    seh ich das so richtig ?
     
  4. 24. Mai 2008
    AW: problem mit übergabe array an funktion

    Richtig.

    Nein. Ich übergebe die Werte, die im Array an den entsprechenden Indizes stehen, an die Funktion.

    Beispiel:

    Der Benutzer gibt ein:

    Schuld: 1000
    Laufzeit: 5
    Zinssatz: 5

    Dann ist

    Code:
    array1[1][1] = berechne_annuitaet (array1[0][0], array1[0][1], array1[1][0]);
    das gleiche wie


    Code:
    array1[1][1] = berechne_annuitaet (1000, 5, 5);
    Richtig.

    Was meinst du damit? Falls du meinst, dass die Dimensionen des Arrays jeweils nur 2 Indizes haben: ja.

    Hab mir grade die Aufgabenstellung durchgelesen und gesehen, dass ich den Zusatz mit Zeigern nicht eingebaut hab. Aber da du das vorher auch noch nicht hattest, will ich dir nichts vorwegnehmen :]
     
  5. 24. Mai 2008
    AW: problem mit übergabe array an funktion

    ja das ist nett danke

    ich will das selbst machen und nicht gemacht bekommen.

    möchte mir lediglich denkanstöße holen.

    dann schreib ich das nochmal neu.

    und ja das mit der 2x2 matrix meinte ich wie du es ausgedrückt hast.

    ich muss mir den fachchargon erst angewöhnen

    danke für deine hilfe wenn du mal was brauchst melde dich.
     
  6. 24. Mai 2008
    AW: problem mit übergabe array an funktion

    [X] Erledigt!?

    ~closed~

    Mfg,

    Kolazomai
     
  7. Video Script

    Videos zum Themenbereich

    * gefundene Videos auf YouTube, anhand der Überschrift.