CPP Anfänger Code hilfe?
#include <iostream>
#include <cmath>
using namespace std;


double Addition(double zahl1, double zahl2)
{
    cout << "Gebe die erste Zahl ein, die addiert werden soll: ";
    cin >> zahl1;
    cout << "Gebe die zweite Zahl ein, die addiert werden soll: ";
    cin >> zahl2;
    double Summe = zahl1 + zahl2;
    cout << "Die Summe ist: " << Summe << endl;
    return zahl1 + zahl2;
}


double Subtraktion(double zahl1, double zahl2)
{
    cout << "Gebe die erste Zahl ein, die subtrahiert werden soll: ";
    cin >> zahl1;
    cout << "Gebe die zweite Zahl ein, die subtrahiert werden soll: ";
    cin >> zahl2;
    double Differenz = zahl1 - zahl2;
    cout << "Die Differenz ist: " << Differenz << endl;
    return zahl1 - zahl2;
}


double Multiplikation(double zahl1, double zahl2)
{
    cout << "Gebe die erste Zahl ein, die multipliziert werden soll: ";
    cin >> zahl1;
    cout << "Gebe die zweite Zahl ein, die multipliziert werden soll: ";
    cin >> zahl2;
    double Produkt = zahl1 * zahl2;
    cout << "Das Produkt ist: " << Produkt << endl;
    return zahl1 * zahl2;
}


double Division(double zahl1, double zahl2)
{
    cout << "Gebe die erste Zahl ein, die dividiert werden soll: ";
    cin >> zahl1;
    cout << "Gebe die zweite Zahl ein, die dividiert werden soll: ";
    cin >> zahl2;
    double Qoutient = zahl1 / zahl2;
    cout << "Der Quotient ist: " << Qoutient << endl;
    return zahl1 / zahl2;
}


double Potenz()
{
    double Basis;
    double Potenz;
    double Ergebnis;
    cout << "Gebe die Basis ein" << endl;
    cin >> Basis;
    cout << "Gebe die Potenz ein" << endl;
    cin >> Potenz;
    Ergebnis = pow(Basis, Potenz);
    cout << "Die Potenz ist: " << Ergebnis << endl;
    return pow(Basis, Potenz);
}


int main()
{
    char Rechenoperator;
    cout << "UNIVERSAL RECHNER" << endl;
    cout << "Bitte wähle die Rechenoperation aus" << endl;
    cout << "Addition(+)\nSubtraktion(-)\nMultiplikation(*)\nDivision(/)" << endl;
    cout << "Potenz(^)\nWurzel(<)\nProzent(%)" << endl;
    cin >> Rechenoperator;


    switch (Rechenoperator)
    {
    case '+':
        Addition(zahl1, zahl2);
        break;
    case '-':
        Subtraktion(zahl1, zahl2);
        break;
    case '*':
        Multiplikation(zahl1, zahl2);
        break;
    case '/':
        Division (zahl1, zahl2);
        break; 
    case '^':
        Potenz(Basis, Potenz);
        break;


    default:
        cout << "Ungültige Eingabe" << endl;
    }


    return 0;
}

main.cpp: In function ‘int main()’:
main.cpp:75:18: error: ‘zahl1’ was not declared in this scope
   75 |         Addition(zahl1, zahl2);
      |                  ^~~~~
main.cpp:75:25: error: ‘zahl2’ was not declared in this scope
   75 |         Addition(zahl1, zahl2);
      |                         ^~~~~
main.cpp:87:16: error: ‘Basis’ was not declared in this scope
   87 |         Potenz(Basis, Potenz);
Cplusplus, Array, Code, CPP, Programmiersprache, Visual Studio, Algorithmus
Youtube Short problem... Was ist das fürn Algorithmus?

Ich habe immer wieder das Problem dass der YouTube Shorts Algorithmus komplett abkackt...

Im Normalfall liegen die aufrufe bei 1000-3000 Aufrufen.
Die "Wegwisch-rate" bei 50-70% / Durchschnitt

Manchmal jedoch werden diese gar nicht dem öffentlichen Publikum vorgeschlagen. Dann sind es meist 1-5 Aufrufe oder sofern nur meine Community sich diese anschaut ca. 60-180 Aufrufe.

