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
Instagram-Seite "vermarkten"?

Hallo zusammen,

seit mehr als einem Monat betreibe ich eine Instagram-Seite. Als neue Seite hat man es natürlich schwer, für Reichweite zu sorgen und "gesehen" zu werden. Ich gebe pro Tag etwa 1€ für Werbung aus, um eben "gesehen" zu werden.

Zu meiner Seite: Ich poste einen Beitrag pro Tag. Mein Thema ist Länder/Reisen. Ich poste jeden Tag einen kurzen Fakt zu einem bestimmten Land (ALLE Länder der Welt kommen mal dran ...), ab und zu gibt es ein Quiz oder Statistiken, in denen Länder miteinander verglichen werden. Dass alles wird natürlich grafisch ansehnlich erstellt. Mir macht das riesig Spaß und es kommt auch gut an. Nach 40 Tagen habe ich inzwischen 175 Follower und eine gute Engagement-Rate. Meine organische Reichweite liegt pro Tag ungefähr zwischen 100 und 120. Seit gut zwei Wochen erfahre ich eine ziemlichen Aufschwung und bekomme 9-15 Follower pro Tag

Jetzt zu meiner Frage: Wenn es so weiter geht werde ich früher oder später eine gute vierstellige Follower-Anzahl haben. Ist es möglich, dass dann Firmen auf mich zukommen, um gesponserte Beiträge von mir zu erhalten? Ich trete ja nicht "persönlich" auf der Seite auf, bin eher anonym. Sind solche Instagramer dennoch interessant für Firmen?

Ich bin noch ziemlich neu in dieser "Welt". Ich betreibe die Seite, weil es mir Spaß macht und möchte dennoch Einschätzungen haben, wie es sich entwickeln könnte, damit ich auch eine finanzielle Entschädigung erhalte, für die Zeit, die ich in das Projekt stecke.

Kennt sich jemand gut damit aus?

Werbung, Reise, Internet, Geld verdienen, Geld, Social Media, Online-Marketing, Algorithmus, Follower, Instagram, Influencer

Meistgelesene Fragen zum Thema Algorithmus