Übungen / Aufgaben zu C++

0 Lösungen
Wettervorhersage als Text formulieren
Fortgeschrittener - C++ von Gnom - 13.05.2020 um 00:54 Uhr
Schreibe ein Programm, das eine Wettervorhersage (erstmal nur Temperaturen) als Text fomuliert.
Als Ausgangsinformationen dienen vier Temperaturangaben für vormittags, nachmittags, abends und nachts.
Das Programm soll die Sätze variantenreich formulieren, z. B. abhängig davon, ob es im Laufe des Tages kälter oder wärmer wird oder ob die Temperaturen sehr kalt, mäßig, warm oder heiß sind. Für gleichartige Sachverhalte kann auch per Zufallsgenerator zwischen verschiedenen gleichwertigen Formulierungen gewählt werden.

Erweiterung 1:
Es wird zusätzlich ein Datum angegeben. Die Formulierungen orientieren sich dann zusätzlich an Temperatur-Druchschnittswerten des jeweiligen Monats.
(Tageshöchsttemperatur Jan-Dez: 2, 3, 8, 12, 18, 21, 23, 23, 19, 14, 7, 4 - Tiefsttemperaturen nachts Jan-Dez: -2, -3, 1, 4, 9, 12, 14, 14, 11, 7, 3, 0)

Erweiterung 2:
Vergleichbares kann man für Angaben zu Sonne/Bewölkung, Niederschlägen (Regen, Schnee) bzw. Niederschlagsmengen und Windstärke/-richtung ergänzen.
(Niederschlagsmengen in mm Jan-Dez: 42, 30, 39, 36, 42, 72, 51, 45, 45, 30, 45, 57)

Erweiterung 3:
Sonderwetterlagen können zusätzlich eingebracht werden, z. B. Gewitter, Nebel, Hagel, Starkregen, Blitzeis.

Quelle Klimadaten für Berlin: https://www.klimatabelle.info/europa/deutschland
0 Lösungen
Mehrdimensional zu Eindimensional
Anfänger - C++ von Exception - 11.05.2020 um 08:38 Uhr
Das folgende mehrdimensionale Array soll zu einem flachen, eindimensionalen Array umgewandelt werden. Viel Spaß.
Quellcode ausblenden PHP-Code
$a = [
	0 => 'Text 0',
	1 => 'Text 1',
	2 => 'Text 2',
	'A' => [
		0 => 'Text A 0',
		1 => 'Text A 1',
		2 => 'Text A 2',
	],
	'B' => [
		'A' => [
			0 => 'Text B A 0',
			1 => 'Text B A 1',
			2 => 'Text B A 2',
		]
	]
];


2 Lösungen Lösungen öffentlich
Rationale Zahlen einlesen: Mittelwert,Produkt und das Maximum ermitteln
Anfänger - C++ von Cara - 10.05.2020 um 21:54 Uhr
Schreiben Sie ein Programm, das n rationale Zahlen einliest / einlesen kann und den Mittelwert, das Produkt und das Maximum dieser Zahlen ermittelt und ausgibt.
2 Lösungen Lösungen öffentlich
Schreiben Sie eine Methode, die 10 Integerzahlen vom Benutzer einliest und in einem Array abspeichert.
Anfänger - C++ von Cara - 10.05.2020 um 21:52 Uhr
Schreiben Sie eine Methode, die 10 Integerzahlen vom Benutzer einliest und in einem Array abspeichert.
3 Lösungen Lösungen öffentlich
WHtR (Waist to Height Ratio) berechnen
Anfänger - C++ von JKooP - 10.05.2020 um 09:17 Uhr
Schreibe ein Programm zur Ermittlung des WHtR- Wertes aus Taillenumfang + Körpergröße und der daraus resultierenden Bewertung.

Es sollen sowohl das Geschlecht (m/w) als auch das Kindesalter bzw. der Altersfaktor für Erwachsene berücksichtigt werden.

