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

Informatiker Board » Themengebiete » Praktische Informatik » Arrays symmetrisch oder nicht? » Hallo Gast [Anmelden|Registrieren]
Letzter Beitrag | Erster ungelesener Beitrag Druckvorschau | An Freund senden | Thema zu Favoriten hinzufügen
Neues Thema erstellen Antwort erstellen
Zum Ende der Seite springen Arrays symmetrisch oder nicht?
Autor
Beitrag « Vorheriges Thema | Nächstes Thema »
InFlames InFlames ist weiblich
Grünschnabel


Dabei seit: 27.11.2012
Beiträge: 1

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

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

__________________
Tanzen
27.11.2012 19:56 InFlames ist offline Beiträge von InFlames suchen Nehmen Sie InFlames in Ihre Freundesliste auf
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 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
27.11.2012 20:22 Karlito ist offline E-Mail an Karlito senden Beiträge von Karlito suchen Nehmen Sie Karlito in Ihre Freundesliste auf
Björn
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

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 :-)
01.06.2015 08:39
Björn
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

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; 
    }
}

01.06.2015 11:47
eulerscheZahl eulerscheZahl ist männlich
Foren Gott


Dabei seit: 04.01.2013
Beiträge: 2.859

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

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;
}


__________________
Syntax Highlighting fürs Board (Link)
01.06.2015 15:56 eulerscheZahl ist offline Beiträge von eulerscheZahl suchen Nehmen Sie eulerscheZahl in Ihre Freundesliste auf
Björn
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

Vielen Dank für deine Antwort :-)
04.06.2015 19:21
Baumstruktur | Brettstruktur
Gehe zu:
Neues Thema erstellen Antwort erstellen
Informatiker Board » Themengebiete » Praktische Informatik » Arrays symmetrisch oder nicht?