Fragen über Fragen
-
Hallo Leute,
ich muss 3 C++ Programme schreiben und habe überhaupt keine ahnung wie ich dabei vorgehen muss.könnte ihr mir dabei helfen? wäre super wenn ihr mir die folgenden programme schreiben würdet. viel spaß dabei!
hier die programme:
a) Schreiben Sie eine Funktion
int sa(int k,int n[],int i[]){...}
die fuer ein beliebig hochdimensionales Feld die Speicherabbildung berechnet.
Dabei ist
k : Anzahl der Dimensionen des Feldes (k>0)
n : Feld mit der Anzahl der Komponenten in den einzelnen Dimensionen des Fel-
des
i : Feld mit den Index-Werten in den einzelnen Dimensionen des Feldes
Formen Sie die Speicherabbildung um in ein Horner-Schema. Machen Sie das Hor-
ner-Schema "schleifentauglich". Belassen Sie hierbei den Indizierungsbeginn
fuer n und i wie in der Vorlesung bei 1. Korrigieren Sie hierzu die entsprech-
enden Pointer geeignet.b) Wenn man die Speicherabbildung
S = i1*n2*n3 + i2*n3 + i3
als Horner-Schema schreibt
S = (i1*n2+i2)*n3+i3
erkennt man sofort, wie man die Umkehrabbildung
S -> [i1][i2][i3]
erhaelt:
S3=S
S3 : n3 = S2 Rest i3
S2 : n2 = S1 Rest i2
S1 : n1 = 0 Rest i1
Schreiben Sie eine Funktion
bool ik(int k,int n[],int i[]){...}
die fuer ein beliebig hochdimensionales Feld prueft, ob eine gegebene Index-
Kombination noch einer Komponente innerhalb des Feldes entspricht. Falls ja,
liefert die Funktion true, sonst false. Wenn die Funktion true liefert, dann
schreibt sie gleichzeitig in das Feld i die zulaessige Index-Kombination, die
der angesprochenen Feldkomponente entspricht.
k, n und i haben die Bedeutung wie in der vorherigen Aufgabe.c) Eine main-Funktion liest ein
* die Dimension (>0) eines Feldes
* die Anzahl der Komponenten des Feldes in den einzelnen Dimensionen
* eine Index-Kombination fuer das Feld
Das Programm gibt dann den Wert fuer die Speicherabbildung aus und sagt, ob
dieser Wert innerhalb des Feldes liegt. Falls ja, wird noch die zur Speicher-
abbildung gehoerige zulaessige Index-Kombination ausgegeben.MFG
-
hehe... Ja juhu wir machen das liebend gern... immer her damit.. wir haben auch genügen Zeit... und wollen auch kein Geld ..
-
Watermann schrieb:
Hallo Leute,
wäre super wenn ihr mir die folgenden programme schreiben würdet. viel spaß dabei!Fertig! Hat wirklich Spass gemacht. Mehr!

-
könnt ihr mir wenigstens aufgabenteil a verraten??wäre echt super!
-
Watermann schrieb:
könnt ihr mir wenigstens aufgabenteil a verraten??wäre echt super!
Nenn dich "SexyHexy" und stell die Frage nochmal.
-
hab gedacht hier wird einem geholfen aber anscheinend ja doch wohl nicht

-
suche mal nach taschenrechner. Ansonst wirst du nur Sand ...
-
Zu wenig Eigenleistung.
-
Helfen bedeutet nicht deine Arbeit zu machen.
Zeig mal was du schon hast und wo deine Probleme sind.
-
Ich würde dir gern helfen, habe aber genau so wenig Plan wie du

-
es scheitert leider schon im ansatz.
-
Welchem Ansatz?
-
ich weiß überhaupt nicht wie man bei solchen vorgehen muss
-
Hast du dich seit deinem Studium bzw. was immer es ist auser Saufen und Party auch mal Mit C++ beschäftigt? Weist du was ne variable ist?
-
Tja, dann solltest du vielleicht erst einmal einen C++-Anfängerkurs für Dummies machen. Bedienung eines Editors etc.
-
Brich das Studium ab.. hat kein Sinn

-
die grundlagen wie z.b was eine variable b.z.w. ein editor ist weiß ich natürlich. das ist auch nicht das problem. mein problem liegt darin, dass ich überhaupt noch keine erfahrung mit pointer oder ähnichem habe.
-
Ohne, dass Du Eigeninitiative zeigst, wird Dir vermutlich keiner "helfen". Aber das wurde dir schon gesagt. Weitere Posts ohne ebendiese sind zwecklos.
cheers, Swordfish
-
Dann fang doch einfach mal an. Schreibe eine Funktion, die einfach mal noch nichts macht und überprüfe, ob sie das macht, was du willst. Was sie offensichtilch nicht macht. Dann gehst du her und schaust, WAS die machen soll. Und dann überlegst, wie DU das machen würdest. Und dann musst du das nur noch übersetzen in die Programmiersprache.
Sprich, wenn du eine Funktion haben willst, die 1 und 1 zusammenzählt und dir das Ergebnis zurückgibt, dann machst du einfach mal:
int add (int zahl_1, int zahl_2) { return 0; } int main () { int ergebnis = add (1, 1); std::cout << ergebnis << std::endl // Ausgabe: 0 return 0; }Das macht ja offensichtlich nicht das, was du willst. Also überlegst du, was DU mit 2 Zahlen machen musst, damit du auf das Ergebnis kommst. Aha.. du addierst die einfach. Zum Glück kann man in C++ auch rechnen und man kann einach das machen:
int add (int zahl_1, int zahl_2) { int ergebnis = zahl_1 + zahl_2; return ergebnis; } int main () { int ergebnis = add (1, 1); std::cout << ergebnis << std::endl // Ausgabe: 2 return 0; }Und schon hast du einen Ansatz,der auch richtig ist. Und erst, wenn du das 2-3 Stunden selber gemacht hast und nie auf das richtige Resultat kommst, kannst du mal deinen Code hier posten und dann und auch wirklich nur dann wird dir geholfen.
-
Vielen dank für deine Tips! Werde es nun mal selber versuchen. Falls ich nicht weiter komme meld ich mich nochmal!