ERLEDIGT
NEIN
NEIN
ANTWORTEN
6
6
ZUGRIFFE
362
362
EMPFEHLEN
-
hallo alle zusammen,
ich suche den c++ Programmcode zu der folgenden Problematik.
Geben Sie bitte eine Funktion zum Testen von wieOft an.
int testWieOft();
Im Rumpf von testWieOft sind:
3 int‐Variablen, iV1, iV2, iV3 zu vereinbaren und zu initialisieren.
‐‐ iV1 sei mit 1,
‐‐ iV2 sei mit 2
‐‐ iV3 sei mit 3 initialisiert.
Weiter seien 3 int‐Adress‐Variablen iPv1, iPv2, iPv3 zu vereinbaren und zu intialisieren.
‐‐ iPv1 sei mit der iV1‐Referenz,
‐‐ iPv2 sei mit der iV2‐Referenz
‐‐ iPv3 sei mit der iV3‐Referenz initialisiert.
Geben Sie bitte anschliessend im Rumpf von testWieOft
6 wieOft()‐Aufrufe, so dass
1. Jede Variable in genau zwei verschiedenen wieOft()‐Aufrufen vorkommt und
2. Sichergestellt ist, dass genau die o. a. Ausgaben und keine anderen an
der Aufrufstelle zurueckgeliefert werden.
Ich habe das so verstanden, daß in er Funktion testwieoft() halt die Variablen zu deklarieren sind und im Rumpf der testwieoft() 6 mal die wieoft() Funktion aufgerufen werden soll, die die Variablen an die Aufrufstelle ...ja 1. von welcher Funktion zurückliefert und 2.wie soll das gehen das jede Variable zwei mal in zwei verschiedenen wieoft() Aufrufen vorkommt.
Ich bin ein Anfänger , aber ich habe gehört das man in "nicht main Funktionen" keine anderen Funktionen aufrufen soll..
-
1. Ist das hier kein Hausaufgaben-Forum, es wird somit Eigeninitiative erwartet. Wenn du also schon Code hast, der nicht so funktioniert wie er soll, so solltest du uns diesen zeigen.
In einer "nicht main Funktion" kann und wird man natürlich Funktionen aufrufen, ich weiß nicht, wo du das herhast.
Gruß,
baddayGalaxy under Fire - 24/7 Online-Real-Time-Strategy-Game - servers are already running - Wir suchen einen Texturier für 3D-Modelle (bei Interesse einfach PM ;) )
-
aso verstehe.also ich habe keinen code gepostet.richtig.nur die aufgabe und meine gedanken dazu.sorry.
hier ist er : ( wie kann ich ihn in einer Bilddatei posten ? bin wie gesagt absoluter neulig hier und in c++ )
#include <cstdlib>
#include <iostream>
using namespace std;
int wieOft()
{
}
int testWieOft()
{
int iV1=1, iV2=2, iV3=3;
int *iPv1=&iV1, *iPv2=&iV2, *iPv3=&iV3;
wieOft();
wieOft();
wieOft();
wieOft();
wieOft();
wieOft();
}
int main()
{
testWieoft();
system("PAUSE");
return 0;
}
ich weiss nicht genau welche parameter ich an die wieoft() fkt. packen soll xD
funktionen ? das stand in einem buch bzw. script , daß es nicht erwünscht ist, funktionen in funktionen aufzurufen.
gruß
b.
-
Also Code solltest du in Tags machen
Ich weiß nicht, ob unter int-Adress-Variablen Zeiger gemeint sind, ich nehme es mal an.HTML-Code:[cpp] dein Code [/cpp]
Dann kannst du folgendes machen:
Code cpp:1 2 3 4 5
void wieOft(int *i1, int *i2) { ++(*i1); ++(*i2); }
Was passiert hier? wieOft() übernimmt 2 Zeiger auf integer-Objekte. D. h. ihm werden nicht die Objekte übergeben, die er dann kopiert und somit temp. Objekte erzeugt, die einen Gültigkeitsbereich besitzen, der auf die Funktion beschränkt ist (genannt: pass-by-value), sondern hier wird die Adresse des tatsächlichen Objekts, dessen Gültigkeitsbreich in deinem Fall der Rumpf der Funktion testWieOft ist. Es wird also nicht das Objekt an sich übergeben, sondern ein Verweis auf dieses Objekt.
Was bedeutet
?Code cpp:1
++(*i1);
Zunächst wird hier der Zeiger dereferenziert, d. h. durch "*" (sog. Dereferenzierungsoperator) erhalten wir Zugriff auf das Objekt, auf das i1 zeigt, sozusagen die in testWieOft definierte Variable. Das "++" davor ist ein Pre-inkrementoperator. Ob du hier den Pre-Inkrementoperator oder den Post-Inkrementoperator benutzt, spielt hier keine Rolle.
Solltest du noch Fragen haben, stelle sie einfach
Galaxy under Fire - 24/7 Online-Real-Time-Strategy-Game - servers are already running - Wir suchen einen Texturier für 3D-Modelle (bei Interesse einfach PM ;) )
-
vielen dank
ich glaube auch das zeiger gemeint sind.
übrigens ..zitieren kann ich auch nicht ...sch..xD
aber ich bin mir nicht sicher, ob die variablen inkremeniert werden sollen ..
-->
6 wieOft()‐Aufrufe, so dass
1. Jede Variable in genau zwei verschiedenen wieOft()‐Aufrufen vorkommt und
2. Sichergestellt ist, dass genau die o. a. Ausgaben und keine anderen an
der Aufrufstelle zurueckgeliefert werden.
ich habe das so verstanden, das jede variable einmal mit referenz und einmal mit zeigern übergeben werden können, weil so kommt jede variable 2 mal in 2 verschiedenen wieoft() fkt vor .. ..ich verstehe die aufgabenstellung einfach nicht .. habe das so gemacht ..xD
Code cpp:1 2 3 4 5 6
wieOft(iV1,&iPv1); wieOft(iV2,&iPv2); wieOft(iV3,&pIv3); wieOft(&iV1,iPv1); wieOft(&iV2,iPv2); wieOft(&iV3,iPv3);
-
Gute Frage, was hier nun mit Referenz gemeint ist.Weiter seien 3 int‐Adress‐Variablen iPv1, iPv2, iPv3 zu vereinbaren und zu intialisieren.
‐‐ iPv1 sei mit der iV1‐Referenz,
‐‐ iPv2 sei mit der iV2‐Referenz
‐‐ iPv3 sei mit der iV3‐Referenz initialisiert.
Du kannst das ganze nat. auch mit Referenzen machen:
Nur: Wofür solltest du dann diese "int‐Adress‐Variablen" benutzen?Code :1 2 3 4 5
void wieOft(int &i1, int &i2) { ++i1; ++i2; }
Offengestanden finde ich die Aufgabenstellung auch verwirrend, und bevor ich dir was falsches sage, lasse ich es lieber
Galaxy under Fire - 24/7 Online-Real-Time-Strategy-Game - servers are already running - Wir suchen einen Texturier für 3D-Modelle (bei Interesse einfach PM ;) )
-
Danke dir trotzdem
Ähnliche Themen
-
[c++] Pointer auf konstanten Pointer-Parameter setzen
Von digitalFreeman im Forum C/C++Antworten: 4Letzter Beitrag: 18.02.09, 11:11 -
Invalid Pointer Addition.. wo is denn da n pointer !
Von GartenUmgraben im Forum Borland CBuilder und VCLAntworten: 3Letzter Beitrag: 29.07.06, 16:48 -
[C] Prüfen, ob Inhalt von Pointer auf Pointer existiert
Von mc_gulasch im Forum C/C++Antworten: 4Letzter Beitrag: 07.07.06, 13:34 -
Aus Zwei Pointer Arrays mache ein Pointer Array
Von janosch im Forum C/C++Antworten: 1Letzter Beitrag: 22.12.05, 09:27 -
[C++] Objekt Pointer zuweisen und Methoden auf Pointer realisieren?
Von Ezzz im Forum C/C++Antworten: 6Letzter Beitrag: 02.11.03, 21:23





Zitieren
Login






