matheraum.de
Raum für Mathematik
Offene Informations- und Nachhilfegemeinschaft

Für Schüler, Studenten, Lehrer, Mathematik-Interessierte.
Hallo Gast!einloggen | registrieren ]
Startseite · Forum · Wissen · Kurse · Mitglieder · Team · Impressum
Forenbaum
^ Forenbaum
Status Hochschulmathe
  Status Uni-Analysis
    Status Reelle Analysis
    Status UKomplx
    Status Uni-Kompl. Analysis
    Status Differentialgl.
    Status Maß/Integrat-Theorie
    Status Funktionalanalysis
    Status Transformationen
    Status UAnaSon
  Status Uni-Lin. Algebra
    Status Abbildungen
    Status ULinAGS
    Status Matrizen
    Status Determinanten
    Status Eigenwerte
    Status Skalarprodukte
    Status Moduln/Vektorraum
    Status Sonstiges
  Status Algebra+Zahlentheo.
    Status Algebra
    Status Zahlentheorie
  Status Diskrete Mathematik
    Status Diskrete Optimierung
    Status Graphentheorie
    Status Operations Research
    Status Relationen
  Status Fachdidaktik
  Status Finanz+Versicherung
    Status Uni-Finanzmathematik
    Status Uni-Versicherungsmat
  Status Logik+Mengenlehre
    Status Logik
    Status Mengenlehre
  Status Numerik
    Status Lin. Gleich.-systeme
    Status Nichtlineare Gleich.
    Status Interpol.+Approx.
    Status Integr.+Differenz.
    Status Eigenwertprobleme
    Status DGL
  Status Uni-Stochastik
    Status Kombinatorik
    Status math. Statistik
    Status Statistik (Anwend.)
    Status stoch. Analysis
    Status stoch. Prozesse
    Status Wahrscheinlichkeitstheorie
  Status Topologie+Geometrie
  Status Uni-Sonstiges

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
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 Schulfächer findest Du auf www.vorhilfe.de z.B. Deutsch • Englisch • Französisch • Latein • Spanisch • Russisch • Griechisch
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.unimatheforum.de
[ Startseite | Forum | Wissen | Kurse | Mitglieder | Team | Impressum ]