Zum Inhalt springen

Quellcode C++


xknufflx

Empfohlene Beiträge

Hallo!:)

Ich habe folgende Aufgabe bekommen:

Aufgabe:

Deklariere ein Array, das 20 Elemente vom Typ int enthält.

Fülle das Array so, dass die Elemente mit geradem Index

den Wert 1 enthalten und die mit ungeradem Index den

Wert 2.

Diese soll ich in Quellcode im C++ schreiben und ich weiß jetz nich genau, wie ich da vorgehen soll..

Ich hab schon mal angefangen:

int Elemente[20];

Elemente[index] =

Kann mir jemand sagen, ob das soweit richtig ist und wie ich weiter vorgehen müsste?

Danke!

Gruß

Carina

Link zu diesem Kommentar
Auf anderen Seiten teilen

das is schonmal ein kleiner Anfang, ja :D

Ich geb Dir mal ein paar Stichworte und Du schreibst dann den Rest.

Gerade/Ungerade kann man mittels Modulo herausfinden. Das ist einer der Operatoren bei einer Integer-Division.

Das ganze verpackst Du dann in einer kleinen if-Sequenz und die wiederum in einer Schleife zum Beispiel for...

Fertig. :D

Link zu diesem Kommentar
Auf anderen Seiten teilen

Also ich hab's jetzt mal probiert zu lösen,

ist aber gut möglich, dass ich bisschen Müll geschrieben hab^^

Hab mit dem Programmieren erst angefangen :rolleyes:

#include <iostream>

using namespace std;

int main()

{

/* Aufgabe:

Deklariere ein Array, das 20 Elemente vom Typ int enthält.

Fülle das Array so, dass die Elemente mit geradem Index

den Wert 1 enthalten und die mit ungeradem Index den

Wert 2.

*/

int Elemente[20];

for(int Index = 0, Index <=19; Index++)

if (Index % 2 == 0)

{

("1");

}

else

{

("2");

}

char c;

cin >> c;

}

Link zu diesem Kommentar
Auf anderen Seiten teilen

Also ich hab's jetzt mal probiert zu lösen,

ist aber gut möglich, dass ich bisschen Müll geschrieben hab

Schaut doch schon ganz brauchbar aus. Nur das hier:

Elemente[index] =

... sollte noch mit rein. ;)

Achja: int und char sollte man auch nicht unbedingt durcheinander würfeln. :D

Link zu diesem Kommentar
Auf anderen Seiten teilen

@knuffl:

Das ist absolut kein Müll, das is doch fast perfekt.

In der for-schleife ist ein Komma drin, das darf da nicht hin, das muss ein Semikolon sein.

Wie Hexagon schon sagte, musst Du noch die Zuweisung ergänzen, so dass dann tatsächlich auch im Array am Index was drin steht.

Ein Special für Deinen Lehrer wäre zum Beispiel:

Anstelle von:


if (Index % 2 == 0)

	Elemente[Index] = 1;

else

	Elemente[Index] = 2;

Kannst Du auch:

Elemente[Index] = (Index % 2 == 0) ? 1 : 2;

benutzen. Hier ist das if-else einfach inline. Ein weiteres Schmankerl wäre, wenn Du anstatt der for-Schleife eine while-Schleife nimmst:

int Index = 20;

while ( Index-- )

    ...

Bei heutigen Compilern macht das zwar wenig aus und es füllt das Array von hinten, dafür gehts nen Tick schneller :D

Aber bitte treibe solche inline und kryptischen "Codeverbesserungen" nicht zuweit, da es so im Team schwerer wird Code des Anderen zu lesen.

@Hexagone:

ich vermute der char ist nur fürs cin gedacht.

@T3D:

da der for-schleife nur eine if-else-sequenz folgt ist das absolut ok.

Die Eingabe ist dafür, dass die cmd-Nox sich nicht sofort schliesst.

Cleveres Mädel. Andere hätten jetzt schon wieder nen Thread aufgemacht:

