mediengestalter.info
FAQ :: Mitgliederliste :: MGi Team

Willkommen auf dem Portal für Mediengestalter

Aktuelles Datum und Uhrzeit: Do 28.03.2024 22:40 Benutzername: Passwort: Auto-Login

Thema: array stückweise umkehren vom 30.11.2007


Neues Thema eröffnen   Neue Antwort erstellen MGi Foren-Übersicht -> Programmierung -> array stückweise umkehren
Autor Nachricht
remote
Threadersteller

Dabei seit: 10.11.2006
Ort: /var/www/
Alter: 109
Geschlecht: Männlich
Verfasst Fr 30.11.2007 00:21
Titel

array stückweise umkehren

Antworten mit Zitat Zum Seitenanfang

eigentlich ein ganz simples ding - aber irgendwie stell ich mich ein bischen (arg) blöd an.

Ich versuche einen Array der ein Bild (1024x768 Pixel) beinhaltet umzudrehen - allerdings nicht komplett, sondern häppchenweise.

Code:

sa[] = { "A 1 ", "A 2 ", "A 3 ", "A 4 ", "B 1", "B 2 ", "B 3 ", "B 4 ", "C 1", "C 2 ", "C 3 ", "C 4 "};
// soll nach der Schleife so aussehen:
newSa[] = { "A 4 ", "A 3 ", "A 2 ", "A 1 ", "B 4", "B 3 ", "B 2 ", "B 1 ", "C 4", "C 3 ", "C 2 ", "C 1 "};



optisch:

Code:

A1  A2  A3  A4
B1  B2  B3  B4
C1  C2  C3  C4


=>

Code:

A4  A3  A2  A1
B4  B3  B2  B4
C4  C3  C2  C1


Vorab herzlichen Dank für den Zaunpfahl * Wo bin ich? * * Ich bin müde... *
  View user's profile Private Nachricht senden
phihochzwei
Moderator

Dabei seit: 08.06.2006
Ort: Mülheim an der Ruhr
Alter: 46
Geschlecht: Männlich
Verfasst Fr 30.11.2007 06:17
Titel

Antworten mit Zitat Zum Seitenanfang

Mach doch ein assoziatives Array draus.

quasi

Code:

Array[A][0],Array[A][1],Array[A][2]
Array[B][0],Array[B][1],Array[B][2]
Array[C][0],Array[C][1],Array[C][2]


Dann kannst Du ja zeilenweise ein reverse() machen.
  View user's profile Private Nachricht senden Website dieses Benutzers besuchen
Anzeige
Anzeige
Raumwurm

Dabei seit: 21.12.2004
Ort: -
Alter: -
Geschlecht: Männlich
Verfasst Fr 30.11.2007 06:39
Titel

Antworten mit Zitat Zum Seitenanfang

... oder aber mit array-chunk zerteilen und
dann wie FlamingArt schon meinte zeilenweise
umdrehen und am Ende wieder zusammenmergen.
  View user's profile Private Nachricht senden
remote
Threadersteller

Dabei seit: 10.11.2006
Ort: /var/www/
Alter: 109
Geschlecht: Männlich
Verfasst Fr 30.11.2007 08:40
Titel

Antworten mit Zitat Zum Seitenanfang

leider kein php... deswegen die schleife. es geht um processing (java).


// Mach doch ein assoziatives Array draus.

An der Struktur des ersten arrays kann ich nix ändern ...und die schleife um das ganze neu zu sortieren macht mir kopfschmerzen *Schnief*


Zuletzt bearbeitet von remote am Fr 30.11.2007 08:50, insgesamt 1-mal bearbeitet
  View user's profile Private Nachricht senden
phihochzwei
Moderator

Dabei seit: 08.06.2006
Ort: Mülheim an der Ruhr
Alter: 46
Geschlecht: Männlich
Verfasst Fr 30.11.2007 09:55
Titel

Antworten mit Zitat Zum Seitenanfang

Die Frage ist, wie sehen die Daten aus ?
  View user's profile Private Nachricht senden Website dieses Benutzers besuchen
tschifu

