Advertisement
Guest User

Untitled

a guest
Oct 18th, 2018
109
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.31 KB | None | 0 0
  1. #include <iostream>
  2. #include <string>
  3. /* Verfügbare Memes/Datentypen (Vereinfacht)
  4. Einfache Zahl: "int" | "unsigned long long" für Große Zahlen ohne Negativwert (0 bis 18446744073709551615) | "long long" für Große Zahlen mit Negativwert (–9,223,372,036,854,775,808 bis 9,223,372,036,854,775,807)
  5. Zeichen/Char/Buchstaben: "char"
  6. Zeichenketten: "string"
  7. "unsigned" heißt quasi kann nicht negativ sein*/
  8. using namespace std;
  9.  
  10. int longestWord(string BAN);
  11.  
  12. int main(void)
  13. {
  14. string BAN;
  15.  
  16. cout << "Gebe Satz ein: ";
  17. getline(cin, BAN);
  18.  
  19. longestWord(BAN);
  20.  
  21. while (true);
  22. return 0;
  23. }
  24.  
  25. int longestWord(string BAN)
  26. {
  27. // Ich habe offensichtlich nicht den Einfachsten weg genommen um an das Längste "Wort" zu kommen.
  28.  
  29. // Variablen
  30. int longestYet = 0; // Hält die Anzahl an Chars im Längsten Wort bis jetzt fest
  31. int longestYetPos = 0; // Hält die "Position" des Längstem Worts fest
  32. int SizeNow = 0; // Hält die derzeitige "Größe" des Wortes fest, welches inspiziert wird
  33. int PosNow = 0; // Hält die derzeitige "Position" des Wortes fest, welches inspiziert wird.
  34.  
  35. int len = BAN.length() - 1; // senlen ist die Große des "sen" Char Arrays
  36. for (int i = 0; i <= len; ++i)//Dies ist eine ganz normale For Schleife, welche bis zum Ende des Char Array arbeitet, mithilfe der Länge des Arrays.
  37. {
  38.  
  39. char ch = BAN[i]; // Setzt "ch" zum Derzeitigen Char welche der Array durchnimmt.
  40.  
  41. if (ch == ' ') // Mithilfe von Switch wird festgestellt ob es sich um ein Neues Wort oder eben nicht handelt
  42. { // Neues Wort fängt an
  43. SizeNow = 0;
  44. PosNow = i + 1;
  45.  
  46. }
  47. else
  48. { // Immer noch das Derzeitige wort
  49. SizeNow++;
  50. // Falls SizeNow großer ist als das bisher größte Wort, ist das nun das neue "longestYet" Wort, die Position wird ebenfalls gespeichert in longestYetPos;
  51. if (SizeNow > longestYet)
  52. {
  53. longestYet = SizeNow;
  54. longestYetPos = PosNow;
  55. }
  56. }
  57. }
  58.  
  59. // Gebe das Resultat aus mithilfe von sen[] und dem longestYetPos und longestYet.
  60. // Das Wort wird "Extrahiert" aus dem Char Array, da die For Schleife bei longestYetPos Beginnt, und bis zum Ende des Wortes mithilfe der longestYet Variable Arbeitet.
  61. cout << "Laengstes Wort: ";
  62. for (int j = longestYetPos; j <= (longestYetPos - 1) + longestYet; j++)
  63. {
  64. char ch = BAN[j];
  65. cout << ch;
  66. }
  67.  
  68. return 0;
  69. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement