Navigation

    cpp-logo

    C++ Community

    • Registrieren
    • Anmelden
    • Suche
    • Kategorien
    • Aktuell
    • Tags
    • Beliebt
    • Gruppen
    1. Übersicht
    2. Beliebt
    Melde dich an, um einen Beitrag zu erstellen
    • Alle Kategorien
    • Ankündigungen
    •      Die Artikel
    • C++ (alle ISO-Standards)
    •      MFC
    •      VCL (C++ Builder)
    •      C++/CLI mit .NET
    •      Andere GUIs - Qt, GTK+, wxWidgets
    • Sonstige Programmiersprachen
    •      C (alle ISO-Standards)
    •      C# und .NET
    •      Java
    •      Assembler
    •      Webzeugs
    • Betriebssysteme
    •      WinAPI
    •      Linux/Unix
    •      Projekt: OS-Development
    •      DOS und Win32-Konsole (nur Lesen)
    • Weitere Fachbereiche
    •      Mathematik und Physik
    •      Spiele-/Grafikprogrammierung
    •      Datenbanken
    •      Compiler- und IDE-Forum
    •      Projekte
    • Jenseits der Programmierung
    •      Beruf und Ausbildung
    •      Stellenangebote
    •      Themen rund um die IT
    •      Gaming-Corner
    • Forentechnik
    • Archiv
    •      Das C++ Magazin
    •          Die Redaktion
    •          Die Autoren
    •          Allgemeines zum Magazin
    •          Archiv
    •      Organisation des Forumtreffens
    •      FAQs - Frequently Asked Questions
    •          FAQ - C (C89, C99 und C11)
    •          FAQ - Assembler
    •          FAQ - C++ (auch C++0x, C++11)
    •          FAQ - C++/CLI
    •          FAQ - C++ Builder (VCL/CLX)
    •          FAQ - C# und .NET
    •          FAQ - Compiler & IDEs
    •          FAQ - Datenbanken
    •          FAQ - DOS und Win32-Konsole
    •          FAQ - Grafik-/Spieleprogrammierung
    •          FAQ - GUIs
    •          FAQ - Java
    •          FAQ - Linux/Unix
    •          FAQ - Mathematik und Physik
    •          FAQ - MFC
    •          FAQ - Rund um die Programmierung
    •          FAQ - Sonstiges
    •          FAQ - Webzeugs
    •          FAQ - WinAPI
    •          FAQ - Forentechnik
    • Alle Themen
    • Neue Themen
    • Beobachtete Themen
    • Unbeantwortete Themen
    • Gesamter Zeitraum
    • Tag
    • Woche
    • Monat

    • B

      Neues von MFC ?
      MFC • • biter  

      5
      0
      Stimmen
      5
      Beiträge
      144
      Aufrufe

      B

      Danke Dir Erhard !
    • B

      Substrings innerhalb einen String sortieren
      C++ (alle ISO-Standards) • • Bibigon  

      3
      0
      Stimmen
      3
      Beiträge
      10
      Aufrufe

      Ist es ausgeschlossen, dass es zu Doppeldeutigkeiten oder fehlende Einträgen bei der Zerlegung kommen kann? Ich nehme im folgenden an, dass dies kein Problem darstellt oder es eine definierte Lösung gibt, aber du solltest mal überlegen, ob das vorkommen kann und wie dies ggf. zu lösen ist. Nimm auf gar keinen Fall jemals C-Strings oder Arrays für irgendwas, wenn std::string & Co. erlaubt sind! Von hier aus ist ad-hoc im Kopf programmiert, wie ich das ungefähr machen würde. Ich will dir ja nicht die Aufgabe komplett lösen Du willst im Hintergrund wahrscheinlich eine map<int, vector<string>> haben, wo du deine vorgegebenen Wortgruppen drin gespeichert hast. Dann beginnst du deinen jeweiligen String zu zerlegen, und merkst dir Paare der Substrings und der Gruppe aus der sie sind. Also vermutlich als vector<pair<string, int>>. Aus deinem Beispiel "[MOD][Weiss][UKE]" wird also die Paarfolge {("[MOD]", 3), ("[Weiss]", 4), ("[UKE]", 1)}. Man kann beim Zerlegen auch Mitzählen (auf allerlei Weise), ob und wie oft jede Gruppe vorkommt. Sobald man eine Gruppe zum 2. Mal sieht, kann man mit einem Fehler abbrechen. Das kannst du dann mit sort nach dem zweiten Teil des Paars sortieren, du bekommst also die Folge {("[UKE]", 1), ("[MOD]", 3), ("[Weiss]", 4)} Dann soll daraus ja wieder ein String werden. Dazu hängt man einfach die jeweils erste Hälfte der Paare wieder zu einem String zusammen. Spätestens dabei muss man aber prüfen, ob es Doppelungen gibt, etwa indem man guckt, ob das nächste Paar die gleiche Nummer wie der Vorgänger hat. Das sind jetzt relative viele unnötige Stringoperationen, weil man bei den Paaren viele neue Strings erzeugt und durch die Gegend verschiebt. Wenn man dies optimieren möchte, kann man statt der Strings den Index der Subgruppe speichern (Also zum Beispiel statt {("[MOD]", 3), ("[Weiss]", 4), ("[UKE]", 1)} merkt man sich {(1, 3), (0, 4), (2, 1)}. Das ist dann eine Abstraktionsschicht mehr, dafür ist es effizienter. Musst du wissen, ob du dir das zutraust. Die naive Methode ist einfacher zu verstehen und einfacher bei eventueller Fehlersuche. Oder es gibt auch die vollständig andere Methode, dass man sich gar nix zwischenspeichert. Man weiß schließlich, in welcher Reihenfolge die Subgruppen später stehen müssen. Also könnte man einfach gucken, ob ein String aus Subgruppe 1 vorkommt, wenn ja, dann kommt er direkt ganz nach vorne. Falls Nein, dann tut man halt nix. Und falls mehrere vorkommen, dann direkt Fehler. Und dann fährt man immer so fort mit Subgruppe 2 und so weiter. Das ist denkbar simpel und direkt. Aber das fliegt einem um die Ohren, wenn es Doppeldeutigkeiten oder unbekannte Bestandteile gibt. Daher müssen diese ausgeschlossen sein, sonst ist diese Methode nix. Meine erste Methode ist robust, aber eventuell überkompliziert. Die simple Methode ist zum Angeben, wie gut man darin ist, die einfachste Abstraktion zu finden. Aber wenn dann eine leichte Änderung der Anforderung kommt, steht man dumm da. Im echten Leben würde ich die robuste Methode wählen, die simple Methode ist eher für den Informatikunterricht (Aber ich nehme an, das hier ist aus dem Informatikunterricht?).
    • Informatiker/technischer Informatiker Softwareentwicklung C und C++ (w/m/d) | HYDAC Group
      Stellenangebote • • JAP  

      1
      0
      Stimmen
      1
      Beiträge
      42
      Aufrufe

      Bewerben Sie sich bis zum 13.05.2026. Jetzt bewerben! Zur Stellenanzeige auf Mein IT Job Ihre Bewerbung richten Sie bitte ausschließlich an die ausgeschriebene Firma. Karriere@HYDAC Informatiker/technischer Informatiker Softwareentwicklung C und C++ (w/m/d) HYDAC Group Großbeeren Bewerben • Vollzeit • Kennziffer: SW9120 Diese Herausforderungen warten auf Sie • Sie entwickeln Embedded-Middleware in C und C++ für mobile Arbeitsmaschinen (wie etwa Bagger und Mähdrescher), unter Berücksichtigung der Anforderungen der Funktionalen Sicherheit. • Besonders fokussieren Sie sich dabei auf die Portierung und Erweiterung der Middleware auf moderne Multi-Core-Systeme. • Darüber hinaus gehört Erstellung der Software-Spezifikation, der Pflichtenhefte und die Dokumentation zu Ihrem Aufgabenfeld. • Last but not least zählen auch die entwicklungsbegleitende Testung und Begleitung der Inbetriebnahme zu Ihrem neuen Job. Wie Sie uns begeistern • Sie haben ein erfolgreich abgeschlossenes Hochschulstudium (M.Sc./M.Eng./Diplom) der Technischen Informatik, Informatik, Elektrotechnik, Mechatronik oder Bau-/Landmaschinentechnik o.ä. • Sie kennen sich aus mit Microcontrollern, die in Embedded-Echtzeitsystemen verwendet werden. • Sie haben sehr gute Kenntnisse und Erfahrung in der Embedded-Programmierung in C und C++. • Idealerweise haben Sie bereits Erfahrung mit der Entwicklung sicherheitsgerichteter Software und Kenntnis von Standards der Funktionalen Sicherheit (z.B.: ISO61508, ISO26262, ISO25119) • Sie haben Spaß an komplexen Softwareprojekten und sind ein kreativer Kopf • Und natürlich können Sie sich sowohl auf Deutsch als auch Englisch gut verständigen. Ihre Vorteile bei HYDAC: • Attraktive Vergütung plus starke Zusatzleistungen • Flexibel arbeiten: Beruf, Familie und Freizeit im Einklang • Betriebliche Altersvorsorge & Gesundheitsangebote • Wertschätzung & Mitgestaltung im Familienunternehmen • Zugang zu Sonderkonditionen & Rabatten • Vergünstigtes Deutschlandticket durch Arbeitgeberzuschuss Ansprechpartner Andreas Jäger +49 6897 509-9562 Wer wir sind Start-up mit Großfamilie und Hauptstadtfeeling Die HYDAC SOFTWARE GmbH gehört zur HYDAC-Gruppe, einem 1963 gegründeten Familienunternehmen mit heute rund 10.000 Mitarbeitenden weltweit. Innerhalb der HYDAC-Familie agiert die HYDAC SOFTWARE GmbH als dynamisches und schnell wachsendes Start-up. Gestartet 2010 mit zwei Personen, arbeiten heute mit ca. 100 Kolleginnen und Kollegen an innovativen Lösungen für die mobile Welt von morgen. #BePartOfTheFamily Wir entwickeln uns kontinuierlich weiter, wachsen als Unternehmen und Arbeitgeber sowohl national als auch international. Gleichzeitig sind die menschliche Nähe und die Atmosphäre eines Familienunternehmens fest in unseren Wurzeln verankert und bilden stets die Grundpfeiler der HYDAC Unternehmenskultur. HYDAC @ Kununu Sie möchten mehr über uns als Arbeitgeber erfahren? Auf Kununu finden Siezahlreiche Bewertungen von Mitarbeitenden und Bewerbern, die ihre Erfahrungen mit HYDAC teilen. Dabei gehören wir zu den rund 5% der beliebtesten Unternehmen und wurden als Top Company 2025 ausgezeichnet. Wir freuen uns auf Ihre Bewerbung! Bitte übermitteln Sie uns Ihre möglichst vollständigen Unterlagen unter Angabe Ihres nächstmöglichen Eintrittstermins sowie Ihrer Gehaltsvorstellung, idealerweise in einer PDF-Datei. Bewerben HYDAC Group karriere.hydac.com
    • Embedded Software-Entwickler (m/w/d) | Schröder Forschung und Entwicklung GmbH
      Stellenangebote • • JAP  

      1
      0
      Stimmen
      1
      Beiträge
      22
      Aufrufe

      Bewerben Sie sich bis zum 22.05.2026. Jetzt bewerben! Zur Stellenanzeige auf Mein IT Job Ihre Bewerbung richten Sie bitte ausschließlich an die ausgeschriebene Firma. Die Firma Schröder Forschung und Entwicklung ist ein Unternehmen für Elektronikentwicklung. Unsere Lösungen für Hard- und Softwareentwicklung verwenden Firmen weltweit. Unsere Kunden kommen aus den Bereichen Automotive, Medizintechnik, Verteidigung und Industrie. Elektronikentwicklung ist unser Traum, den wir zum Beruf gemacht haben. Embedded Software-Entwickler (m/w/d) Start: Ab sofort Deine Aufgaben • Programmierung von Embedded-Software mit C für Mikrocontroller, z.B. von Microchip, Renesas, ST Microelectronics, NXP • Programmierung in C++, C# oder Python • Integration von KI-Modellen in Embedded-Systeme (z.B. Vision, Sensorfusion, Anomalieerkennung) • Ansteuerung von Bus-Systemen wie Ethernet, SPI, I2C, CAN, LIN etc. • FPGA-Programmierung in VHDL • Entwicklung von kapazitiven Touch-Applikationen • Durchführung von Elektroniktests und Testaufbauten • Organisations- und Dokumentationsaufgaben in Excel, Word und PPT • Abwechslungsreiche Aufgaben Was Du mitbringst • Du hast einen Bachelor oder Master im Bereich Informatik/ Informationstechnik/Elektrotechnik/Mechatronik oder ähnlichem • Min 3. Jahre Erfahrung in den Sprachen C, C++, C# oder Python • Min 3 Jahre Erfahrung in Embedded Linux (Yocto) • Idealerweise hast Du Erfahrungen im Umgang mit dem ECAD-Tool Altium Designer • Sowohl Teamplay als auch eigenverantwortliche Arbeit sind für Dich eine Selbstverständlichkeit • Software und Elektronik sind auch Dein Hobby Was wir Dir bieten • Ein überdurchschnittliches Gehalt • Sehr spannende und abwechslungsreiche Projekte • Flexible Homeoffice-Möglichkeit Hört sich super für Dich an? Dann freuen wir uns auf Deine Bewerbung in einer PDF-Datei mit allen Universitäts- und Arbeitszeugnissen an Christian.Schroeder@Schroeder-Fe.de. Bitte gib Deinen Gehaltswunsch an. Dein Ansprechpartner bei uns ist Christian Schröder. HIER BEWERBEN Schröder Forschung und Entwicklung GmbH Doorner Str. 1 | 63456 Hanau www.schroeder-fe.de