C++ lernen: Tabellengesteuerte Auswahl

Blog

Die typische Methode zum Ausführen einer Auswahl (oder Verzweigung) in C++ ist die if-Anweisung. Für viele Szenarien, die konsistent auftreten, ist das Einfügen der Logik in eine Tabelle jedoch eine effizientere Möglichkeit, eine Auswahl im Code durchzuführen. In diesem Artikel werde ich verschiedene Möglichkeiten demonstrieren, um komplexe if-Anweisungen durch Tabellen zu ersetzen.



Cash-App-Zahlung zu Ihrem Schutz storniert

Direktzugriffstabellen

Die erste Art der tabellengesteuerten Auswahl, die ich diskutieren möchte, ist die Verwendung von Direktzugriffstabellen. Das Beispiel, das ich verwenden werde, um Direktzugriffstabellen zu demonstrieren, ist die Bestimmung der Anzahl der Tage in einem Monat.

Der typische Ansatz für dieses Problem, oder was ich den Ansatz der Informatik 101 nenne, besteht darin, die Tage eines Monats in |_+_| . zu kodieren Aussage, so:



if-else if

Das ist viel Code, der viel Platz in einem Programm und viel Zeit zum Durchlesen benötigt.

Eine einfachere Möglichkeit, diese Daten zu codieren, besteht in einem Array, bei dem der Array-Index die Monatsnummer darstellt und das unter diesem Index gespeicherte Element die Anzahl der Tage in diesem Monat ist.



Hier ist ein Programm, das zeigt, wie ein Array als Direktzugriffstabelle zum Nachschlagen der Tage eines Monats verwendet wird:

if (month == 1) { days = 31; } else if (month == 2) { days = 28; } else if (month == 3) { days = 31; } else if (month == 4) { days = 30; } else if (month == 5) { days = 31; } else if (month == 6) { days = 30; } else if (month == 7) { days = 31; } else if (month == 8) { days = 31; } else if (month == 9) { days = 30; } else if (month == 10) { days = 31; } else if (month == 11) { days = 30; } else if (month == 12) { days = 31; }

Hier ist ein Beispiel für die Ausgabe dieses Programms:

#include using namespace std; int main () { int month = 0; int days = 0; const int numMonths = 12; int monthDays[numMonths] = {31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31}; string another = 'y'; do { cout <> month; days = monthDays[month-1]; cout << 'There are ' << days << ' days.' << endl; cout <> another; } while (another == 'y'); return 0; }

Das vollständige Programm, das eine Tabellensuche mit direktem Zugriff verwendet, ist kürzer als nur die oben verwendete Anweisung |_+_|.

#cpp #Programmieren lernen #Programmieren-Ausbildung #Programmieren #Programmiertipps #Deep Learning

levelup.gitconnected.com

C++ lernen: Tabellengesteuerte Auswahl

Die typische Methode zum Ausführen einer Auswahl (oder Verzweigung) in C++ ist die if-Anweisung. In diesem Artikel werde ich verschiedene Möglichkeiten demonstrieren, um komplexe if-Anweisungen durch Tabellen zu ersetzen.