Registrierung Kalender Mitgliederliste Teammitglieder Suche Häufig gestellte Fragen Zur Startseite

Informatiker Board » Themengebiete » Praktische Informatik » Array c++ » Hallo Gast [Anmelden|Registrieren]
Letzter Beitrag | Erster ungelesener Beitrag Druckvorschau | An Freund senden | Thema zu Favoriten hinzufügen
Seiten (2): « vorherige 1 [2] Neues Thema erstellen Thema ist geschlossen
Zum Ende der Seite springen Array c++
Autor
Beitrag « Vorheriges Thema | Nächstes Thema »
C++
unregistriert
Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

code:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
  #include <iostream>

using namespace std;

int main() {
    string fruechte[5] = {"Ananas", "Apfel", "Banane", "Birne", "Blaubeere"};

    for (int i = 0; i < 5; i++) {

            if (fruechte[i][i+1] == fruechte[i][a] ) {


                cout << fruechte[i] << endl;


}

}

}
    



Für mich würde es so sinn ergeben , aber es funktioniert nicht weil das a nicht definiert ist.
28.04.2013 12:26
Airblader Airblader ist männlich
Doppel-As


Dabei seit: 03.03.2013
Beiträge: 138
Herkunft: München

Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

Ich klinke mich hier nun aus. Ich hatte schon vorher gesagt, dass es ermüdend ist, wenn man einfach nur ignoriert wird und den nächsten Rateversuch kommentieren soll. Erhalte ich keine Antwort auf meinen Beitrag, dann schreibe ich eben auch keine mehr.

Dennoch weiterhin viel Erfolg beim Programmieren.

__________________
The best thing about a boolean is that even if you're wrong, you're only off by a bit.

Dieser Beitrag wurde 1 mal editiert, zum letzten Mal von Airblader: 28.04.2013 12:31.

28.04.2013 12:30 Airblader ist offline Beiträge von Airblader suchen Nehmen Sie Airblader in Ihre Freundesliste auf
C++
unregistriert
Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

Zitat:
Original von Airblader
Verwende für die Darstellung von Code bitte die Code-Tags (über dem Textfeld die Raute).

code:
1:
string fruechte[5] = {Ananas , Apfel, Banane , Birne , Blaubeere };


Dies ist falsch (kompiliert das überhaupt?). DIe Früchte sind Strings und müssen dementsprechend in Anführungszeichen gesetzt werden.

code:
1:
string frucht = " Ananas";


Mal abgesehen davon, dass diese Zeile fehl am Platze ist,
hast du hier ein Leerzeichen drin, das dir bei Aufgaben wie "überprüfe den zweiten Buchstaben" gehörig in die Suppe spucken wird. C++ ist eine Programmiersprache und als solche gibt es auch Dinge wie eine vernünftige Darstellung und "Rechtschreibung", auf die du unbedingt achten musst; denn im Gegensatz zu Menschen im Alltag verzeiht dir ein Computer keine Sprachfehler.

Gehen wir also mal hiervon aus:

code:
1:
2:
3:
4:
5:
6:
7:
#include <iostream>

using namespace std;

int main() {
    string fruechte[5] = {"Ananas", "Apfel", "Banane", "Birne", "Blaubeere"};
}


Für Aufgabe a) wollen wir alle Früchte überprüfen, d.h. wir müssen eine Schleife über alle Früchte machen:

code:
1:
2:
3:
for (int i = 0; i < 5; i++) {
    // ....
}


Innerhalb der Schleife schauen wir uns das Element fruechte[i] an, das nun nacheinander eben die Werte "Ananas", "Apfel" usw. hat. Den zweiten Buchstaben des Wortes erhalten wir dann entsprechend über fruechte[i][1]. Und diesen Wert wollen wir nun überprüfen, d.h. innerhalb der Schleife muss etwas in dieser Art stehen:

code:
1:
2:
3:
if (/* irgendwas mit fruechte[i][1] */) {
    // gib fruechte[i] aus
}


Jetzt bist du erstmal wieder dran, dich mit diesen Informationen daran zu versuchen.


DAs sind die 2 Sätze .

Aber ich weiss immer nochn icht was ich falsch mache.

So funktioniert mein programm aber der code ist immer noch falsch.

#include <iostream>

using namespace std;

int main() {
string fruechte[5] = {"Ananas", "Apfel", "Banane", "Birne", "Blaubeere"};


for (int i = 0; i < 5; i++) {

if (fruechte[i][1] == fruechte[i][i+1] ) {




cout << fruechte[i] << endl;


}

}

}

Bin verzweifelt.
28.04.2013 12:44
C++
unregistriert
Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