Manchmal hat der Algorithmus also ne "Depri Phase" und hat dann einfach gar kein bock die Videos neuen Nutzern vorzuschlagen. Damals hatte ich mit Shorts 3-6 Neue Abonnenten an Land gezogen oder mit Shorts meine normalen Videos Pushen können. Das ist Aktuell einfach gar nicht mehr möglich.

Das lustige daran ist, lösche ich diese Videos mit wenig aufrufen und lade diese neu hoch, hab ich entweder nur wieder 1-5 aufrufe, oder es geht in den 1000er Bereich. Also reine Glückssache und der Content spielt in dem Fall keine Rolle.

Was ich bisher also ausschließen kann:
- Mit Schlechten/Falschen Content hat das nichts zu tun, es ist ganz egal was hochgeladen wird.
- Die Wiedergabezeit (wann die Nutzer wegwischen) juckt den Algorithmus ebenso nicht.

Bin langsam echt Ratlos was da falsch läuft. Diese "Youtube Experten" Kanäle kommen immer mit den gleichen 0815 aussagen dass man Videos kurz und spannend halten soll... Ja gut, ist der sinn eines shorts aber egal wie das Video ist, entweder es bekommt aufrufe oder eben nicht. Und wenns keine bekommt, wirds neu hochgeladen und bekommt tausende aufrufe. Also irgendwas kann doch da nicht stimmen...

Anbei mal ein Aktuelles Beispiel wie es eigentlich aussieht und wie es aus dem nichts sich geändert hat:

Bild zu Frage
YouTube, YouTuber, Algorithmus, Reichweite, YouTube-Kanal, YouTube Shorts
C++ Code für LGS?

Ich möchte mit einen C++-Programm alle LGS lösen können (endlich, unendlich und keine Lösungen). Ich habe auch einen Code. Endlich viele und keine Lösungen kann er recht gut (bisher), aber unendlich viele Lösungen kann er nicht anzeigen lassen (soll dann auch t einführen, nicht einfach einen Wert einsetzen).

Wo liegt der Fehler?

#include <iostream>
#include <vector>
#include <cmath>

using namespace std;

// Funktion zur Berechnung des Determinanten einer Matrix
double determinant(vector<vector<double>>& matrix, int n) {
  double det = 0;

  if (n == 1) {
    return matrix[0][0];
  }

  if (n == 2) {
    return matrix[0][0] * matrix[1][1] - matrix[0][1] * matrix[1][0];
  }

  for (int i = 0; i < n; i++) {
    vector<vector<double>> subMatrix(n - 1, vector<double>(n - 1));

    for (int j = 1; j < n; j++) {
      for (int k = 0; k < n; k++) {
        if (k < i) {
          subMatrix[j - 1][k] = matrix[j][k];
        }
        else if (k > i) {
          subMatrix[j - 1][k - 1] = matrix[j][k];
        }
      }
    }

    det += pow(-1, i) * matrix[0][i] * determinant(subMatrix, n - 1);
  }

  return det;
}
 
// Funktion zur Durchführung der Gauss-Jordan-Elimination
void gaussJordan(vector<vector<double>>& matrix, vector<double>& constants) {
  int n = matrix.size();

  for (int i = 0; i < n; i++) {
    int maxIndex = i;

    for (int j = i + 1; j < n; j++) {
      if (abs(matrix[j][i]) > abs(matrix[maxIndex][i])) {
        maxIndex = j;
      }
    }

    if (maxIndex != i) {
      swap(matrix[maxIndex], matrix[i]);
      swap(constants[i], constants[maxIndex]); // Korrektur hier
    }

    double factor = matrix[i][i];

    for (int j = i; j < n; j++) {
      matrix[i][j] /= factor;
    }

    constants[i] /= factor;

    for (int j = 0; j < n; j++) {
      if (j != i) {
        double factor = matrix[j][i];

        for (int k = i; k < n; k++) {
          matrix[j][k] -= factor * matrix[i][k];
        }

        constants[j] -= factor * constants[i];
      }
    }
  }
}