Viel Spaß
0 Lösungen
Abschätzung der Gewinnchancen eines KENO-Types
Anfänger - C++ von hollst - 08.05.2020 um 22:39 Uhr
Zur Erinnerung, was ist KENO: Aus 70 Zahlen werden 20 Gewinnzahlen per Zufallsgenerator ermittelt.
Es gibt die KENO-Typen 2, 3 ... 10, d. h. man kann 2, 3 ... 10 Zahlen aus den Zahlen 1 ... 70 wählen.

Bei KENO-Typ N können 0, 1 ... N gewählte Zahlen in den 20 gelosten Gewinnzahlen enthalten sein
(je mehr, desto höher natürlich der Gewinn).

Die Programmieraufgabe bestehe darin, mittels stochastischer Simulation die Wahrscheinlichkeit dafür abzuschätzen,
wie hoch die Chance ist, bei KENO-Typ N, 0, 1, 2 ... oder gar N Richtige auf seinem Tippzettel zu haben?

Die exakten Werte könnt ihr u. a. z. B. auf
https://www.sachsenlotto.de/portal/spiele/keno/gewinnquoten.jsp
nachsehen.
2 Lösungen Lösungen öffentlich
Quadratzahlen zwischen 1 und 100
Anfänger - C++ von DeinError404 - 30.04.2020 um 23:42 Uhr
Schreibe ein kleines Programm, das die Quadratzahlen zwischen 1 und 100 ausgibt. (Nicht die ersten 100 Quadratzahlen, die Aufgabe gibt es schon.)
2 Lösungen Lösungen öffentlich
Zahlen in Wörtern ausdrücken
Anfänger - C++ von Gisbert5020 - 30.04.2020 um 15:17 Uhr
Schreiben Sie ein Programm, das Zahlen von 0 bis 99 in Wörtern fasst.
Zusatzaufgabe : Erweitern Sie das Programm von 0 bis 1000.
2 Lösungen Lösungen öffentlich
Mathematische Vektoroperationen
Anfänger - C++ von thunderbird - 28.04.2020 um 21:51 Uhr
Erstellen Sie ein Programm/ eine Funktion, mit der Vektorberechnungen durchgeführt werden können.
"Vektor" soll eine eigens erstellte Klasse sein, die aus 3 Fließkommazahlen bestehen.
Zudem beinhaltet die Klasse "Vektor" eine Methode zur Skalarmultiplikation, Addition, Subtraktion, Division und um das Kreuzprodukt zu berrechnen.
Erstellen Sie zur Darstellung eine Ausgabemethode.

Hinweis:
- Anstatt neue Methoden zu erstellen, können (sofern möglich) bereits vorhandene überladen werden.
- Mathematische Rechenregeln unter: https://de.wikipedia.org/wiki/Vektor
2 Lösungen Lösungen öffentlich
Anzahl an Nachbar-Dupletten in einem Array
Anfänger - C++ von thunderbird - 28.04.2020 um 09:38 Uhr
Es sollen die Anzahl von den Nachbar-Dubletten eines Zahlen-Arrays ermittelt werden. Die Nachbar-Dubletten sind gleiche benachbarte Zahlen in einem Array.
Es soll außerdem auf folgendes geachtet werden: Die Nachbar-Dubletten sind genau nur für zwei benachbarte Mitglieder definiert - sollte ein drittes Mitglied dabei benachbart sein, wird es nicht mitgezählt, weil es noch einen gleichen Nachbar braucht.

Beispiel:
Array = [3,3,7] : Ausgabe = 1
Array = [3,3,3] : Ausgabe = 1 (Mitglieder von Index 0 und 1 sind benachbart, Index 2 braucht auch ein Nachbar aber hat keinen)
Array = [3,3,3,3] : Ausgabe = 2
Array = [0, 3, 3, 3, 2, 7, 7, 7, 7, 3, 2, 1, 1, -2, 4, 4, 8, 9, 8, 6 ] : Ausgabe = 5