"Programm schliesst sich von alleine, bitte helfen" :D

Link zu diesem Kommentar
Auf anderen Seiten teilen

@knuffl:

Das ist absolut kein Müll, das is doch fast perfekt.

In der for-schleife ist ein Komma drin, das darf da nicht hin, das muss ein Semikolon sein.

Wie Hexagon schon sagte, musst Du noch die Zuweisung ergänzen, so dass dann tatsächlich auch im Array am Index was drin steht.

Ein Special für Deinen Lehrer wäre zum Beispiel:

Anstelle von:


if (Index % 2 == 0)

	Elemente[Index] = 1;

else

	Elemente[Index] = 2;

Kannst Du auch:

Elemente[Index] = (Index % 2 == 0) ? 1 : 2;

benutzen. Hier ist das if-else einfach inline. Ein weiteres Schmankerl wäre, wenn Du anstatt der for-Schleife eine while-Schleife nimmst:

int Index = 20;

while ( Index-- )

    ...

Bei heutigen Compilern macht das zwar wenig aus und es füllt das Array von hinten, dafür gehts nen Tick schneller :D

Aber bitte treibe solche inline und kryptischen "Codeverbesserungen" nicht zuweit, da es so im Team schwerer wird Code des Anderen zu lesen.

@Hexagone:

ich vermute der char ist nur fürs cin gedacht.

@T3D:

da der for-schleife nur eine if-else-sequenz folgt ist das absolut ok.

Die Eingabe ist dafür, dass die cmd-Nox sich nicht sofort schliesst.

Cleveres Mädel. Andere hätten jetzt schon wieder nen Thread aufgemacht:

"Programm schliesst sich von alleine, bitte helfen" :D

vielen Dank für die Tipps!! :):)

Link zu diesem Kommentar
Auf anderen Seiten teilen

@T3D:

da der for-schleife nur eine if-else-sequenz folgt ist das absolut ok.

Die Eingabe ist dafür, dass die cmd-Nox sich nicht sofort schliesst.

Cleveres Mädel. Andere hätten jetzt schon wieder nen Thread aufgemacht:

"Programm schliesst sich von alleine, bitte helfen" :D

ahjo stimmt ;)

vielleicht hatte mich auch nur die eingabe verwirrt :D

Link zu diesem Kommentar
Auf anderen Seiten teilen

Ist die Syntax in c++ nicht auch " for() {} "? Wenn ja hast du Klammern vergessen.

Nein.

Ohne Klammern wird die erste nachfolgende Anweisung ausgeführt und das ist die If-Else-Struktur.

[Edit]

Ok, VaNaTiC hats schon erwähnt...

Ist noch früh am Morgen... :hells:

Link zu diesem Kommentar
Auf anderen Seiten teilen

Schreibs halt gleich dazu wie das konkret geht, denn ehrlich gesagt, ich hab das noch nie anders als mit mod gemacht.
Man kann das mit Bitoperationen machen.

Es gibt sehr viele Lösungen zu dieser Aufgabe. Man kommt auch komplett ohne Schleife aus.

Das dürfte die einfachste Lösung sein:

int Elemente[20] = {1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2};
Ein anderes Beispiel:
int Elemente[20];

Elemente[0]=Elemente[2]=Elemente[4]=Elemente[6]=
Elemente[8]=Elemente[10]=Elemente[12]=Elemente[14]=
Elemente[16]=Elemente[18]=1;

Elemente[1]=Elemente[3]=Elemente[5]=Elemente[7]=
Elemente[9]=Elemente[11]=Elemente[13]=Elemente[15]=
Elemente[17]=Elemente[19]=2;[/code] Und noch eins:
[code]#include <algorithm>

int generator()
{
static int x = 2;
x = 3-x;
return x;
}

int main()
{
int Elemente[20];
std::generate( Elemente, Elemente + 20, generator );
}

Vermutlich soll beim Lösen der Aufgabe aber eine bestimmte, vorher besprochene Technik benutzt werden.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...