// Funktion zur Überprüfung der Invertierbarkeit und zur Lösung des LGS
vector<double> solveLinearSystem(vector<vector<double>>& matrix, vector<double>& constants) {
  int n = matrix.size();
  double det = determinant(matrix, n);

  // Überprüfung auf unendlich viele Lösungen
  bool allZero = true;

  for (double constant : constants) {
    if (constant != 0) {
      allZero = false;
      break;
    }
  }

  if (det == 0) {
    if (allZero) {
      cout << "Das LGS hat unendlich viele Lösungen." << endl;
      return {}; // Leerer Vektor, da unendlich viele Lösungen existieren
    }
    else {
      cout << "Das LGS hat keine Lösung." << endl;
      return {}; // Leerer Vektor, da keine Lösung existiert
    }
  }

  // Anwendung der Gauss-Jordan-Elimination
  gaussJordan(matrix, constants);

  vector<double> solution(n);

  for (int i = 0; i < n; i++) {
    solution[i] = constants[i];
  }

  return solution;
}

int main() {
  vector<vector<double>> matrix = {
    { 1, -3,  5 },
    { 2, -5,  12 },
    { 3, -11,  11 }
  };
  vector<double> constants = { 2, 1, 12 };

  vector<double> solution = solveLinearSystem(matrix, constants);

  if (!solution.empty()) {
    cout << "Die Lösung des LGS ist: ";

    for (int i = 0; i < solution.size(); i++) {
      cout << "x" << i + 1 << " = " << solution[i] << ", ";
    }

    cout << endl;
  }
  else {
    cout << "Das LGS hat keine Lösung." << endl;
  }

  return 0;
}
Schule, Mathematik, programmieren, Cplusplus, Mathematiker, Programmiersprache, Algorithmus, lineare Gleichungssysteme
MySQL: Fehlerhafte Suchanfrage?

Hallo,

ich stehe vor einer Herausforderung mit einer Windows Forms-Anwendung, die ich entwickelt habe, um Tageszeitraumstatistiken für Benutzer anzuzeigen. In dieser Anwendung gibt es ein Formular mit dem Namen TagesZeitraumStatistik, das darauf ausgelegt ist, Benutzern ihre Umsätze basierend auf ihnen zugewiesenen PIDs (Produkt-IDs) anzuzeigen.

Jedoch stieß ich auf ein Problem: Das Programm lädt nicht alle PIDs korrekt. Insbesondere scheinen einige Unter-PIDs übersprungen zu werden.

Bei der Fehlersuche mittels Debugging und Setzen von Breakpoints konnte ich beobachten, dass initial alle PIDs korrekt erfasst werden. Allerdings überspringt das Programm im weiteren Verlauf bestimmte PIDs, ohne dass ein offensichtlicher Grund dafür erkennbar ist. Leider komme ich bei dem Problem nicht wirklich weiter. Vielleicht kann mir ja hier jemand helfen.

Hier die Codeausschnitte:

public TagesZeitraumStatistik(string username, bool isAdmin, List<string> userPIDs)
{
  InitializeComponent();
  InitializeDataGridView();
  FillYearComboBox();

  this.username = username;
  this.isAdmin = isAdmin;
  this.userPIDs = userPIDs;
  this.Load += new EventHandler(TagesZeitraumStatistik_Load);

  monthCalendar1.DateSelected += MonthCalendar1_DateSelected;
  comboBoxYear.SelectedIndexChanged += ComboBoxYear_SelectedIndexChanged;
  printDocument1.PrintPage += new PrintPageEventHandler(PrintDocument1_PrintPage);

  // TextBox für den PID-Filter erstellen und konfigurieren
  textBoxPidFilter = new TextBox();
  textBoxPidFilter.Location = new Point(10, 10);
  textBoxPidFilter.Size = new Size(150, 20);
  this.Controls.Add(textBoxPidFilter);

  // LoadData-Methode aufrufen, um die Daten zu laden
  LoadData();
}

