www.vorhilfe.de
Vorhilfe

Kostenlose Kommunikationsplattform für gegenseitige Hilfestellungen.
Hallo Gast!einloggen | registrieren ]
Startseite · Forum · Wissen · Kurse · Mitglieder · Team · Impressum
Forenbaum
^ Forenbaum
Status Vorhilfe
  Status Geisteswiss.
    Status Erdkunde
    Status Geschichte
    Status Jura
    Status Musik/Kunst
    Status Pädagogik
    Status Philosophie
    Status Politik/Wirtschaft
    Status Psychologie
    Status Religion
    Status Sozialwissenschaften
  Status Informatik
    Status Schule
    Status Hochschule
    Status Info-Training
    Status Wettbewerbe
    Status Praxis
    Status Internes IR
  Status Ingenieurwiss.
    Status Bauingenieurwesen
    Status Elektrotechnik
    Status Maschinenbau
    Status Materialwissenschaft
    Status Regelungstechnik
    Status Signaltheorie
    Status Sonstiges
    Status Technik
  Status Mathe
    Status Schulmathe
    Status Hochschulmathe
    Status Mathe-Vorkurse
    Status Mathe-Software
  Status Naturwiss.
    Status Astronomie
    Status Biologie
    Status Chemie
    Status Geowissenschaften
    Status Medizin
    Status Physik
    Status Sport
  Status Sonstiges / Diverses
  Status Sprachen
    Status Deutsch
    Status Englisch
    Status Französisch
    Status Griechisch
    Status Latein
    Status Russisch
    Status Spanisch
    Status Vorkurse
    Status Sonstiges (Sprachen)
  Status Neuerdings
  Status Internes VH
    Status Café VH
    Status Verbesserungen
    Status Benutzerbetreuung
    Status Plenum
    Status Datenbank-Forum
    Status Test-Forum
    Status Fragwürdige Inhalte
    Status VH e.V.

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
Dt. Schulen im Ausland: Mathe-Seiten:

Open Source FunktionenplotterFunkyPlot: Kostenloser und quelloffener Funktionenplotter für Linux und andere Betriebssysteme
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.vorhilfe.de