<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[2 Vektoren zueinander sortieren]]></title><description><![CDATA[<p>Hallo erstmal,</p>
<p>ich habe 2 vektoren</p>
<pre><code>vector &lt;string&gt; DatumNEU;
vector &lt;int&gt;    AnzahlNEU;
</code></pre>
<p>ich würde jetzt gerne mit</p>
<pre><code>sort(DatumNEU.begin(),DatumNEU.end())
</code></pre>
<p>den code sortieren aber so das der AnzahlNEU mitgenommen wir wie bekomm ich das hin</p>
<p>also immer jeder Stelle in DatumNEU gehört zur genau gleichen stelle in AnzahlNeu</p>
<p>Ich habe halt tonnen datumeinträge und in Anzahl immer die dazugehörige Seitenanzahl</p>
<p>Ich mache dann nacher mit summenfunktionen eine Summe/tag und würde aber gerne davor noch sortieren denn dann muss ich bei der summenformel immer nur schauen</p>
<pre><code>zahl[stelle] == zahl[stelle+1]
</code></pre>
<p>dann weiter sonst net</p>
<p>würde mich freuen ihr gebt mir paar tips</p>
<p>danke</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/189760/2-vektoren-zueinander-sortieren</link><generator>RSS for Node</generator><lastBuildDate>Fri, 25 Sep 2026 11:35:14 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/189760.rss" rel="self" type="application/rss+xml"/><pubDate>Thu, 16 Aug 2007 13:07:58 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to 2 Vektoren zueinander sortieren on Thu, 16 Aug 2007 13:07:58 GMT]]></title><description><![CDATA[<p>Hallo erstmal,</p>
<p>ich habe 2 vektoren</p>
<pre><code>vector &lt;string&gt; DatumNEU;
vector &lt;int&gt;    AnzahlNEU;
</code></pre>
<p>ich würde jetzt gerne mit</p>
<pre><code>sort(DatumNEU.begin(),DatumNEU.end())
</code></pre>
<p>den code sortieren aber so das der AnzahlNEU mitgenommen wir wie bekomm ich das hin</p>
<p>also immer jeder Stelle in DatumNEU gehört zur genau gleichen stelle in AnzahlNeu</p>
<p>Ich habe halt tonnen datumeinträge und in Anzahl immer die dazugehörige Seitenanzahl</p>
<p>Ich mache dann nacher mit summenfunktionen eine Summe/tag und würde aber gerne davor noch sortieren denn dann muss ich bei der summenformel immer nur schauen</p>
<pre><code>zahl[stelle] == zahl[stelle+1]
</code></pre>
<p>dann weiter sonst net</p>
<p>würde mich freuen ihr gebt mir paar tips</p>
<p>danke</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1345757</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1345757</guid><dc:creator><![CDATA[MatthiasTheOne]]></dc:creator><pubDate>Thu, 16 Aug 2007 13:07:58 GMT</pubDate></item><item><title><![CDATA[Reply to 2 Vektoren zueinander sortieren on Thu, 16 Aug 2007 13:09:45 GMT]]></title><description><![CDATA[<p>Warum hast du die Daten überhaupt auf zwei Vektoren verteilt? Wenn sie zusammengehören, solltest du sie auch zusammenpacken - in einen einzelnen vector&lt;pair&lt;string,int&gt; &gt;.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1345764</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1345764</guid><dc:creator><![CDATA[CStoll]]></dc:creator><pubDate>Thu, 16 Aug 2007 13:09:45 GMT</pubDate></item><item><title><![CDATA[Reply to 2 Vektoren zueinander sortieren on Thu, 16 Aug 2007 13:16:54 GMT]]></title><description><![CDATA[<p>CStoll schrieb:</p>
<blockquote>
<p>Warum hast du die Daten überhaupt auf zwei Vektoren verteilt? Wenn sie zusammengehören, solltest du sie auch zusammenpacken - in einen einzelnen vector&lt;pair&lt;string,int&gt; &gt;.</p>
</blockquote>
<p>oder als map&lt;string, int&gt;...</p>
<p>Gruß,</p>
<p>Simon2.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1345772</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1345772</guid><dc:creator><![CDATA[Simon2]]></dc:creator><pubDate>Thu, 16 Aug 2007 13:16:54 GMT</pubDate></item><item><title><![CDATA[Reply to 2 Vektoren zueinander sortieren on Thu, 16 Aug 2007 13:41:51 GMT]]></title><description><![CDATA[<p>So sehr kannt ich mich damit net aus ^^</p>
<p>ich glaube sowiso das auch meine summenbildung wehsentlich schöner geht</p>
<p>aber naja wie kann ich denn dann so nen pair oder so ne map sorieter, das alle nach datum sortiert werden und anzahl mit geht ??</p>
<p>was macht pair genau versteh das noch net ganz is das nen 2 dimensionalen vector ??</p>
<p>danke ^^</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1345797</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1345797</guid><dc:creator><![CDATA[MatthiasTheOne]]></dc:creator><pubDate>Thu, 16 Aug 2007 13:41:51 GMT</pubDate></item><item><title><![CDATA[Reply to 2 Vektoren zueinander sortieren on Thu, 16 Aug 2007 13:42:51 GMT]]></title><description><![CDATA[<p>und wie greif ich dann nur auf die einzelne zahl oder auf das einzelne datum aus dem pair zu ??</p>
<p>kannst du da mal nen beispiel machen danke</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1345799</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1345799</guid><dc:creator><![CDATA[MatthiasTheOne]]></dc:creator><pubDate>Thu, 16 Aug 2007 13:42:51 GMT</pubDate></item><item><title><![CDATA[Reply to 2 Vektoren zueinander sortieren on Thu, 16 Aug 2007 13:53:52 GMT]]></title><description><![CDATA[<pre><code class="language-cpp">std::pair&lt;int, std::string&gt; p(42, &quot;Die Antwort&quot;);
std::cout &lt;&lt; p.first &lt;&lt; &quot;: &quot; &lt;&lt; p.second &lt;&lt; std:.endl;
</code></pre>
<p>So oder so ähnlich ging das <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f921.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--clown_face"
      title=":clown:"
      alt="🤡"
    /></p>
<p>Um schnell eben sowas wie das hier nachzuschlagen ist<br />
<a href="http://cppreference.com" rel="nofollow">http://cppreference.com</a><br />
empfehlenswert.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1345808</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1345808</guid><dc:creator><![CDATA[The-Kenny]]></dc:creator><pubDate>Thu, 16 Aug 2007 13:53:52 GMT</pubDate></item><item><title><![CDATA[Reply to 2 Vektoren zueinander sortieren on Fri, 17 Aug 2007 06:02:28 GMT]]></title><description><![CDATA[<p>hier is mal mein kompletter code</p>
<p>ich habe mir eh vorgestellt die summenabfrage umzuschreiben</p>
<p>das immer das aktuelle datum weggespeichert wird dann die ganze liste nach dem datum durchgeschaut wird summe der anzahlen und adnach alle einträge mit dem datum gelöscht werden</p>
<p>kann ich in einem vector löschen einzelne zeilen ??</p>
<p>wenn ja was passiert mit dem rest rutsch das dann auf ?</p>
<p>also sagen wir ich hab nen vector mit 50 zeilen</p>
<p>ich lösch zeile 10 is dann da wo vorher zeile 10 war nun die 11 oder wie läuft das</p>
<p>auserdem wie geht der befehl zum zeile löschen ^^</p>
<p>hier der code</p>
<pre><code>/*
Programm:		Druckdateien Auswerten
Zweck:			Dieses Programm nimmt 2 Dateien, legt sie zusammen, und wertet die Summen nach Datum aus
Autor:			Matthias Kroll
erstellt:		25.06.07
geändert:		
*/

#include &lt;iostream&gt;
#include &lt;conio.h&gt;
#include &lt;string&gt;
#include &lt;vector&gt;
#include &lt;time.h&gt;		//Für das aktuelle Datum
#include &lt;fstream&gt;      // Für die Dateihandles
#include &lt;algorithm&gt;     // für das Sortieren des fertigen Vectors

using namespace std;

// Globale Variablen
string Dateipfad;
vector &lt;string&gt; Datum;
vector &lt;int&gt; Anzahl;
vector &lt;string&gt; DatumNEU;
vector &lt;int&gt;    AnzahlNEU;

void ausgeben()
{
cout &lt;&lt; &quot;ALTE: \n&quot;;     
for (int i = 0; i != Datum.size(); i++)
{
    cout &lt;&lt; &quot;Datum: &quot; &lt;&lt; Datum[i] &lt;&lt; &quot; Anzahl: &quot; &lt;&lt; Anzahl[i] &lt;&lt; endl;
}

cout &lt;&lt; &quot;\n\nNEUE: \n&quot;;
for (int i = 0; i != DatumNEU.size(); i++)
{
    cout &lt;&lt; &quot;Datum: &quot; &lt;&lt; DatumNEU[i] &lt;&lt; &quot; Anzahl: &quot; &lt;&lt; AnzahlNEU[i] &lt;&lt; endl;
} 
}

// Funktion zum löschen von allen chars vor dem letzten backslash und nach dem letzten .
string pfad_ermitteln(char* argv[])
{
    string parameter = argv[0];

    // Hier alles nach dem letzten punkt
    string backslash = &quot;\\&quot;;
    int backslash_position = parameter.rfind(backslash);
    //ab der punkt_position bis .size also zum ende löschen, das die dateiendung wegfällt
    parameter.erase (backslash_position+1, parameter.size()-backslash_position);    

    return parameter;
}

string textbearbeiten (string zeile)
{
     string zeile2;
     string zwischenspeicher1;
     string zwischenspeicher2;  
     string zwischenspeicher3;  

     int stelle = zeile.find(&quot;Job Log&quot;);
     int stelle2 = zeile.find(&quot;Seitenbeschreibungssprache&quot;); 
     if ((stelle &gt; -1) | (stelle2 &gt; -1))
     {
     }    
     else
     {   // 3 mal löschen sodas wir als erstes unsere Anzahl seiten dort stehen haben
         for(int i = 0; i != 3; i++)
         {
             int komma = zeile.find(&quot;,&quot;);
             zeile.erase (0, komma+2); // Hier immer vom anfang bis komma und +1 weil das komma und blank danach selbst auch
         }
         // Seitenzahl Zwischenspeichern
         int komma = zeile.find(&quot;,&quot;);
         zeile2 = zeile;
         zwischenspeicher1 = zeile2.erase (komma, (zeile.size() - komma));
         Anzahl.push_back(atoi(zwischenspeicher1.c_str()));

         // 19 mal löschen sodas wir als erstes unser Datum dort stehen haben
         for(int i = 0; i != 19; i++)
         {
             int komma = zeile.find(&quot;,&quot;);
             zeile.erase (0, komma+2); // Hier immer vom anfang bis komma und +1 weil das komma und blank danach selbst auch
         }
         // Datum Zwischenspeichern
         komma = zeile.find(&quot;,&quot;);
         zeile2 = zeile;
         zwischenspeicher2 = zeile2.erase (komma, (zeile.size() - komma));
         zwischenspeicher3 = zwischenspeicher2.erase (zwischenspeicher2.find(&quot; &quot;), (zwischenspeicher2.size()-zwischenspeicher2.find(&quot; &quot;)));      
         Datum.push_back(zwischenspeicher3);
     }
}

void vectorenbearbeiten()
{

     int AnzahlZusammen = 0;

     if (Anzahl.size() != Datum.size()) { cout &lt;&lt; &quot;FATAL ERROR - UNGLEICH DATUM UND ZAHLEN&quot; &lt;&lt; endl; getch(); }
     else
     {
         // ersten Datum eintrag machen
         string datumspeicher = Datum[0];

         // NOCH ZU ÜBERDENKEN !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
         for (int i = 0; i != Datum.size(); i++)  
         {   

             if(Datum[i] == datumspeicher &amp;&amp; i != (Datum.size()-1))
             {
                 AnzahlZusammen = AnzahlZusammen + Anzahl[i];
             }
             else
             {
                 if (i == (Datum.size()-1))
                 {
                     AnzahlZusammen = AnzahlZusammen + Anzahl[i];  
                 }

                 // Die 2 Speicher in die neuen Vektoren pushen 
                 DatumNEU.push_back(datumspeicher);
                 AnzahlNEU.push_back(AnzahlZusammen);

                 cout &lt;&lt; &quot;Datum: &quot; &lt;&lt; datumspeicher &lt;&lt; &quot; Summen: &quot; &lt;&lt; AnzahlZusammen &lt;&lt; endl;

                 // Speicher aktuallisieren
                 datumspeicher = Datum[i];
                 AnzahlZusammen = Anzahl[i];

             } 

         }  
     }
}

void vectoreninoutputfile()
{
     string zielpfad = Dateipfad + &quot;\\&quot; + &quot;Bearbeitet_Gesamt.csv&quot;;     
     ofstream outputfile(zielpfad.c_str()); 

     int radix = 10; // 2=bin, 8=octal, 10=dez, 16=hex
     char buffer[100];
     string zeilefuersoutputfile;

     cout &lt;&lt; &quot; da bin ich &quot; &lt;&lt; endl;
     getch();

     if (AnzahlNEU.size() != DatumNEU.size()) { cout &lt;&lt; &quot;FATAL ERROR - UNGLEICH DATUMNEU UND ZAHLENNEU&quot; &lt;&lt; endl; getch(); }
     else
     {
         for (int i = 0; i != DatumNEU.size(); i++)  
         {
             zeilefuersoutputfile = DatumNEU[i] + &quot;;&quot; + itoa(AnzahlNEU[i],buffer,radix) + &quot;\n&quot;;
             outputfile&lt;&lt;zeilefuersoutputfile;
         }   
     }

     outputfile.close();
}

void dateibearbeiten(int argc, char* argv[])
{
    int zaehler = 1;

    while (zaehler &lt; argc)
    {   
    fstream inputfile(argv[zaehler]); 

    string zeile;

        while (getline(inputfile,zeile))
        { 
          textbearbeiten(zeile);                                                                                   
        }

    zaehler ++;
    inputfile.close(); 
    }

    ausgeben();  
}

int main (int argc, char* argv[])
{
    if(argc == 1)
    {
    cout &lt;&lt; &quot;Es wurden keine Parameter mitgegeben - Programm Ende&quot; &lt;&lt; endl;
    getch();
    exit (-1);
    }

    // Hier wird der Standort der exe ermittelt; der Dateipfad
    Dateipfad = pfad_ermitteln(argv);

    //Hier wird zuerst zusammengelegt dann getrennt und alles auser Datum + Druckseiten gelöscht 
    dateibearbeiten(argc, argv);  

    // Hier werden beide Vectoren bearbeitet also zusammengefasst nach datum
    vectorenbearbeiten();

    // Hier werden beide Vectoren in das outputfile geschrieben mit ; dazwischen
    //vectoreninoutputfile();   

    getch();
    return 0;   
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1346060</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1346060</guid><dc:creator><![CDATA[MatthiasTheOne]]></dc:creator><pubDate>Fri, 17 Aug 2007 06:02:28 GMT</pubDate></item></channel></rss>