private void LoadData(DateTime? startDate = null, DateTime? endDate = null, string pidStartsWith = null)
{
  try
  {
    List<string> pidFilterList = new List<string>();

    if (!string.IsNullOrEmpty(pidStartsWith))
    {
      pidFilterList.Add(pidStartsWith);
    }

    DataTable statistikData = dbManager.GetTageszeitraumStatistikData(startDate, endDate, pidFilterList, userPIDs);
    dataGridView1.AutoGenerateColumns = false;
    dataGridView1.DataSource = statistikData;
    UpdateTotalSales(statistikData);
    UpdateSalesLabel(startDate, endDate);
  }
  catch (Exception ex)
  {
    MessageBox.Show(ex.Message, "Fehler", MessageBoxButtons.OK, MessageBoxIcon.Error);
  }
}

public DataTable GetTageszeitraumStatistikData(DateTime? startDate = null, DateTime? endDate = null, List<string> pidPrefixes = null, List<string> userPids = null)
{
  DataTable dt = new DataTable();

  using (MySqlConnection conn = new MySqlConnection(connectionString))
  {
    try
    {
      conn.Open();
      string query = @"
        SELECT Datum, FreierText1 AS PID, Name AS Nachname, EuroNetto, Belegnummer
        FROM BELEG 
        WHERE 1=1";

      if (startDate.HasValue)
      {
        query += " AND Datum >= @StartDate";
      }

      if (endDate.HasValue)
      {
        query += " AND Datum <= @EndDate";
      }

      if (pidPrefixes != null && pidPrefixes.Any())
      {
        query += " AND (";

        for (int i = 0; i < pidPrefixes.Count; i++)
        {
          query += $"FreierText1 LIKE @Pid{i}";

          if (i < pidPrefixes.Count - 1)
          {
            query += " OR ";
          }
        }

        query += ")";
      }

      if (userPids != null && userPids.Count > 0)
      {
        string pidsCondition = string.Join(",", userPids.Select(pid => $"'{pid}'"));
        query += $" AND FreierText1 IN ({pidsCondition})";
      }

      using (MySqlCommand cmd = new MySqlCommand(query, conn))
      {
        if (startDate.HasValue)
        {
          cmd.Parameters.AddWithValue("@StartDate", startDate.Value.Date);
        }

        if (endDate.HasValue)
        {
          cmd.Parameters.AddWithValue("@EndDate", endDate.Value.Date);
        }

        if (pidPrefixes != null && pidPrefixes.Any())
        {
          for (int i = 0; i < pidPrefixes.Count; i++)
          {
            cmd.Parameters.AddWithValue($"@Pid{i}", $"{pidPrefixes[i]}%");
          }
        }

        using (MySqlDataAdapter da = new MySqlDataAdapter(cmd))
        {
          da.Fill(dt);
        }
      }
    }
    catch (MySqlException ex)
    {
      throw new Exception($"Fehler beim Abrufen der Daten: {ex.Message}", ex);
    }
  }

  return dt;
}
C Sharp, Code, Datenbank, MySQL, Programmiersprache, Visual Studio, Algorithmus
Wie kann ich gegen die Gehirnwäsche meines asiatischen Vaters vorgehen?

Hallo, die Frage ist erstmals sehr drastisch formuliert. Mein asiatischer Vater (Heimatort: Vietnam / Familienblut: Kantonesich [Hongkong]) wird von chinesischen sozialen Medien manipuliert. Ja richtig gehört. Wir streiten uns sehr oft, wenn ich mal was politisch zu Chinas Politk äußere oder halt ein Witz mache was sich irgendwie auf China bezieht. Dabei erwähnt er immer, dass die westlichen Medien alles nur Propaganda sei und nur Lügen erzählen. Was ja auch zum Teils stimmt, wenn man das alles differenziert betrachtet. Und im Grunde stimme ich den ja auch zu, dass man nicht alles in den Medien glauben soll. Dabei vergisst er eine fundamentale Sache. Die sozialen Medien in China werden ja direkt von der kommunistischen Partei China kontrolliert und genauso manipuliert. Doch wenn ich ihm das erkläre, will der das nicht verstehen oder will ggf. nicht zuhören, weil ja alles was aus mir rauskommt vom Westen beeinflusst ist. Ihm das alles so erklären, dass man als gebildeter Mensch historische Ereignisse und etc. immer differenziert betrachten muss und dass man immer multi-perspektivisch denken soll, bringt leider gar nichts. Ihm fehlt die nötige Bildung, um diese "Fachbegriffe" erstmal zu verstehen. Die fehlende Bildung lässt sich damit erklären, dass er damals unter sehr schlechten Bedingungen leben musste in Vietnam, besonders nach dem Krieg. Er wollte als Jugendlicher zu den Philippinen flüchten und gehörte zu den Boats-People. Ironischerweise wurde er in der Flucht von dem deutschen Rettungsboot "Cap Anamur" gerettet. In Deutschland hat er sich direkt integriert und Arbeit gefunden. Für Bildung blieb keine Zeit.

