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

Informatiker Board » Themengebiete » Praktische Informatik » Arrays symmetrisch oder nicht? » Antwort erstellen » Hallo Gast [Anmelden|Registrieren]

Antwort erstellen
Benutzername: (du bist nicht eingeloggt!)
Thema:
Nachricht:

HTML ist nicht erlaubt
BBCode ist erlaubt
Smilies sind erlaubt
Bilder sind erlaubt

Smilies: 21 von 33
smileWinkDaumen hoch
verwirrtAugenzwinkerngeschockt
Mit ZungeGottunglücklich
Forum Kloppebösegroßes Grinsen
TanzentraurigProst
TeufelSpamWillkommen
LehrerLOL HammerZunge raus
Hilfe 
aktuellen Tag schließen
alle Tags schließen
fettgedruckter Textkursiver Textunterstrichener Text zentrierter Text Hyperlink einfügenE-Mail-Adresse einfügenBild einfügen Zitat einfügenListe erstellen CODE einfügenPHP CODE farbig hervorheben
Spamschutz:
Text aus Bild eingeben
Spamschutz

Die letzten 6 Beiträge
Björn

Vielen Dank für deine Antwort :-)
eulerscheZahl

Wenn du in der Schleife counter erhöhst und von laenge 1 abziehst, ist laenge am Ende 0.

Zitat:
return counter==array.length/2?true:false;

oder auch return counter==array.length/2; smile

Etwas kompakter:
code:
1:
2:
3:
4:
5:
6:
7:
8:
public static boolean isSymmetrie(int[] array) {
	int l = array.length;
	for (int i = 0; i < l / 2; i++) {
		if (array[i] != array[l - 1 - i])
			return false;
	}
	return true;
}
Björn

Hab meinen Fehler gefunden, so müsste es stimmen :-)

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:
package javaissymmetrie;

public class JavaisSymmetrie 
{
    public static void main(String[] args) 
    {
        int [] array = {3,4,1,5,1,3,3}; 
        System.out.println(isSymmetrie(array));
    }
    
    public static boolean isSymmetrie (int [] array)
    {
        int laenge = array.length;
        int counter = 0; 
        for (int i=0; i<array.length/2;i++)
        {
            if (array[i]==array[laenge-1])
            {
                ++counter; 
            }
            --laenge; 
        }
       return counter==array.length/2?true:false; 
    }
}

Björn

Ich klinke mich hier mal mit ein, denn genau die gleiche Aufgabe habe ich auch :-)

Mein Lösungsansatz funktioniert aber nicht ganz wie ich es gerne hätte:

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:

package javaissymmetrie;

public class JavaisSymmetrie 
{
    public static void main(String[] args) 
    {
        int [] array = {1,2,3,3,2,1}; 
        System.out.println(isSymmetrie(array));
    }
    
    public static boolean isSymmetrie (int [] array)
    {
        int laenge = array.length;
        int counter = 0; 
        for (int i=0; i<array.length;i++)
        {
            if (array[i]==array[laenge-1])
            {
                ++counter;
            }
        --laenge; 
        }
       return counter==laenge?true:false;  
    }

}



Vielen Dank für etwailige Vorschläge :-)
Karlito

Hallo,

ich denke das lässt sich am einfachsten bewerkstelligen, indem du in einer Schleife über das array gehst.

Du übergibst der Funktion ja das Array, wie du es geschrieben hast. Dann prüfst du in der Schleife ob die Bedingung zutrifft.

Versuche mal bitte einen Ansatz zu posten, und bitte schreibe dazu, welche Sprache benutzt wird.

VG,

Karlito
InFlames Arrays symmetrisch oder nicht?

Hey Leute!

Ich bin neu hier & weiß nicht ganz ob meine Frage genau hier reingehört, aber ich probier's einfach mal smile

Leider bin ich absolut kein Informatikgenie traurig Aber da ich für eine Prüfung büffeln muss, muss das iwie in meinen Kopf. Hier eine Aufgabe die ich nicht ganz verstehe:

Ein Abschnitt eines Arrays wird beschrieben durch den ersten Index und den letzten Index. Er ist symmetrisch, wenn das erste Element des Abschnitts gleich dem letzten ist, das zweite gleich dem vorletzten usw.

Erstellen Sie eine Funktion die überprüft, ob ein Abschnitt eines Arrays symmetrisch ist oder nicht. Die Funktion soll true bzw. false zurückgeben.

Bsp.:

isSymm(array(1,2,3,4)) -> false

Wie sieht der Lösungsweg aus? Keine Angst, ihr sollt nicht meine Hausaufgaben machen Augenzwinkern Ich bin Studentin und brauche einfach ein wenig Hilfe um durch diese miese Prüfung zu kommen großes Grinsen

Über Hilfe bin ich dankbar! smile

Liebe Grüße Wink