www.matheraum.de
Das Matheforum.
Das Matheforum des MatheRaum.

Für Schüler, Studenten, Lehrer, Mathematik-Interessierte.
Hallo Gast!einloggen | registrieren ]
Startseite · Forum · Wissen · Kurse · Mitglieder · Team · Impressum
Forenbaum
^ Forenbaum
Status Mathe
  Status Schulmathe
    Status Primarstufe
    Status Mathe Klassen 5-7
    Status Mathe Klassen 8-10
    Status Oberstufenmathe
    Status Mathe-Wettbewerbe
    Status Sonstiges
  Status Hochschulmathe
    Status Uni-Analysis
    Status Uni-Lin. Algebra
    Status Algebra+Zahlentheo.
    Status Diskrete Mathematik
    Status Fachdidaktik
    Status Finanz+Versicherung
    Status Logik+Mengenlehre
    Status Numerik
    Status Uni-Stochastik
    Status Topologie+Geometrie
    Status Uni-Sonstiges
  Status Mathe-Vorkurse
    Status Organisatorisches
    Status Schule
    Status Universität
  Status Mathe-Software
    Status Derive
    Status DynaGeo
    Status FunkyPlot
    Status GeoGebra
    Status LaTeX
    Status Maple
    Status MathCad
    Status Mathematica
    Status Matlab
    Status Maxima
    Status MuPad
    Status Taschenrechner

Gezeigt werden alle Foren bis zur Tiefe 2

Navigation
 Startseite...
 Neuerdings beta neu
 Forum...
 vorwissen...
 vorkurse...
 Werkzeuge...
 Nachhilfevermittlung beta...
 Online-Spiele beta
 Suchen
 Verein...
 Impressum
Das Projekt
Server und Internetanbindung werden durch Spenden finanziert.
Organisiert wird das Projekt von unserem Koordinatorenteam.
Hunderte Mitglieder helfen ehrenamtlich in unseren moderierten Foren.
Anbieter der Seite ist der gemeinnützige Verein "Vorhilfe.de e.V.".
Partnerseiten
Mathe-Seiten:Weitere Fächer:

Open Source FunktionenplotterFunkyPlot: Kostenloser und quelloffener Funktionenplotter für Linux und andere Betriebssysteme
StartseiteMatheForenSonstiges - InformatikArray: Element löschen
Foren für weitere Studienfächer findest Du auf www.vorhilfe.de z.B. Astronomie • Medizin • Elektrotechnik • Maschinenbau • Bauingenieurwesen • Jura • Psychologie • Geowissenschaften
Forum "Sonstiges - Informatik" - Array: Element löschen
Array: Element löschen < Sonstige < Schule < Informatik < Vorhilfe
Ansicht: [ geschachtelt ] | ^ Forum "Sonstiges - Informatik"  | ^^ Alle Foren  | ^ Forenbaum  | Materialien

Array: Element löschen: Korrektur benötigt
Status: (Frage) beantwortet Status 
Datum: 19:25 Do 08.04.2010
Autor: su92

Eingabefehler: "{" und "}" müssen immer paarweise auftreten, es wurde aber ein Teil ohne Entsprechung gefunden (siehe rote Markierung)

Aufgabe
Wie kann man in Array ein Element löschen???

Hallo,

Also ich habe eine Idee, aber ich glaube, dass sie komplett falsch ist!!!


public class ListealsFeld () {

     //variablen
     static  int  Liste[] = new int [5];
     static int  Letztes = -1000;
    //Die Liste mit Inhalt fuellen
    public static void fuellen (){
    Liste[0] = 1;
    Liste[1] = 2;
    Liste[2] = 3;
    Liste[3] = 4;
    Liste[4] = Letztes;
}

   //Mit dieser Methode soll die Zwei aus der Liste entfernt werden.
    int List = newArray("1""2""3""4""Letztes");
    int loeschen = 2 // Die zwei soll aus der liste entfernt weden.
      for (int i =0;i<Liste.lenght;i++)
      Liste[i] = Liste [i + 1];