In der Vergangenheit war er stolz auf sein Land China, obwohl wir ursprünglich Kantonesen sind. Doch in den letzten 4 Jahren hat sich die Lage sehr verändert. Seitdem er selber Youtube und TikTok benutzt hat, fiel er langsam ins "Rabbit Hole". Bei diesen Plattformen sind die Algorithmen leider sehr extrem. Man fällt in ein Spirale rein, wo nur seine eigene Meinung abgebildet wird. Ich höre ab und zu, wie er aktiv chinesische Nachrichtensender anschaut und Pro-China Sachen. Er ist zudem gegen die Souveränität Hongkong und Taiwan. Besonderen Hass empfindet er der USA

Es ist so schlimm geworden, dass er mit einem langjährigen Freund Kontakt abgebrochen hat, weil er sich gegen China geäußert hat.

Einmal ist er auf eine Dropshipping Werbung reingefallen und er wollte eine Hose von einer zwielichtigen Seite kaufen. Ich meinte, dass die Qualität schlecht sei und man das bei AliExpress für 10x billiger bekommen kann. Und er verstanden darunter nur, dass ich meine dass Qualität von chinesischen Produkten schlecht sei. Er versteht leider nicht, dass das Business-Modell von AliExpress halt ist, dass die billige Sachen verkaufen, die eine fragwürdige Qualität haben.

Und heute ist es besonders eskaliert. Den Kontext braucht man nicht wissen. Auf jeden Fall habe ich einmal das "verbotene" Wort China bei einem Gespräch mit meiner Mutter erwähnt. Ohne zu zögern, meinte er warum ich wieder was gegen China sage. Ich wollte ihm das erklären, dass es was missverstnden hat und es um was anderes geht. Er wollte nicht zuhören und begann zu reden, dass China viel erreicht hat in den letzten Wochen und dass der Westen nur neidisch ist und blablabla. Ich konnte kein Mal meine Situation erklären und bin anschließend in mein Zimmer gegangen. Nun streiten sich meine Eltern wegen dieser kleinen Sache.

Meine Schwester und ich denken gefühlt, dass die chinesische Regierung ein Chip in ihm reingepflanzt hat oder so 😂. Auf jeden Fall haben wir das Gefühl, dass China über alles steht, auch gefühlt die Familie. Wegen einem Wort einen heftigen Streit anzufangen, finde ich echt kindisch.

Ich habe überlegt sein Handy zu nehmen und irgendwie sein Algorithmus zu verändern. Sonst wüsste ich nicht wie ich vorgehen soll. Deswegen brauche ich Ratschläge, weil weiter kann ich mir das nicht mehr geben, wenn wir uns wegen Politik immer streiten.

Es ist sehr wichtig zu erwähnen, dass ich das alles differenziert betrachte. Ich bin kein Fan der westlichen Medien, sowie auch der chinesischen Medien. Ich sympathisiere zudem nicht mit den USA. Besonders wenn die unzählige Kriege gestartet haben und Chaos und Unruhe im nahen Osten verrichtet haben. Doch leider sieht mein Vater alles in schwarz und weiß. Ich will nur, dass er einsieht, dass die Regierung China auch nicht das Gelbe vom Ei ist. Leider fehlt ihm die Bildung dazu.

Tut mir Leid für Grammatik oder Rechtschreibfehler. Darüber hinaus bin ich echt schlecht in formulieren. Das ist alles in kurzer Zeit verfasst worden, weil ich morgen Schule habe.

Weitere Informationen kann ich bei Nachfrage ergänzen.

China, USA, Politik, Manipulation, Propaganda, Algorithmus, Gehirnwäsche

Meistgelesene Fragen zum Thema Algorithmus