Inhaltsverzeichnis
Eingabe- und Ausgabeszenarien
Verwenden Sie die If-Anweisung
Beispiel
Ausgabe
Hilfsfunktionen nutzen
Fazit
Heim Backend-Entwicklung C++ Die Anzahl der horizontalen oder vertikalen Liniensegmente, die zum Verbinden von drei Punkten erforderlich sind

Die Anzahl der horizontalen oder vertikalen Liniensegmente, die zum Verbinden von drei Punkten erforderlich sind

Aug 25, 2023 pm 04:49 PM
垂直 连接 水平

Die Anzahl der horizontalen oder vertikalen Liniensegmente, die zum Verbinden von drei Punkten erforderlich sind

Angenommen, Sie möchten anhand von drei verschiedenen Punkten (oder Koordinaten) die Anzahl der horizontalen oder vertikalen Liniensegmente ermitteln, die durch die Verbindung dieser drei Punkte gebildet werden können. Solche Liniensegmente werden auch Polylinien genannt. Um dieses Problem zu lösen, benötigen Sie das Konzept der Computergeometrie. In diesem Artikel werden wir verschiedene Möglichkeiten zur Lösung dieses Problems in C++ diskutieren.

Eingabe- und Ausgabeszenarien

Angenommen, c1, c2 und c3 sind die Koordinaten von 3 Punkten auf der kartesischen Ebene. Die Anzahl der horizontalen oder vertikalen Liniensegmente, die diese drei Punkte verbinden, ist wie folgt.

Input: c1 = (-1, -1), c2 = (-2, 3), c3 = (4, 3)
Output: 1
Input: c1 = (1, -1), c2 = (1, 3), c3 = (4, 3)
Output: 2
Input: c1 = (1, 1), c2 = (2, 6), c3 = (5, 2)
Output: 3
Nach dem Login kopieren

Hinweis − Horizontale und vertikale Liniensegmente müssen an der Koordinatenachse ausgerichtet sein.

Verwenden Sie die If-Anweisung

Mit der if-Anweisung können wir prüfen, ob zwischen diesen drei Punkten eine horizontale oder vertikale Linie liegt.

  • Erstellen Sie eine Funktion, indem Sie c1.x mit c2.x, c1.x mit c3.x und c2.x und c3.x kombinieren. Wenn eine der beiden Bedingungen erfüllt ist, bedeutet dies, dass ein horizontales Liniensegment vorhanden ist und die Anzahl erhöht wird.

  • In ähnlicher Weise funktioniert diese Funktion durch die Kombination von c1.y mit c2.y, c1.y mit c3.y und c2.y und c3.y. Wenn eine der Bedingungen erfüllt ist, existiert das vertikale Liniensegment. Die Zahl erhöht sich erneut.

Beispiel

#include <iostream>
using namespace std;

struct Coordinate {
   int x;
   int y;
};
int countLineSegments(Coordinate c1, Coordinate c2, Coordinate c3) {
   int count = 0;
   // Check for the horizontal segment
   if (c1.x == c2.x || c1.x == c3.x || c2.x == c3.x)
      count++; 
   // Check for the vertical segment
   if (c1.y == c2.y || c1.y == c3.y || c2.y == c3.y)
      count++; 
   return count;
}

int main() {
   Coordinate c1, c2, c3;
   c1.x = -1; c1.y = -5;
   c2.x = -2; c2.y = 3;
   c3.x = 4; c3.y = 3;

   int numSegments = countLineSegments(c1, c2, c3);

   std::cout << "Number of horizontal or vertical line segments: " << numSegments << std::endl;

   return 0;
}
Nach dem Login kopieren

Ausgabe

Number of horizontal or vertical line segments: 1
Nach dem Login kopieren
Nach dem Login kopieren

Hinweis Wenn alle drei Punkte auf derselben Achse der kartesischen Ebene liegen, d. h. auf der das Ergebnis ist 2, andernfalls ist das Ergebnis 3.

