Struktur
-
Kann mir einer helfen, leider kenn ich mich bis heute noch nicht mit Strukuren aus und sitze seid 2 tagen daran
1.)
struct complex {
double re, im;
};
z := a + b i (d.h. re= a, im= b) soll ausgegeben werden als a+bi, z := 0 + a i als ai,
z := 0 + 1 i als i und z := a + 0 i als a.2.)
struct student {
string name;
int matrnr;
};Beispielausgabe:
Andreas Schmidt
2131153.) double* feld;
Der Zeiger soll auf ein Feld zeigen, dessen L¨ange n in einer integer-Variable gespeichert
ist. Beispielausgabe f¨ur n = 5: [ 1 2 3 4 5 ]. Wenn beim Aufruf von ausgeben keine
Länge angegeben wird, soll standardmässig die Länge 1 zugrundegelegt werden, d.h. nur
der Wert, auf den der Zeiger direkt verweist, wird ausgegeben.Wäre euch sehr sehr sehr dankbar.
Firstrun
-
Sorry, ich versteh net was du willst
-
Ich soll das realiseren ohne klassen!!!! Dafür mit structuren .
Drei Versionen einer Funktion ausgeben, mit denen die folgenden Datentypen
wie angegeben ausgegeben werden: ...... der redt ist im ersten PostVielleicht kann mir jemand helfen ..danke im voraus
drei Versionen einer Funktion ausgeben, mit denen die folgenden Datentypen
wie angegeben ausgegeben werden.struct complex {
double re, im;
};z := a + b i (d.h. re= a, im= b) soll ausgegeben werden als a+bi, z := 0 + a i als ai,
z := 0 + 1 i als i und z := a + 0 i als a.Firstrun
-
Verstehs immer noch net, aber Strukturen sind doch wie Klassen, es gibt zwar nur den Sichtbarkeitsbereich public und Funktionen müssen ausgelagert werden, aber ansonsten musst du nicjht viel ändedrn, wenn du weist wies mit Klassen geht.
mfg
Glamdring
-
Was soll das := bedeuten??? meinst du nicht /=?
mfg
Glamdring
-
Verstehe ich ja auch kaum wie ich das als structur machen soll ??
Hier ist so ne andere Aufgabe ( auch mit Strukturen zu lösen)
double* feld;
Der Zeiger soll auf ein Feld zeigen, dessen Länge n in einer integer-Variable gespeichert
ist. Beispielausgabe für n = 5: [ 1 2 3 4 5 ]. Wenn beim Aufruf von ausgeben keine
Länge angegeben wird, soll standardmässig die Länge 1 zugrundegelegt werden, d.h. nur
der Wert, auf den der Zeiger direkt verweist, wird ausgegeben.Also mir sagt das gar nichts .. vielleicht kannst du helfen
danke im voraus
Firstrun
-
Ich kann mir nur vorstellen das diese Übung Überladung zeigen soll:
void Ausgabe(double * feld) { cout<<*feld; } void Ausgabe(double * feld,int len) { for(int i = 0;i < len;++i,++feld) cout<<*feld; } int main(int argc, char * argv[]) { double t[5] = {1,2,3,4,5}; Ausgabe(t); Ausgabe(t,5); return 0; }
Die Struktur verstehe ich an dem Punkt nicht. Eventuell sowas ?
struct Ausgabe2 { void operator()(double * feld); void operator()(double * feld,int len); }; void Ausgabe2::operator()(double * feld) { cout<<*feld; } void Ausgabe2::operator()(double * feld,int len) { for(int i = 0;i < len;++i,++feld) cout<<*feld; } int main(int argc, char * argv[]) { double t[5] = {1,2,3,4,5}; Ausgabe2 ausg; ausg(t); ausg(t,5); return 0; }
-
Danke ...
nur ich selbst verstehe die Aufgabe auch netAlso
double* feld;
Der Zeiger soll auf ein Feld zeigen, dessen Länge n in einer integer-Variable gespeichert
ist.
Beispielausgabe für n = 5: [ 1 2 3 4 5 ].
Wenn beim Aufruf von ausgeben keine
Länge angegeben wird, soll standardmässig die Länge 1 zugrundegelegt werden, d.h. nur
der Wert, auf den der Zeiger direkt verweist, wird ausgegeben.Das heisst wenn man ein Feld mit 5 Werten hat dann soll er 1 2 3 4 5 ausgeben
Wenn man aber direkt ausgeben drückt ohne die Felder aufgefüllt zu haben dann soll immer die Länge " 1 " ausgegeben werden , eben nur der Zeiger .Nur wie soll ich das als " struct " darstellen.
Also die Fuktion soll glaube ich so aussehen
Menü:
1.) Feld belegen
2.) Feld ausgebencout << " Ein Feld wird nun belegt von 1 beginnend << endl;
cin >> >> *feld endl;Er soll solange irgendetwas in ein Feld speichern von 1 bis n , solange man es nicht ausgiebt .
Wenn das Feld leer ist , soll nur der Zeiger aufs erste Feld ausgegeben werden.Hoffe du kannst mir helfen ..
Bist mir eine Grosse Hilfe am Sonntag
Firstrun
-
hallo ?
-
Vielleicht sowas:
struct foo { int* ptr; }; void ausgeben(foo* structure) { for(int i=0; i<strlen(*structure->ptr); ++i) cout << "In ptr[<<i<<"] steht:"<<structure->ptr[i]<<endl; }
Hab aber keine Ahnung
mfg
Glamdring
-
Naja wo ist den die Eingabe??
Also man muss irgendwas in n Felder eingeben und dann wieder ausgeben können.
Wenn nix eingegeben worden ist soll nur 1 ausgegeben werdenHmm grübbel grübbel
einer ne Idee?!
-
Gut, dann:
int&din() { string eing; cout << "Wollen sie ein Element einbgeben (J/N)" << endl; cin >> einmg; static int ar[5]; int counter = 0; while (eing == "J") { if(counter<5) { int zahl; cout << "Bitte geben sie eine Zahl ein" <<endl; cin >> zahl; ar[counter] = zahl; ++counter; cout << "Wollen sie ein Element einbgeben (J/N)" << endl; cin >> eing; } } return(ar); }
So???
mfg
Glamdring
-
Das sieht vernünftig aus ... nur
Man soll ja auch ausgeben können .. also dann 1 , 2 ,3 ,4 ,5
Und direkt ausgeben können das dann nur eine 1 rauskommtDanke
Firstrun
-
Keiner ne Idee?!
-
Firstrun schrieb:
Man soll ja auch ausgeben können .. also dann 1 , 2 ,3 ,4 ,5
Und direkt ausgeben können das dann nur eine 1 rauskommtGlamdring