Zusatzanforderungen:
- Unter 30 Zeilen Code
- Variable Länge der Arrays
- Alle reellen Zahlen werden akzeptiert
1 Lösung Lösung öffentlich
Postleitzahl (PLZ) zu erstellen
Anfänger - C++ von Gelöschte Person - 22.04.2020 um 16:35 Uhr
Die Idee dieses Programmes soll sein, ein Nachschlagewerk für österreichische Postleitzahlen zu erstellen.
Repräsentativ sollen 9 beliebige Postleitzahlen, eins pro Bundesland, hardcoded eingetragen werden.
Jede PLZ besteht aus einer Zahl, die auf keinen Fall doppelt vorkommen darf und einem eindeutigen Stadtnamen, welcher anders als die Zahl doppelt vorkommen darf (z.B. 1010 Wien, 1020 Wien)
Überlegen Sie sich zuerst gut welchen geeigneten Datentyp Sie verwenden, in den Sie alle Daten strukturiert speichern können. Ich nenne diesen Datentyp im folgenden immer Datensatz.

Erstellen Sie sich für jeden der nachfolgenden Überschriften einen Menüpunkt in ihrem Programm.

z.B. Ausgabe Konsole:
0 - Exit
1 - PLZ erzeugen …

PLZ erzeugen
Es soll möglich sein eine beliebige Anzahl an PLZ zum Datensatz hinzufügen zu können. Ist die PLZ bereits vorhanden, so soll erst mit dem geheimen PIN 1234 das Ändern des Eintrages erlaubt werden. Fragen Sie unbedingt, ob eine Änderung (nur Name) vorgenommen werden soll.
Bedenken Sie, dass eine PLZ in Österreich immer aus genau 4 Zahlen besteht.

PLZ anzeigen
Es soll möglich sein alle PLZ aus dem Datensatz auf einmal auszugeben, um sich die passende zu finden. Sortieren Sie unbedingt den Datensatz nach jedem neuen Eintrag nach der PLZ.

PLZ suchen
Beim Suchen soll es möglich sein einzelne oder mehrere PLZ aufzulisten. Wird bspw. 1010
eingegeben so soll 1010 Wien (PLZ inkl. Name) ausgegeben werden. Wird nur 1 eingegeben und
gesucht, so sollen alle PLZ inkl Name mit 1 beginnend ausgegeben werden. Wird 10 eingegeben, so
sollen alle PLZ inkl. Name mit 10 beginnend ausgegeben werden usw.
Optional: Wird Wien eingegeben, so sollen alle Wiener PLZ aufgelistet werden.
Das Programm darf bei der Suche keinesfalls abstürzen!

Erweiterung
Erweitern Sie nun das Programm um folgende Funktion:
Es soll nach einer Adresse gefragt werden. Erst Adresszeile, dann PLZ, dann Stadt. Eine Adresse,
besteht immer aus einer Adresszeile einer PLZ und einer Stadt.
Ist die PLZ aus dem Datensatz bekannt, soll gar nicht mehr nach dem Stadtnamen gefragt und
automatisch vervollständigt werden. Außerdem soll die eingegebene Adresse ausgegeben und vom
User kontrolliert werden. Zudem soll diese direkt in eine Liste gespeichert werden, wenn diese
korrekt ist. Selbstverständlich soll in der Liste der Städtename ebenfalls hinterlegt sein.
War die PLZ nicht bekannt, soll diese in den Datensatz für die Zukunft gespeichert werden, nachdem
die Korrektheit der Adresse bestätigt wurde.
Geben Sie abschließend alle Adressen aus der Liste, sowie alle PLZ aus dem Datensatz aus.
2 Lösungen Lösungen öffentlich
Überholen: benötigte Strecke und Dauer berechnen
Anfänger - C++ von Waldgeist - 22.04.2020 um 10:55 Uhr
Es soll ein Programm für die Berechnung von Überhol-weg und Überhol-zeit (bei angenommener konstanten Geschwindigkeit) erstellt werden.

Dazu werden die Länge der beiden Fahrzeuge (l1 und l2) und deren Geschwindigkeit (v1 und v2) angegeben.

Aus diesen Daten ermitteln wir den Sicherheitsabstand (a).
Dieser soll der halben Geschwindigkeit entsprechen. Also bei 100 km/h sind 60 m Sicherheitsabstand einzuhalten.

Die benötigte Strecke berechnen wir dann nach folgender Formel:

s = v1 / (v1−v2) * (l1+l2+2*a)

Weitere Information findet ihr hier: Video


Viel Spaß!