Soll ich das a irgendwie vorher definieren?
28.04.2013 13:02
C++
unregistriert
Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

Magst du die Frage irgendwann auch mal beantworten, wieso du der Meinung bist, dass das Vergleichen des zweiten Bichstabens mit dem des nächsten Wortes irgendwas damit zu tun hat, ob der zweite Buchstabe ein a ist

Wenn ich so richtig jetzt denke .
Ist das doch irgendwie falsch.
28.04.2013 13:26
C++
unregistriert
Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

Habs:

code:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
#include <iostream>

using namespace std;

int main() {
    string fruechte[5] = {"Ananas", "Apfel", "Banane", "Birne", "Blaubeere"};


    for (int i = 0; i < 5; i++) {

            if (fruechte[i][i+1] ==  'a' ) {




                cout << fruechte[i] << endl;


}

}

}
28.04.2013 14:05
Karlito Karlito ist männlich
Kaiser


Dabei seit: 11.04.2011
Beiträge: 1.461

Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

Hallo,

ich empfehle dir: nimm dir ein Buch und lerne die Grundlagen. Jede hilfe hier ist nur dann möglich, wenn Du weißt was du überhaupt tust. Bei jedem Schritt rätst Du noch etwas dazu. Du kannst auch noch 10 mal deinen Namen hier wechseln. Das wird dir nicht weiter helfen. Die Helfer hier werden immer wieder die Geduld verlieren! Du kennst ja meine Meinung bereits aus vorhergehenden Beiträgen als du als Nutzer "info" geschrieben hast, oder?.

Hier ist eine Reihe von Tipps wo Du dir Grundlagen anarbeiten kannst. Dabei bitte auch die Bücher durcharbeiten. Deine Rateversuche hier sind einfach nicht Sinnvoll und Zielführend.

Auch kannst Du einach mal versuchen den Code anderer nachzuvollziehen. Dabei lernt man auch viel. Dazu ist es aber auch wichtig, dass Du die Grundlagen verstehst. Das hier ist kein Deutschunterricht, wo man einfach was schreibt, was gut oder sinnvoll klingt! Die Bedeutung jedes einzelnen Zeichens ist Formal festgelegt wie in der Mathematik.

Und ja, du denkst offensichtlich Falsch. Das liegt daran, dass du nicht Systematisch an die Sache rangehst! Ein Buch kann dabei helfen.

Ich wünsche dir viel erfolg weiterhin. Gern kannst Du Verständnisfragen weiterhin hier Stellen, aber bitte erst dann, wenn Du dich in der Lage siehst, die Antworten zu verstehen.

VG,

Karlito
28.04.2013 14:06 Karlito ist offline E-Mail an Karlito senden Beiträge von Karlito suchen Nehmen Sie Karlito in Ihre Freundesliste auf
Airblader Airblader ist männlich
Doppel-As


Dabei seit: 03.03.2013
Beiträge: 138
Herkunft: München

Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

Im Übrigen ist obiger Code noch immer falsch. Und ich denke auch, dass es hier an mehr fehlt als nur "Programmier-Wissen".

Die eher bescheidenen Versuche, mich doch noch zu einer Antwort zu bewegen, indem man meinen ellenlangen Beitrag zitiert und sagt "Da sind die zwei Sätze", lasse ich im Interesse aller mal lieber unkommentiert.

__________________
The best thing about a boolean is that even if you're wrong, you're only off by a bit.
28.04.2013 14:29 Airblader ist offline Beiträge von Airblader suchen Nehmen Sie Airblader in Ihre Freundesliste auf
C++
unregistriert
Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

Ja ich weiss ich hätte es auch so schreiben können :

fruechte[i][1] == 'a'

Aber ich verstehe nicht warum es auf beide weise funktioniert?
28.04.2013 15:18
Airblader Airblader ist männlich
Doppel-As


Dabei seit: 03.03.2013
Beiträge: 138
Herkunft: München

Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

Tut es nicht. Die Ausgabe für das Array mit fünf Früchten stimmt nur zufällig – wie man verifizieren kann, wenn man sich überlegt, was der Code tut.

__________________
The best thing about a boolean is that even if you're wrong, you're only off by a bit.
28.04.2013 15:31 Airblader ist offline Beiträge von Airblader suchen Nehmen Sie Airblader in Ihre Freundesliste auf
C++
unregistriert
Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

Na gut ich probiere mal weiter:

Ich hab mich jetzt an die b rangemacht:

code:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
39:
40:
41:
42:
43:
44:
45:
46:
47:
48:
49:
50:
51:
52:
53:
54:
55:
56:
57:
58:
59:
60:
61:
62:
63:
64:
65:
66:
67:
68:
69:
70:
71:
72:
73:
74:
75:
76:
77:
78:
79:
80:
81:
82:
83:
84:
85:
86:
87:
88:
89:
#include <iostream>
#include <string>

using namespace std;






int main() {

    char Eingabe;

    cin >> Eingabe;

    cout << "(A)alle Fruechte, die an 2. Stelle ein a haben, ausgeben " << endl;

    cout << "(B) aus dem Apfel eine Apfelsine machen, alten und neuen Wert ausgeben" << endl;

    cout << "(C)alle Fruechte, deren Name länger als 8 Zeichen ist, ausgeben " << endl;

    cout << " (D) (freiwillig) alle Fruechte, die im Namen beere haben,den Bestandteil ohne beere ausgeben" << endl;




    string fruechte[5] = {"Ananas", "Apfel", "Banane", "Birne", "Blaubeere"};




switch(Eingabe) {


    case 'a':

        Eingabe = 'A';


    for (int i = 0; i < 5; i++) {

            if (fruechte[i][1] ==  'a' ) {




                cout << fruechte[i] << endl;


}

}

  break;

    case'b':

    Eingabe = 'B';


       int tmp;


         string fruechte  = "Apfel";

        fruechte == "Apfelsine";

        fruechte == tmp;







        cout << tmp << endl;



        break;

  defaul:

  break;



} 


Ich hab versucht das string frucht zu verändern und dann in eine neue variable einzulesen und diese Auszugeben .

Was mache ich falsch ?

Ich komme seit stunden nicht auf den Fehler.

Bitte um tipps.
28.04.2013 16:09
C++
unregistriert
Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

code:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
39:
40:
41:
42:
43:
44:
45:
46:
47:
48:
49:
50:
51:
52:
53:
54:
55:
56:
57:
58:
59:
60:
61:
62:
63:
64:
65:
66:
67:
68:
69:
70:
71:
72:
73:
74:
75:
76:
77:
78:
79:
80:
81:
82:
83:
84:
85:
86:
87:
88:
89:
90:
 #include <iostream>
#include <string>

using namespace std;






int main() {

    char Eingabe;

    cin >> Eingabe;

    cout << "(A)alle Fruechte, die an 2. Stelle ein a haben, ausgeben " << endl;

    cout << "(B) aus dem Apfel eine Apfelsine machen, alten und neuen Wert ausgeben" << endl;

    cout << "(C)alle Fruechte, deren Name länger als 8 Zeichen ist, ausgeben " << endl;

    cout << " (D) (freiwillig) alle Fruechte, die im Namen beere haben,den Bestandteil ohne beere ausgeben" << endl;




    string fruechte[5] = {"Ananas", "Apfel", "Banane", "Birne", "Blaubeere"};




switch(Eingabe) {


    case 'a':

        Eingabe = 'A';


    for (int i = 0; i < 5; i++) {

            if (fruechte[i][1] ==  'a' ) {




                cout << fruechte[i] << endl;


}

}

  break;

    case'b':

    Eingabe = 'B';


       int tmp;


         string fruechte  = "Apfel";

        fruechte = "Apfelsine";









        cout << fruechte << endl;



        break;

  defaul:

  break;



}
}    


Oder wäre es einfach so in ordnung ?

Das scheint zu funktionieren?
28.04.2013 16:18
Karlito Karlito ist männlich
Kaiser


Dabei seit: 11.04.2011
Beiträge: 1.461

Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

Nein, das funktioniert nicht. Ich habe nicht den ganzen Code geprüft, aber der Fall 'b' ist unvollständig und es sind unnütze Anweisungen enthalten (Eingabe='A'). Fall a könnte evtl. funktionieren, ich bin jedoch nicht mehr bereit mich mit dem Code auseinanderzusetzen.

Zitat:
Original von C++
Das scheint zu funktionieren?


Das Fragezeichen zeigt, dass Du selbst nicht weißt ob der Code funktioniert... Ich glaube er sollte nicht einmal Compilieren (Schreibfehler in Zeile 83).

Ich finde es nicht sinnvoll den Thread fortzuführen und schließe ihn deshalb.

VG,

Karlito
28.04.2013 16:26 Karlito ist offline E-Mail an Karlito senden Beiträge von Karlito suchen Nehmen Sie Karlito in Ihre Freundesliste auf
Seiten (2): « vorherige 1 [2] Baumstruktur | Brettstruktur
Gehe zu:
Neues Thema erstellen Thema ist geschlossen
Informatiker Board » Themengebiete » Praktische Informatik » Array c++