Eingabeanalyse in C++
Eine Analyse einer beliebigen Eingabe wäre derzeit noch zu schwierig. Daher behandeln wir hier beispielhaft einige Fällen, in denen die Analyse relativ einfach ist.
Wie viele Zeichen (ohne Leerraumzeichen) hat die Eingabe?
#include <iostream> // ::std::cin, ::std::cout
#include <ostream> // <<
#include <iterator> // ::std::istream_iterator
#include <initializer_list>
int main()
{ using p = ::std::istream_iterator< char >; // Typalias, hier neu
::std::cout << distance( p{ ::std::cin }, p{} )<< '\n'; }
Wie viele Zeichen (einschließlich Leerraumzeichen) hat die Eingabe?
#include <iostream> // ::std::cin, ::std::cout
#include <ostream> // <<
#include <iterator> // ::std::istreambuf_iterator
#include <initializer_list>
int main()
{ using p = ::std::istreambuf_iterator< char >;
::std::cout << distance( p{ ::std::cin }, p{} )<< '\n'; }
Wie viele Wörter (leerraumgetrennt) hat die Eingabe?
#include <iostream> // ::std::cin, ::std::cout
#include <ostream> // <<
#include <iterator> // ::std::istream_iterator
#include <initializer_list>
int main()
{ using p = ::std::istream_iterator< ::std::string >;
::std::cout << distance( p{ ::std::cin }, p{} )<< '\n'; }
Einlesen von Zahlen
#include <iostream> // ::std::cin, ::std::cout
#include <ostream> // <<
#include <iterator> // ::std::istreambuf_iterator, std::ostream_iterator
#include <initializer_list>
#include <vector>
int main()
{ using p = ::std::istream_iterator< int >;
::std::vector< int >v;
copy( p{ ::std::cin }, p{}, back_inserter( v ));
copy( begin( v), end( v ), ::std::ostream_iterator< int >( ::std::cout, " " ));
::std::cout << '\n'; }
Übungsaufgabe
Schreiben Sie ein Programm, welches das Maximum und Minimum eingegebener Zahlen ausgibt.
Schreiben Sie ein Programm, welches den Median eingegebener Zahlen ausgibt.
Schreiben Sie ein Programm, welches das längsten und das kürzesten Wort der Eingabe ausgibt.
UEBUNG G (am Ende des Teils zur Typnutzung)
Schreiben Sie ein Programm, das die Zeilen einer Textdatei in einen Vektor schreibt (so dass sich an jeder Position des Vektors eine Zeile befindet).
UEBUNG H (am Ende des Teils zur Typnutzung)
Schreiben Sie ein Programm, das die Woerter einer Textdatei in einen Vektor schreibt (so dass sich an jeder Position des Vektors ein Wort befindet).