Hilfsfunktionen nutzen

  • Hier können wir Hilfsfunktionen (horizontalLine und verticalLine) verwenden, um Liniensegmente zu berechnen.

  • Wir machen uns die Tatsache zunutze, dass im kartesischen System alle Punkte einer horizontalen Linie auf derselben y-Koordinate liegen. Die Funktion horizontalLine prüft, ob zwei Punkte ein horizontales Liniensegment bilden können, indem sie ihre y-Koordinaten vergleicht. Wenn die y-Koordinaten gleich sind, gibt es eine horizontale Linie.

  • Ebenso liegen alle Punkte einer vertikalen Linie auf derselben x-Koordinate. Die Funktion verticalLine prüft, ob zwei Punkte ein vertikales Liniensegment bilden können, indem sie ihre x-Koordinaten vergleicht. Wenn die x-Koordinaten gleich sind, gibt es eine vertikale Linie.

  • Als nächstes haben wir die Funktion countLineSegments , die die Anzahl der horizontalen und vertikalen Liniensegmente zählt. Wenn horizontale oder vertikale Liniensegmente vorhanden sind, wird die Anzahl nach jeder Iteration erhöht.

Beispiel

#include <iostream>
using namespace std;

struct Coordinate {
   int x;
   int y;
};

// Helper functions
bool horizontalLine(Coordinate c1, Coordinate c2)  {
   return c1.y == c2.y;
}

bool verticalLine(Coordinate c1, Coordinate c2)  {
   return c1.x == c2.x;
}

int countLineSegments(Coordinate c1, Coordinate c2, Coordinate c3)  {
   int count = 0;
   // Check for horizontal segment
   if (horizontalLine(c1, c2) || horizontalLine(c1, c3) || horizontalLine(c2, c3))
      count++; 
   // Check for vertical segment
   if (verticalLine(c1, c2) || verticalLine(c1, c3) || verticalLine(c2, c3))
      count++; 
   return count;
}

int main() {
   Coordinate c1, c2, c3;
   c1.x = -1; c1.y = -5;
   c2.x = -2; c2.y = 3;
   c3.x = 4; c3.y = 3;

   int numSegments = countLineSegments(c1, c2, c3);

   std::cout << "Number of horizontal or vertical line segments: " << numSegments << std::endl;

   return 0;
}
Nach dem Login kopieren

Ausgabe

Number of horizontal or vertical line segments: 1
Nach dem Login kopieren
Nach dem Login kopieren

Fazit

In diesem Artikel untersuchen wir verschiedene Möglichkeiten, um mit C++ die Anzahl der horizontalen und vertikalen Linien zu ermitteln, die drei verschiedene Punkte in der kartesischen Ebene verbinden können. Wir haben bereits den if-Anweisungsansatz zur Lösung dieses Problems besprochen. Aufgrund der großen Anzahl an Iterationen steigt allerdings auch die zeitliche Komplexität. Wir können dieses Problem effizient lösen, indem wir die Hilfsfunktion verwenden, die die Anzahl der Iterationen und damit die Zeitkomplexität reduziert.

Das obige ist der detaillierte Inhalt vonDie Anzahl der horizontalen oder vertikalen Liniensegmente, die zum Verbinden von drei Punkten erforderlich sind. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

AI Hentai Generator

AI Hentai Generator

Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

R.E.P.O. Energiekristalle erklärten und was sie tun (gelber Kristall)
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Beste grafische Einstellungen
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. So reparieren Sie Audio, wenn Sie niemanden hören können
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Wie man alles in Myrise freischaltet
4 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Vollständige Anleitung zur Win11-Gamepad-Verbindung Vollständige Anleitung zur Win11-Gamepad-Verbindung Jan 02, 2024 pm 05:26 PM