    //Gibt die Liste aus
    public static void ausgabe() {
            int i =0;
            while (Liste[i] != Letztes){
                     System.out.print(Liste [i]+ " " );
            i++;
            }
            System.out.println(Liste[i]);
     }



ist das so richtig ?? Würde das so funktionieren??

Ich hoffe ihr könnt mir weiter helfen.
Ah, ich soll dazu noch ein "Struckturgramm" entwickeln, aber ich kann das nicht. Könnt ihr mir Tipps geben, wie man bei allen Methoden schnell ein Struckturgramm entwickeln kann ?? Und wie ist das in diesem Fall, also wenn man aus einem Array ein Element löschen möchte?

Ich bedanke mich im vorraus

Schöne Grüße
Su

        
Bezug
Array: Element löschen: Antwort
Status: (Antwort) fertig Status 
Datum: 23:53 Do 08.04.2010
Autor: Event_Horizon

Eingabefehler: "{" und "}" müssen immer paarweise auftreten, es wurde aber ein Teil ohne Entsprechung gefunden (siehe rote Markierung)

Hallo!

> Eingabefehler: "{" und "}" müssen immer paarweise
> auftreten, es wurde aber ein Teil ohne Entsprechung
> gefunden (siehe rote Markierung)
>  
> Wie kann man in Array ein Element löschen???
>  Hallo,
>  
> Also ich habe eine Idee, aber ich glaube, dass sie komplett
> falsch ist!!!
>  
>


> public class ListealsFeld () {
>  
> //variablen
>       static  int  Liste[] = new int [5];
>       static int  Letztes = -1000;
>      //Die Liste mit Inhalt fuellen
>      public static void fuellen (){
>      Liste[0] = 1;
>      Liste[1] = 2;
>      Liste[2] = 3;
>      Liste[3] = 4;
>      Liste[4] = Letztes;
>   }
>  
> //Mit dieser Methode soll die Zwei aus der Liste entfernt
> werden.
>      int List = newArray("1""2""3""4""Letztes");
>      int loeschen = 2 // Die zwei soll aus der liste
> entfernt weden.
>        for (int i =0;i<Liste.lenght;i++)
>        Liste = Liste [i + 1];

Hier gibt es zwei Probleme:
Erstens ersetzt du JEDES Element in der Liste durch das nächste.
Entweder beginnt deine FOR-Schleife mit i=loeschen, dann würde das Ersetzen erst beim dritten Element anfangen.
Oder du machst sowas:

int gefunden=0;
for(int i=0; i<Liste.length;i++){
  if(Liste[i]==loeschen){
    gefunden=1;
  }
  if(gefunden==1){
    Liste[i]=Liste[i+1]
  }
}

Das Ersetzen geht erst dann los, wenn ein Element vom Wert loeschen gefunden wurde.

Zweitens geht deine Schleife bis inclusive i=(Liste.length -1). Das heißt, im letzten Durchlauf ist i=4. Und damit wird im letzten Durchlauf Liste[4]=Liste[5] gemacht, aber Liste[5] existiert ja nicht. Nimm daher besser i<(Liste.length-1)
Keine Ahnung, was JAVA macht, wenn man Liste[5] versucht, anszusprechen. C meckert nicht, schreibt dann aber Müll in das letzte Element.




>
> //Gibt die Liste aus
>      public static void ausgabe() {
>              int i =0;
>              while (Liste != Letztes){
>                       System.out.print(Liste + " " );
>              i++;
>              }
>              System.out.println(Liste);
>       }

Der Teil würde tatsächlich funktionieren, aber dein Array ist ja immernoch gleich lang, im letzten Element steht ja immernoch was drin.


Was hälst du von folgendem billigen Weg:

Mach dir neben deinem Array eine Variable, die die Größe des Arrays enthält:


    Liste[0] = 1;
    Liste[1] = 2;
    Liste[2] = 3;
    Liste[3] = 4;
    Liste[4] = 5;

    groesse=5;


Wenn du einen Wert rauskickst, machst du auch diese Variable um eins kleiner:


    Liste[0] = 1;
    Liste[1] = 3;
    Liste[2] = 4;
    Liste[3] = 5;
    Liste[4] = 5;

    groesse=4;

und greifst anschließend drauf so zu:

for(int i=0; i<groesse;i++){
}

Damit bastelst du dir eine eigene, "gültige" Länge. Allerdingst bleibt der Speicherplatz von Liste[4] natürlich immernoch belegt...


Was nun dein Struktogramm angeht:

Nun, du solltest wissen, wie darin ne FOR- und WHILE-Schleife oder ne IF-Anweisung aussieht. Versuch doch mal schrittweise, das hinzuzeichnen. Letztendlich hast du deinen Code schon, und willst daraus das Diagramm machen, das ist einfacher als umgekehrt.



Bezug
Ansicht: [ geschachtelt ] | ^ Forum "Sonstiges - Informatik"  | ^^ Alle Foren  | ^ Forenbaum  | Materialien


^ Seitenanfang ^
www.matheforum.net
[ Startseite | Forum | Wissen | Kurse | Mitglieder | Team | Impressum ]