Zum Inhalt springen

TheWho

Mitglieder
  • Gesamte Inhalte

    117
  • Benutzer seit

  • Letzter Besuch

Beiträge von TheWho

  1. Woraus schließt du, dass "er" in den case 3 reingeht? Hast du das mit dem Debugger geprüft?

    Weil ich die entsprechende Ausgabe des Programms bekomme. Da brauchte ich nichts zu debuggen.

    Danke, das hatte beliar ja bereits erklärt und ich werde versuchen, das umzusetzen.

    Den Inhalt der benachbarten Array-Elemente auslesen.

    Ich wollte von Euch auch kein Codereview, sondern nur eine Hilfestellung über offensichtliche syntaktische Fehler.

    Das glaube ich nicht.

    Dafür müßte ich Dir meinen gesamten Algorithmus erklären, das würde hier wohl etwas den Rahmen sprengen.

    Ja.

    Wenn es nicht möglich ist, mit einem Codeschnipsel den Fehler zu finden, dann sperre bitte den Thread. Ich hatte nicht gedacht, daß es so schwer ist. Tut mir leid.

  2. Hi,

    das der Titel blöd war, ist mir leider erst aufgefalllen, als ich nicht mehr editieren konnte. Tut mir leid. Bin ziemlich erkältet und wohl etwas neben der Spur... :hells:

    Die ordentliche Einrückung habe ich versucht, nur leider klappt das mit den html Sachen hier scheinbar nicht 100% - immer, wo ich Leerzeichen statt Tabs benutzt habe, war der Code wesentlich mehr eingerückt... Ließ sich dann auch nicht mehr korrigieren!

    Das Problem ist, daß er eben in den case-Fall 3 reingeht, obwohl getDirection() = 1 liefert. Für mich sieht es so aus, als ob er von case 1 in case 2 reinläuft, wo die Anweisung setDirection() = 3 vorkommt, und dann munter weiter in case 3.

    Das dürfte doch aber mit den breaks nicht sein, oder?

    Ich würde gern auf den "this-> Unsinn" verzichten, wenn ich es besser wüßte :confused: Nur steh ich gerade am Anfang mit meinen C++ Kenntnissen, und dachte, so wäre es richtig.

    Die gezeigte Methode ist eine von vier, die jeweils die "direkten Nachbarn" aller Richtungen eines 2dim Arrays ansehen, machen aber im Prinzip das gleiche.

    Ich hoffe, es ist jetzt etwas klarer? :rolleyes:

  3. Hallo!

    Nachdem ich jetzt das Problem mit dem 2dim Array gelöst habe, bekomme ich hier einen Fehler, finde aber die Quelle nicht. Vielleicht seh ich den Wald vor lauter Bäumen nicht mehr?! :cool:

    Das Programm läuft bis zum Schluß prima, dann jedoch geht er noch 3 Schritte weiter, obwohl er zur Main zurückkehren sollte (Abfrage auf Ende des Vektors).

    Ich wäre dankbar, wenn mir jemand sagen kann, wieso das Programm in den case 3 reinläuft, obwohl die lastdirection weiter auf 1 steht und ich die breaks nicht vergessen habe?

    LG, TheWho

    
    int matrix::goNorth(xArray *Coord)
    
    {
    
       if ( 1 == checkLimits() ) //Grenzen überschritten?
    
           return 1;
    
    
       if ( 0 == checkEnd( Coord ) ) //Polygon fertig
    
           return 0;
    
    
       cout << "last direction (goNorth2): " << this->getDirection() << endl;
    
    
       switch ( this->getDirection() )
    
       {
    
          case 0:
    
                    if ( this->m_iXAct <= 0 ) // für Ausgangspixel 0-0
    
                    {
    
    	      this->goEast(Coord);
    
    	   }
    
    	   else
    
     	   { 
    
    	       if ( this->m_iXAct-1 >= 0 &&
    
    	            this->getContent( this->m_iXAct-1, this->m_iYAct ) !=
    
                             this->getContent(this->m_iXAct, this->m_iYAct) )
    
    	       {
    
    	          this->setNextBegin(this->m_iXAct-1, this->m_iYAct);
    
    	          this->goEast(Coord);
    
                        }
    
    	       else
    
    	       {
    
    	          cout << "2: " <<this->m_iXAct << " - " << this->m_iYAct << endl;
    
                           Coord->setXCoord(this->m_iXAct);
    
    	          Coord->setYCoord(this->m_iYAct);
    
    	          --this->m_iXAct;
    
    	          this->goNorth(Coord);
    
    	       }
    
    	   }
    
    	   break;
    
           case 1:
    
    	   if ( this->m_iYAct-1 >= 0 && 
    
    	        this->getContent( this->m_iXAct, this->m_iYAct-1 ) == 
    
                         this->getContent(this->m_iXAct, this->m_iYAct) ) 
    
    	   {
    
    	       cout << "3: " <<this->m_iXAct << " - " << this->m_iYAct << endl;
    
                        Coord->setXCoord(this->m_iXAct);
    
    	       Coord->setYCoord(this->m_iYAct);
    
    	       --this->m_iYAct;
    
    	       this->goWest(Coord);
    
    	   }
    
    	   else 
    
    	   {
    
    	       if ( this->m_iXAct-1 >= 0 && 
    
    	            this->getContent( this->m_iXAct-1, this->m_iYAct ) ==
    
                             this->getContent(this->m_iXAct, this->m_iYAct) )
    
    	       {
    
    	            cout << "4: " <<this->m_iXAct << " - " << this->m_iYAct << endl;
    
    	            Coord->setXCoord(this->m_iXAct);
    
    	            Coord->setYCoord(this->m_iYAct);
    
     		--this->m_iXAct;
    
    		this->goNorth(Coord);
    
                        }
    
    	       else
    
    	       {
    
    	           if ( this->m_iYAct+1 <= this->m_zeilen &&
    
    		   this->getContent( this->m_iXAct, this->m_iYAct+1 ) == 
    
                                 this->getContent(this->m_iXAct, this->m_iYAct) )
    
    	           {
    
    		   cout << "5: " <<this->m_iXAct << " - " << this->m_iYAct << endl;
    
    		   Coord->setXCoord(this->m_iXAct);
    
    		   Coord->setYCoord(this->m_iYAct);
    
    		   this->setDirection(2);  				 		   ++this->m_iYAct; //gehe nach Osten
    
    		   this->goNorth(Coord);
    
                            }
    
    	        }
    
    	    }
    
    	    break;
    
    
            case 2: //Nordwesten
    
    	    if ( this->m_iXAct-1 >= 0 &&
    
    	         this->getContent( this->m_iXAct-1, this->m_iYAct ) != 
    
                          this->getContent(this->m_iXAct, this->m_iYAct) )
    
    	    {    
    
                          cout << "6: " <<this->m_iXAct << " - " << this->m_iYAct << endl;
    
                          Coord->setXCoord(this->m_iXAct);
    
    	         Coord->setYCoord(this->m_iYAct);
    
     	         --this->m_iXAct;
    
    	         this->setDirection(1); //zurücksetzen auf Westen
    
    	         this->goNorth(Coord);
    
    	    }
    
    	    else 
    
    	    {
    
    	        this->setDirection(3); 
    
    	        this->goNorth(Coord);
    
    	    }
    
    	    break;
    
    
          case 3: 
    
                      if ( this->m_iXAct <= 0 ) // für Ausgangspixel
    
    	     {
    
    	         this->goEast(Coord);
    
    	     }
    
    	     else
    
    	     {
    
    	         if ( this->m_iYAct-1 >= 0 && 
    
    		 this->getContent( this->m_iXAct, this->m_iYAct-1 ) != 
    
                               this->getContent(this->m_iXAct, this->m_iYAct) )
    
    	         {
    
    		this->setNextBegin(this->m_iXAct, this->m_iYAct-1);
    
    		this->goWest(Coord);
    
    	          }
    
    	          if ( this->m_iXAct-1 >= 0 && 						  this->getContent( this->m_iXAct-1, this->m_iYAct ) !=
    
                               this->getContent(this->m_iXAct, this->m_iYAct) )
    
    	          {
    
    		  this->setNextBegin(this->m_iXAct-1, this->m_iYAct);
    
    		  this->goEast(Coord);
    
    	          }						
    
                           else
    
    	          {
    
    		 cout << "7: " << this->m_iXAct << " - " << this->m_iYAct << endl;
    
    		 Coord->setXCoord(this->m_iXAct);
    
    		 Coord->setYCoord(this->m_iYAct);
    
     		 --this->m_iXAct;
    
    		 this->goNorth(Coord);
    
    	           }
    
    	       }
    
    	       break;
    
    
          default:   break;
    
       }
    
       return 0; // korrektes Beenden
    
    }
    
    

  4. Ein Array ist in seiner Größe fest, d. h. NICHT dynamisch. Sobald eine andere Größe festgelegt wird, mußt Du das bestehende Array verwerfen und ein neues initialisieren. Daher verstehe ich Dein Problem jetzt nicht.

    Erläuter' vielleicht noch einmal ganz konkret die Anforderungen.

    Das meinte ich nicht mit dynamisch, sorry. Dynamisch hieß, zur Laufzeit die Größe festlegen. Also die Dimensionen aus einer Datei einlesen und das Array dann mit diesen Werten initialisieren.

    Da ich aber gestern und vorgestern den C++-Kurs hatte, und das Problem dort gelöst werden konnte, hat sich das eh erledigt :)

    Trotzdem vielen Dank an alle, die mir versucht haben, zu helfen! ;)

  5. In zeilen und spalten stehen doch die Längen. Mußt nur noch sowas schreiben:

    private:
    
       float feld**; // Dynamisches zweidimensionales Array
    
    public:
    
       matrix(int x, int y) // Konstruktor mit Dimensionen und Anfangspixel
    
       {
    
           zeilen = y;
    
           spalten = x;
    
           iXAct = 0;
    
           iYAct = 0;
    
           float feld[zeilen][spalten]; 
    
                  for(int i = 0; i < zeilen; i++) {
    
                 for (int j = 0; j < spalten; j++) {
    
                       feld[i][j] = 0.0f;
    
                 }
    
            }
    
    
        }; 

    So ähnlich (in einer Methode) habe ich das auch erst gemacht, aber der meckert der Compiler... Darum dachte ich, ich hätte etwas falsch gemacht.

    Es geht, wenn ich der Membervariablen sofort die Dimensionen zuweise, aber dann ist es ja nicht mehr dynamisch.

  6. Indem du einfach ne Schleife drüber laufen lässt und den Initialisierungswert zuweist?

    Muß ich dafür nicht die Größe des Arrays kennen? Ich hatte das bisher so:

    private:
    
       float feld**; // Dynamisches zweidimensionales Array
    
    public:
    
       matrix(int x, int y) // Konstruktor mit Dimensionen und Anfangspixel
    
       {
    
           zeilen = y;
    
           spalten = x;
    
           iXAct = 0;
    
           iYAct = 0;
    
           float feld[zeilen][spalten]; 
    
        }; 

    Ich wollte also im Konstruktor dem Array seine Dimensionen zuweisen. Danach das befüllen klappt schon (jetzt hardcodiert).

  7. Hi Ihrs,

    danke für Eure Hilfe. Jetzt hat es erstmal geklappt. So falsch war das gar nicht, was ich hatte. Nur die Initialisierung des Arrays klappt nicht, das hab ich erstmal hardcodiert :D

    Ich hab nächste Woche nen C++ Kurs, da soll mir der Dozent das mal hübsch beibringen, wie man ein dynamisches Array als Membervariable initialisiert :floet:

    Aber ich komme jetzt schon mal weiter, und das ist die Hauptsache :nett:

    Wie gesagt, danke vorerst!!

    LG, TheWho

  8. Wie sieht denn Dein Konzept aus?

    Willst Du für jeden Wert, den Du früher im 2-dim. Array hattest, ein eigenes Objekt? Oder willst Du ein Objekt, das ein 2-dim. Array verwaltet?

    Dem Quellcode nach möchtest Du das 2. Konzept umsetzen. Und in dem Fall kann ich mich meinem Vorredner nur anschließen. Denn innerhalb des Objekts kannst Du wie gewohnt auf Dein Array zugreifen.

    Im ersteren Fall würde mir spontan das Wort "Liste" einfallen. Wenn ich mir das so durchdenke, ziemlich gewagter Ansatz. Für jede Zeile eine Liste, und jede Spalte wieder eine Liste, die mit den Zeilenelementen verkettet ist. Klingt irgendwie verdammt bescheuert und doch interessant. *grübel*

    Also, erstmal würde es mir reichen, das zweite Konzept umzusetzen, damit ich das Prinzip verstehe.

    Ich befürchte allerdings, daß ich das erste Konzept irgendwann umsetzen muß, da ich zu jedem Wert voraussichtlich noch einen Wert eintragen muß (nämlich, ob das Feld bereits "betreten" wurde).

    Oder würde es dafür auch reichen, in das Array statt des einen Werts einen Vektor oder eine map einzutragen?

    Mein Problem ist wohl eher, daß ich von OO echt noch nicht viel Ahnung habe. Aber irgendwo muß ich ja anfangen. :floet:

  9. Wie gesagt ich hab mir deinen Code nicht angeguckt :floet:

    Naja, eigentlich sollte man schon den gesamten Post lesen :D

    Das hab ich noch nicht so ganz verstanden.

    Meine Aussage im ersten Post war:

    Wichtig ist, daß ich für jedes Element des Arrays nach oben, rechts, unten und links nach dem Inhalt gucken können muß - im 2dim Array kein Problem, aber mit Klassen bekomme ich es einfach nicht hin.

    Und das ist weiterhin mein Problem. Ich weiß nicht, wie ich mit Objekten in den beiden Dimensionen des Ursprungs-Arrays "wandern" kann?! :(

  10. Hm, hab ich das Prinzip doch noch nicht verstanden?

    Also ich hab nur mal auf deine Membervariablen geguckt und da bist du ja schon auf dem richtigen Weg.

    Innerhalb deiner Klasse hast du ja so auch "nur" ein mehrdimensionales Array.

    Jetzt brauchst du noch die Entsprechenden Funktion um mit dem Array arbeiten zu können.

    Spontan fallen mir da folgende ein:

    -Array anlegen

    Ist das nicht der Konstruktor? Den hatte ich ja oben mit angegeben.

    -Spalte/Zeile vergrößern oder verkleinern

    Brauche ich eigentlich nicht. Die Größe des Arrays beziehe ich aus der Datei und damit initalisiere ich den Konstruktor. Oder?

    -Einem Element im Array einen Wert zuweisen

    Das sollte die Methode setContent() sein. Auch falsch? :(

    -Wert eines bestimmten Elements abfragen

    Eigentlich getContent() :hells:

    -Array freigeben

    Destruktor, oder? Das ist das Teil mit der Tilde davor. Dachte ich zumindest?

    Damit sollte erstmal das Wichtigste abgedeckt sein.

    Jo, danke erstmal. Allerdings ist damit mein eigentliches Problem noch nicht gelöst.

    Ich hab Probleme damit, auf den Content eines anderen Objekts dieser Klasse zu gucken. Oder eher die Nachbarn halt. :confused:

    HILFE :beagolisc

  11. Hallo Leute,

    heute brauche ich mal fachliche Hilfe :rolleyes:

    Also, ich muß Daten vektorisieren.

    Diese Daten bekomme ich prima aus der Datei ausgelesen und in ein 2dim Array geschrieben, und auch wieder ausgegeben.

    Mein Problem:

    ich soll das Ganze eigentlich objektorientiert umsetzen. Mir fällt aber nichts ein, wie ich das als Klasse(n) beschreiben soll.

    Wichtig ist, daß ich für jedes Element des Arrays nach oben, rechts, unten und links nach dem Inhalt gucken können muß - im 2dim Array kein Problem, aber mit Klassen bekomme ich es einfach nicht hin.

    Dabei ist die Lösung sicher einfach und ich komme nur nicht drauf?

    Danke im voraus!!

    TheWho

    Derzeit habe ich es etwa so:

    
    class matrix 
    
    {
    
    private:
    
    	float** feld; // Dynamisches zweidimensionales Array
    
    	int zeilen, spalten, x, y; // Anzahl Zeilen und Spalten
    
    	float fContent;
    
    
    public:
    
    	matrix(int zeilen, int spalten); // Konstruktor
    
    	//matrix(const matrix&); // Copy-Konstruktor
    
    	~matrix(); // Destruktor
    
    
    	void set (int anzahl, ...); // Wertzuweisung
    
    	void print (); // Ausgabe einer Matrix
    
    	float getContent(int x, int y)
    
    	{
    
    	   return fContent;
    
    	};
    
    
    	void setContent(int x, int y, float c)
    
    	{
    
    	   fContent = c;
    
    	};
    
    };
    
    
    main
    
    { blablub....
    
         //setzen Inhalt
    
         myRaster.setContent( iXDim, iYDim, <einzelner Content> );
    
    
        //Nachbarn angucken 
    
        lookNeighbours ( iNeighbours, iXDim, iYDim, myRaster );
    
    }
    
    
    
    void lookNeighbours(int* iNeighbours,	int iXDim,	 int iYDim, float myRaster)
    
    {
    
       if ( ! (iYDim-1 < 1 ) )   //NORDEN  
    
       {
    
          if ( myRaster.getContent(iXDim, iYDim) == myRaster.getContent(iXDim-1, iYDim) ) 
    
    	     iNeighbours[0] = 0;
    
    	  else
    
    	     iNeighbours[0] = 1;
    
       }
    
    
       if ( ! ( iXDim+1 > nXSize-1  ) )   //OSTEN
    
       {
    
          if ( faRaster[iXDim+1][iYDim] == faRaster[iXDim][iYDim] ) 
    
    	     iNeighbours[1] = 0;
    
    	  else
    
    	     iNeighbours[1] = 1;
    
       }
    
    
       if ( ! ( iYDim+1 > nYSize-1 ) )   //SUEDEN   
    
       {
    
    	  if ( faRaster[iXDim][iYDim+1] == faRaster[iXDim][iYDim] ) 
    
    	     iNeighbours[2] = 0;
    
    	  else
    
    	     iNeighbours[2] = 1;
    
       }
    
    
       if ( !( iXDim-1 < 1 ) )   //WESTEN
    
       {
    
          if ( faRaster[iXDim-1][iYDim] == faRaster[iXDim][iYDim] ) 
    
    	     iNeighbours[3] = 0;
    
    	  else
    
    	     iNeighbours[3] = 1;
    
       }
    
    } 
    
    

  12. apropos "hergebrachte volksfeste":

    gibts auch weggebrachte? muhahaha *schenkelklopfer*

    nee aber mal ernst, was genau bedeutet das "hergebrachte".

    Ist das sowas wie "überlieferte" oder "traditionelle"???

    Is ne Kirchweih auch sowas?

    Genauso ist es gemeint. Man sagt auch "alt hergebracht", also aus vergangenen Zeiten mitgenommen quasi ;)

  13. Also, ich hab noch ein neues Netzteil eingebaut, leider ohne Erfolg. Hab auch noch älteren RAM besorgen können, gleicher Fehler. Ich vermute mal ganz stark, daß mir das Board abgeraucht ist. Hab mir jetzt bei Ebay das gleiche wieder ersteigert, hoffe mal, daß es dann wieder funzt... :cool:

    So long!

    TheWho

    Falls es noch jemanden interessiert, hier die Lösung: es war das Board :(:) Glück im Unglück, alles noch da und ok, bis auf XP, das es mit gezogen hat, Image drüber (Ghost sei Dank) und nun lüppt et wieder *PUH* :marine

  14. ja nee ich glaubs ehrlich gesagt auch nicht. Ich kenne nur niemanden der diese Marke raucht das ist mein Problem.Und weg schmeißen möchte ich die Teile wirklich nicht die haben einen Wert pro Stange von je 29 euro. Da geb ich die lieber 50% billiger oder so ab als die weg zu schmeißen :D .

    Biete sie einfach einem Raucher an, der nicht soviel Kohle hat - er freut sich, wenn er sparen kann, da bin ich sicher. Ich kenne viele, die sich auch mit weniger Geschmack anfreunden, wenn sie dafür sparen können. Traurig, aber wahr. Die echten Raucher schockt nix ;) (bei DEN Preisen)

  15. Hi,

    erstmal: herzlichen Glückwunsch zum Nichtrauchen :uli

    Aber jetzt mal ehrlich: glaubst Du wirklich, ALDI nimmt die zurück? Ich nicht.

    Versuch doch einfach, sie einem anderen Raucher zu verkaufen ;) Du machst evtl. minimalen Verlust, und der andere freut sich.

    Besser, als sie wegzuwerfen, auch wenn ich vom Rauchen nichts halte :floet:

    Viel Erfolg beim Durchhalten!

    LG, TheWho

  16. Ich bekenne mich auch als MAIDS-Infizierte. Mein Handy gehört dazu wie Schlüsselbund und Portemonaie :D

    Und mein Rechner funktioniert jetzt seit 5 Tagen nimmer, furchtbar!! Glücklichweise hat mein Mann noch nen Rechner und ich hier in der Firma ja auch, und bei t-online kann man die auch online abrufen, dafür bin ich sehr dankbar :bimei

    Schlimmer sind nur die Termine, die derzeit auf meiner Festplatte verschimmeln :hells: "Hattu Kopf wie Sieb, muttu notieren" --> hilft aber auch nicht immer :uli

  17. Was mich jetzt verwirrt: beim Award steht zu den von mir aufgeführten Beeps folgendes:

    > 1x lang Speicherproblem, Module sitzen nicht richtig oder sind oxydiert. Das Signal wiederholt sich nach einer Pause.

    Mein Signal wiederholt sich aber nicht, der Rechner schaltet sich aus.

    > 10 Sekunden dauernder Ton mit nachfolgendem Abschalten des Rechners : Kühler

    Mein Ron ist aber keine 10sek lang

    > wiederholt kurz: Problem mit der Stromversorgung des Motherboards

    macht er nur bei fehlendem RAM

    Was davon paßt denn nun? :confused:

  18. och ich hätte schon noch SDRAM, aber ich glaub das is bisserl weit, oder? :D

    Ok, alles ausgebaut hast du schon.. hattest mal nachgesehen, wie das mit dem Netzteil ausschaut? Liefert dat die richtigen Voltzahlen? Auch unter Last?

    Kann ja sein, dass aus irgendwelchen Gründen das Netzteil ausgestiegen ist...

    Den langen Pieps hab ich wie gesacht, wenn ich Stromprobs wegen Überlastung hab...

    Edit:

    Das A7V hat AFAIK nen Award Bios

    Bissel, aber nur bissel *g*

    Ne, ich wüßte auch nicht, wie ich das messen kann, weil es ja sofort wieder ausgeht?

    Das ist doch mal was, dann schau ich heute abend mal wegen der Beepcodes *schnell ausdruckt* danke!

  19. lol, kann mir die szene schon vorstellen wie du da mitten wärend der arbeit plötzlich anfängst deinen pc auseinander zu nehmen und drin rumwerkst ^^

    Also im grunde gibt es ja nich mehr allzuviel was den fehler hervorrufen kann, das meiste is ja drausen.

    Hast du ne GraKa onboard? wenn nicht dann bau mal deine GraKa aus und schau ob es ein anderes Piepsen gibts.

    Wenn es immernoch gleich Piepst tritt der Fehler vor der Hardware erkennung auf. Sollte er anders piepsen merkt er das du keine GraKa hast.

    Hast ud ne GraKa onboard... ich mag onboard nicht...

    wenn du keine onboard graka hast und das piepsen bei ausgebauter graka gleich bleibt is wohl was mit dem bios nich in ordnung da es nichtmal bis zum Hardware scann kommt. ansonsten können wir davon ausgehen das dein bios in ordnung ist.

    Ja, die Vorstellung hat mich eben auch ziemlich erheitert ;)

    Also, wie ganz oben beschrieben hab ich ne Geforce MMX, also keine OnBoard. Und auch die habe ich ausgebaut, keine Änderung. Änderung des Tons erst nach Ausbau des kompletten RAMs.

    Reicht es denn, das BIOS zu flashen, oder muß evtl. ein neues Board her?

  20. den ram wirst du doch wohl hinbekommen den beim kumpel zu testen wenn ich kenne niemanden der mir nicht aushelfen würde wenn ich kein zweitrechner hätte und ich bin auch nicht krösus habe aber gut gespart :D und wenn du schon so viele bios geflasht hast denn west ja wies geht

    Nein, leider nicht, da keiner mehr SD-RAM hat :rolleyes:

    Achtung Ironie! Ich hab eben noch nie und nimmer eines geflasht, darum obige Aussage. Aber Ironie scheint Dir nicht zu liegen. :mod:

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...