Dabei seit: 28.01.2003
Ort: Ingelheim
Alter: 42
Geschlecht: -
Verfasst Fr 30.11.2007 14:32
Titel

Antworten mit Zitat Zum Seitenanfang

wenn processing keine mehrdimensionale Arrays unterstützen, wie kannst du dann bitte Bilder in den Speicher bzw in die Processing Umgebung laden? Da ein Bild ja aus Zeilen und Spalten besteht. Ich kann mir das schlecht vorstellen, und da Processing auf Java basiert müsste es doch möglich sein.

Wie ich sehe werden Bilder in Processing folgender Maßen geladen:
Code:

PImage foto; 
void setup() { 
 
size(400, 400); 
foto = loadImage("schmetterling.jpg");


Das Problem hierbei ist wohl nun, dass Processing Bilder als Objekte speichert und nicht als Array. Du müsstest mal recherchieren ob Processing Downcast machen können oder ob es in der Klasse PImage() die methode length() gibt, die dir die länge des Arrays zurückgibt. Über size(x, y) hast du eh die werte wie lang die Arrays sind. So könntest du dann ber eine Schleife die Elemente des Arrays manipulieren.

So und hier steht ja was näheres zu PImage:
processing org

wichtig ist für dich wohl:
Zitat:
Fields
width image width
height image height
pixels[] array containing the color of every pixel in the image
Methods
get() Reads the color of any pixel or grabs a rectangle of pixels
set() Writes a color to any pixel or writes an image into another


Zuletzt bearbeitet von tschifu am Fr 30.11.2007 14:48, insgesamt 2-mal bearbeitet
  View user's profile Private Nachricht senden Website dieses Benutzers besuchen
Skyw4lker

Dabei seit: 30.08.2004
Ort: Bergisch Gladbach
Alter: 43
Geschlecht: Männlich
Verfasst Fr 30.11.2007 15:34
Titel

Antworten mit Zitat Zum Seitenanfang

Code:
public static void main(String[] args)
{
      String sa[] = { "A 1 ", "A 2 ", "A 3 ", "A 4 ", "B 1", "B 2 ", "B 3 ", "B 4 ", "C 1", "C 2 ", "C 3 ", "C 4 "};
      String formerChar = sa[0].substring(0, 1);   
      int swapPos = 0;
      int tmpCounter = 0;
      
      for (int i = 0; i < sa.length; i++)
      {
         
         final String actualString = sa[i];
         String actualChar = actualString.substring(0, 1);
         
         if(actualChar.equals(formerChar) && i < sa.length-1)
            tmpCounter++;
         else if(i == sa.length-1)
         {
            swapPos = i;
            final String tmpArray[] = new String[tmpCounter+1];
            int x = 0;
            for(int j = i;swapPos-tmpCounter <= j;j--)
            {
               tmpArray[x] = sa[j];
               x++;
            }
            
            for (int j = 0; j < tmpArray.length; j++)
            {
               sa[swapPos+1 - tmpArray.length + j] = tmpArray[j];
            }
         }
         else
         {
               swapPos = i;
               final String tmpArray[] = new String[tmpCounter];
               int x = 0;
               for(int j = i-1;swapPos-tmpCounter <= j;j--)
               {
                  tmpArray[x] = sa[j];
                  x++;
               }
               
               for (int j = 0; j < tmpArray.length; j++)
               {
                  sa[swapPos - tmpArray.length + j] = tmpArray[j];
               }
               tmpCounter = 0;
               i--;
         }
         
         
         formerChar = actualString.substring(0, 1);
      }
      
      System.out.println(sa);
}



Schön ist es nicht, jedenfalls nicht besonders elegant, bevor einer meckert *zwinker*
  View user's profile Private Nachricht senden
 
Ähnliche Themen Fieses PHP/MySQL-Skript gibt nur "Array Array Array..." aus
[flash] Array aus PHP
[PHP] INSERT INTO ein Array
Array addieren
Array Problem
AS Array durchlaufen
Neues Thema eröffnen   Neue Antwort erstellen
MGi Foren-Übersicht -> Programmierung


Du kannst keine Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum nicht antworten.
Du kannst an Umfragen in diesem Forum nicht mitmachen.