Nach dem Update auf das neueste Win11-System sind sich viele Benutzer nicht sicher, wie sie den Controller zum Spielen anschließen sollen. Aus diesem Grund haben wir Ihnen heute eine ausführliche Anleitung zum Anschließen des Win11-Controllers zusammengestellt. Werfen wir einen Blick auf die Bedienung. So verbinden Sie den Controller in Win11: 1. Klicken Sie unten auf Start und geben Sie dann die Windows-Einstellungen ein, um die „Systemsteuerung“ zu öffnen. 2. Nach der Eingabe können Sie „Geräte und Drucker anzeigen“ aufrufen. 3. An dieser Stelle können Sie die Informationen zum Controller-Gerät sehen und einfach die Verbindung herstellen. 4. Nachdem die Verbindung erfolgreich hergestellt wurde, erscheint ein √ und die Verbindung ist abgeschlossen.

Win7-Drucker kann keine Verbindung herstellen, Fehlercode 0x0000011b Win7-Drucker kann keine Verbindung herstellen, Fehlercode 0x0000011b Dec 26, 2023 pm 10:01 PM

Oft müssen wir für verschiedene Druckvorgänge eine Verbindung zum Drucker herstellen, aber manchmal stoßen einige Benutzer auf das Problem, dass Win7 keine Verbindung zum Drucker 0x0000011b herstellen kann. Das Folgende ist die spezifische Lösung. Win7 kann keine Verbindung zum Drucker 0x0000011b1 herstellen. Tastenkombination „win+r“, geben Sie „regedit“ ein 2. Suchen Sie den folgenden Pfad „HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Print“ 3. Klicken Sie mit der rechten Maustaste, um einen neuen Wert „DWORD ( 32-Bit-Wert (D) und setzen Sie den Wert auf 0. Benennen Sie das neue Projekt „RpcAuthnLevelPri“.

So überprüfen Sie die Details und den Status der Netzwerkverbindung unter Windows 11 So überprüfen Sie die Details und den Status der Netzwerkverbindung unter Windows 11 Sep 11, 2023 pm 02:17 PM

Um sicherzustellen, dass Ihre Netzwerkverbindung ordnungsgemäß funktioniert oder um das Problem zu beheben, müssen Sie manchmal die Netzwerkverbindungsdetails unter Windows 11 überprüfen. Auf diese Weise können Sie eine Vielzahl von Informationen anzeigen, darunter Ihre IP-Adresse, MAC-Adresse, Verbindungsgeschwindigkeit, Treiberversion und mehr. In dieser Anleitung zeigen wir Ihnen, wie das geht. Wie finde ich Netzwerkverbindungsdetails unter Windows 11? 1. Verwenden Sie die App „Einstellungen“ und drücken Sie die +-Taste, um die Windows-Einstellungen zu öffnen. Navigieren Sie als Nächstes im linken Bereich zu „Netzwerk & Internet“ und wählen Sie Ihren Netzwerktyp aus. In unserem Fall ist das Ethernet. Wenn Sie ein drahtloses Netzwerk verwenden, wählen Sie stattdessen ein Wi-Fi-Netzwerk aus. Am unteren Bildschirmrand sollten Sie Folgendes sehen:

So schließen Sie die Körperfettwaage an So schließen Sie die Körperfettwaage an Mar 07, 2024 pm 04:50 PM

Wie schließe ich die Körperfettwaage an? Keep verfügt über eine speziell entwickelte Körperfettwaage, aber die meisten Benutzer wissen nicht, wie sie die Körperfettwaage anschließen sollen Editor bringt zu den Nutzern, interessierte Nutzer kommen und schauen! So schließen Sie die Keep-Körperfettwaage an: 1. Öffnen Sie zunächst die Keep-Software, gehen Sie zur Hauptseite, klicken Sie auf [Mein] in der unteren rechten Ecke und wählen Sie [Smart Hardware] aus. 2. Klicken Sie dann auf der Seite „Meine Smart-Geräte“. Klicken Sie auf die Schaltfläche [Gerät hinzufügen] in der Mitte. 3 Wählen Sie dann das Gerät aus, dem Sie eine Schnittstelle hinzufügen möchten. Wählen Sie dann [Intelligente Körperfett-/Gewichtswaage] aus. 4. Klicken Sie dann auf der Seite zur Auswahl des Gerätemodells auf [Körperfettwaage behalten]. Option 5. Schließlich in der unten gezeigten Benutzeroberfläche unten [Jetzt hinzufügen].

So beheben Sie eine eingeschränkte Netzwerkverbindung in Windows 10 So beheben Sie eine eingeschränkte Netzwerkverbindung in Windows 10 Feb 19, 2024 pm 09:20 PM

Lösungen für eingeschränkte Netzwerkverbindungen in Win10 Mit der rasanten Entwicklung der Technologie ist das Internet zu einem unverzichtbaren Bestandteil des Lebens der Menschen geworden. Allerdings können bei der Verbindung mit dem Internet auf Computern mit dem Betriebssystem Windows 10 manchmal Probleme auftreten, darunter eingeschränkte Verbindungen. In diesem Fall können wir nicht auf Webseiten zugreifen, Dateien herunterladen oder Netzwerkfunktionen nicht normal nutzen. Gibt es also eine Möglichkeit, dieses Problem zu lösen? In diesem Artikel werden Ihnen mehrere gängige Lösungen vorgestellt. 1. Überprüfen Sie zunächst die Netzwerkverbindungseinstellungen

Was bedeutet der Druckerfehlercode 0x0000011b? Was bedeutet der Druckerfehlercode 0x0000011b? Feb 18, 2024 pm 10:02 PM

Was bedeutet 0x0000011b beim Anschließen an einen Drucker? Benutzer stoßen bei der Verwendung von Computern, Laptops oder anderen Geräten häufig auf verschiedene Fehlercodes. Darunter ist 0x0000011b ein häufiger Fehlercode bei der Druckerverbindung. Was bedeutet also das Anschließen des Druckers 0x0000011b? Zunächst müssen wir die Grundprinzipien der Druckerverbindung verstehen. Wenn wir Dateien vom Computer aus drucken müssen, müssen wir normalerweise den Drucker an den Computer anschließen, um die Datenübertragung zwischen beiden zu ermöglichen. Diese Verbindung kann über hergestellt werden

So verbinden Sie die OnePlus-Uhr mit dem Bluetooth-Headset_So verbinden Sie die OnePlus-Uhr mit dem Bluetooth-Headset So verbinden Sie die OnePlus-Uhr mit dem Bluetooth-Headset_So verbinden Sie die OnePlus-Uhr mit dem Bluetooth-Headset Mar 23, 2024 pm 01:16 PM

1. Legen Sie die Ohrhörer in die Ohrhörerbox und lassen Sie den Deckel geöffnet. Halten Sie die Taste an der Box gedrückt, um in den Kopplungsstatus der Ohrhörer zu gelangen. 2. Schalten Sie die Funktion „Musik ansehen“ ein und wählen Sie „Bluetooth-Kopfhörer“ oder wählen Sie „Bluetooth-Kopfhörer“ in der Funktion „Uhreneinstellungen“ aus. 3. Wählen Sie das Headset auf der Uhr aus, um die Kopplung erfolgreich durchzuführen.

Der freigegebene Drucker kann keine Verbindung zum Drucker herstellen Der freigegebene Drucker kann keine Verbindung zum Drucker herstellen Feb 22, 2024 pm 01:09 PM

Mit der Entwicklung des digitalen Zeitalters sind gemeinsam genutzte Drucker zu einem unverzichtbaren Bestandteil der modernen Büroumgebung geworden. Manchmal kann es jedoch vorkommen, dass der freigegebene Drucker nicht mit dem Drucker verbunden werden kann, was nicht nur die Arbeitseffizienz beeinträchtigt, sondern auch eine Reihe von Problemen verursacht. Ziel dieses Artikels ist es, die Gründe und Lösungen dafür zu untersuchen, warum ein freigegebener Drucker keine Verbindung zum Drucker herstellen kann. Es gibt viele Gründe, warum ein freigegebener Drucker keine Verbindung zum Drucker herstellen kann. Der häufigste Grund sind Netzwerkprobleme. Wenn die Netzwerkverbindung zwischen dem freigegebenen Drucker und dem Drucker instabil oder unterbrochen ist, ist ein normaler Betrieb nicht möglich.

See all articles