<sub class="descriptionSection">18-12-2024 02:02:pm // #Tag // [[Link]]</sub>
____
## Aufgabe 1
```cpp
#include <iostream>
#include <string>
#include <vector>
#include <fstream>
#include <map>
using namespace std;
int main(){
int temperatur[] = {17, 17, 17, 16, 16, 17, 15, 15, 15, 15, 15, 15, 14, 14, 15, 15, 13, 13, 13, 13, 13, 12, 13, 14, 13, 12, 12, 12, 12, 11};
map<int, int> tempAusgabe;
int i = 1;
pair<int, int> waermsterTag = make_pair(0, 0);
vector<int> tageAnDenenMindestens15GradWar;
int completeTempCount = 0;
for(int temp : temperatur){
tempAusgabe[temp]++;
if(temp >= waermsterTag.second){
waermsterTag = make_pair(i, temp);
}
if(temp >= 15){
tageAnDenenMindestens15GradWar.push_back(i);
}
completeTempCount += temp;
i++;
}
int durchschnitt = completeTempCount / std::size(temperatur);
cout << "Durchschnittstemperatur: " << durchschnitt << endl;
cout << "Tage an denen mindestens 15 Grad waren: " << tageAnDenenMindestens15GradWar.size() << endl;
cout << "Der waermste Tag war: " << waermsterTag.first << ". Oktobor mit " << waermsterTag.second << " Grad." << endl;
return 0;
}
```
## Aufgabe 2
```cpp
#include <iostream>
#include <string>
#include <vector>
#include <fstream>
#include <map>
using namespace std;
int main(){
float kontostaende[10];
for(int i = 0; i < 10; i++){
cout << "Bitte Kontostand Nr. " << i+1 << " eingeben: ";
cin >> kontostaende[i];
cout << endl;
}
float lastKontostand = kontostaende[0];
for(float kontostand : kontostaende){
cout << "Kontostand: " << kontostand << endl;
if(kontostand < lastKontostand){
cout << "Fehler: Kontostand " << kontostand << " ist kleiner als " << lastKontostand << endl;
return 1;
}
}
return 0;
}
```
## Zusatzaufgabe
```cpp
#include <iostream>
#include <string>
#include <vector>
#include <fstream>
#include <map>
using namespace std;
string stringToMorse(string inputString, map<char, string> charMorseCodeMap){
string morseCodeString;
for(int i = 0; i < inputString.size(); i++){
inputString[i] = tolower(inputString[i]);
}
for(char c : inputString){
morseCodeString += charMorseCodeMap[c] + " ";
}
return morseCodeString;
}
string morseToString(string inputMorseCodeString, map<string, char> morseCodeCharMap){
string stringToSearch;
string newString;
bool lastwasspace = false;
for(char c : inputMorseCodeString){
if(c != ' '){
stringToSearch += c;
lastwasspace = false;
}
else if(c == ' ' && lastwasspace){
newString += " ";
lastwasspace = false;
}
else if (c == ' ' && !lastwasspace){
newString += morseCodeCharMap[stringToSearch];
stringToSearch = "";
lastwasspace = true;
};
}
newString += morseCodeCharMap[stringToSearch];
return newString;
}
int main(){
char inputArray[] = {'h', 'e', 'l', 'l', 'o', ' ', 'w', 'o', 'r', 'l', 'd'};
string inputString = "Hello World";
string inputMorseCodeString = ".... . .-.. .-.. --- .-- --- .-. .-.. -..";
map<char, string> charMorseCodeMap{
{'a', ".-"},
{'b', "-..."},
{'c', "-.-."},
{'d', "-.."},
{'e', "."},
{'f', "..-."},
{'g', "--."},
{'h', "...."},
{'i', ".."},
{'j', ".---"},
{'k', "-.-"},
{'l', ".-.."},
{'m', "--"},
{'n', "-."},
{'o', "---"},
{'p', ".--."},
{'q', "--.-"},
{'r', ".-."},
{'s', "..."},
{'t', "-"},
{'u', "..-"},
{'v', "...-"},
{'w', ".--"},
{'x', "-..-"},
{'y', "-.--"},
{'z', "--.."},
{' ', " "}
};
map<string, char> morseCodeCharMap;
for(auto const& [key, val] : charMorseCodeMap){
morseCodeCharMap[val] = key;
}
cout << stringToMorse(inputString, charMorseCodeMap) << endl;
cout << morseToString(stringToMorse(inputString, charMorseCodeMap), morseCodeCharMap) << endl;
return 0;
}
```