Aus eigener Kraft (!) hat er 18 Meter zurück gelegt. Die Strömung hat ihn ebenfalls 18 Meter weit transportiert.

Nach der Luftlinie scheint nicht gefragt zu sein.

...zur Antwort

Also ganz primitiv und ohne Fehlerprüfung:

#include <iostream> // cout, endl

#include <cstdlib> // size_t

int main (void) {
    using namespace ::std;
    
    cout << "Enter floating point number: " << flush;
    double fp {};
    cin >> fp;

    cout << "Enter decimal places: " << flush;
    size_t dp {};
    cin >> dp;

    size_t factor { 1ul };
    while (dp--) {
        factor *= 10;
    }

    const auto multiplied { static_cast<size_t>(fp * factor) };
    
    const auto before { multiplied / factor };
    const auto after { multiplied % factor };

    cout << "Rounded: " << before << "." << after << endl;
}

Ich habe absichtlich nicht den naiven Weg gewählt, weil man dabei gleitkomma-bedingte Rundungsfehler bekommen wird.

Und im obigen Codeschnipsel wird nicht auf Plausibilität und Fehler geprüft. (negative Eingabe, 0 als Dezimalstellen, etc.)

Ach und, du brauchst dafür einen modernen Compiler, der C++17 kennt, da ich die moderne Art der Initialisierung verwende. Falls du das nicht magst, kannst du es ja auch noch anpassen.

...zur Antwort

Das ist normal.

Wenn Gewebe verletzt wurde (durch den Einstich der Spritze) und es danach wieder heilt, machen sich die Nerven an dieser Stelle manchmal bemerkbar, was als Jucken empfunden wird.

Bei anderen Verletzungen, wie Schürfwunden, passiert das anschließend während der Heilphase auch manchmal.

Mach dir keinen Kopf!

...zur Antwort

So kleine Intervalle von 0,1 Sekunde wirst du unmöglich ohne Websockets hinbekommen!

Selbst mt AJAX und geschweige denn META-Refresh wird das nix.

Überlege dir, ob der Interval wirklch so klein sein muss, oder arbeite mit Sockets. Eine andere Lösung sehe ich nicht.

...zur Antwort

Zeichensatz und Kodierung sind unterschiedliche Dinge.

Deshalb ist die Frage deines Lehrers nicht zu beantworten.

ASCII ist ein Zeichensatz mit 128 definierten Codepoints, die in sieben Bit Platz finden.

Kodiert wird dieser üblicherweise mit 8 Bit pro Codepoint, wobei das höherwertigste Bit auf 0 gesetzt wird.

Unicode ist ein Zeichensatz mit unvergleichbar viel mehr Codepoints.

Die untersten Codepoints werden im Speicher oft unkodiert in Form von UCS-2 bzw. UCS-4 dargestellt, und manchmal auch nur in einem einzigen Byte, falls man nicht mehr als die ersten 256 Codepoints benötigt.

Die ersten 128 Codepoints von Unicode entsprechen denselben wie im gesamten ASCII-Zeichensatz.

Es gibt aber noch unzählige weitere "erweiterte ASCII Zeichensätze", wie zum Beispiel die ISO-8859-X Familie, die keine spezielle Kodierung kennen, sondern bei denen die Codepoints einfach der binären Darstellung entsprechen.

Da viele Kodierungen erweiterter ASCII-Zeichensätze aber so speziell kodiert werden, dass es keine fixe Anzahl an Bits bzw. Bytes pro Zeichen bzw. Codepoint gibt, ist deine Frage nicht zu beantworten.

Unicode ist ein erweiterter ASCII-Zeichensatz, kann aber in UTF-8 kodiert werden, wobei ein Zeichen dann 1, 2, 3 oder 4 Byte einnimmt.

Wenn ich also das Wort "Öl" in einer Textdatei mit ISO-8859-15 Kodierung speichere, ist sie 2 Byte groß. Speichere ich die Datei hingegen mit UTF-8, dann ist sie 3 Byte groß.

Die Dateigröße hängt also weniger von der Kodierung, als viel mehr vom enthaltenen Text ab.

Wenn deine Textdatei also 56KB groß ist, kann es sein, dass die Datei mit erweitertem ASCII genauso groß ist, nämlich 56KB.

Und wenn der Inhalt nur aus Umlauten besteht, und die Datei als UTF-8 kodiert ist, dann wird sie genau doppelt so groß sein, nämlich 112KB.

Ein normaler deutscher Text enthält aber eine nicht genau definierte Anzahl an Umlauten. Deshalb ist es unmöglich zu sagen, wie groß die resultierende Datei sein wird.

Falls man aber ISO-8859-15 als Kodierung wählt, wird die Datei auch mit Umlauten die gleiche Größe, also 56KB, haben.

Und nebenbei ist die Fragestellung gleich doppelt schwachsinnig, da man unter "Buchstabe" normalerweise keine Leerzeichen oder Sonderzeichen versteht.

Es hängt also gleich doppelt vom enthaltenen Text ab, welche Antwort korrekt ist.

Alles in allem eine extrem schlechte Fragestellung. Der Lehrer sollte unbedingt präziser formulieren, wenn er eine sinnvolle Antwort erwartet!

...zur Antwort

Das ist nicht billig!

Diese Süßigkeiten sind mit die billigsten, die man in Iapan kaufen kann.

Ein Umaibo kostet im Suprmarkt 10 Yen, also umgerechnet ca. 8 Cent.

Als Gewerbetreibender bekommt man die aber für weniger als 4 Yen!

Die Senbei gibts in grošen Packungen für ca. 200 bis 300 Yen, mit 20 Stück inhalt. Kannst dir selber ausrechnen, wie teuer ein einziger ist.

Die Versandkosten per japanischer Post betragen ca. 300 Yen als Airmail. (Vergleichbar mit dem Maxibrief in Deutschland, der aber auch drei mal so teuer ist)

Naja, aber der Versender will sicher auch noch etwas verdienen, auch wenn die Gewinnmarge bei geschätzt 80% etwas hoch ist, aber egal.

...zur Antwort
MINT-Fächer

Aber Sprachen sind unfassbar wertvoll, wenn man sich naturwissenschaflich und technisch weiterbildn will, da viele gute Bücher weder in Deutsch, noch in Englisch verfügbar sind.

Deshalb bin ich sehr froh, auch Französisch und Japanisch auf einem Niveau gelernt zu haben, dass es mir ermöglicht, MINT-Fachliteratur zu lesen und zu verstehen.

...zur Antwort

Die werden sich totlachen und deine Anfrage entweder unkommentiert lassen, oder es dir ausdrücklich verbieten.

Vergiss es!

...zur Antwort

Alles ausnahmslos nomal und total harmlos.

Gönn deinem Körper noch ein paar Tage Ruhe. Gedanken musst du dir keine machen.

...zur Antwort

Bisher konnte man aus jeder VM, jedem Jail und jeder Sandbox auch irgendwie ausbrechen. Aber natürlich bietet all das schon einen gewissn Schutz.

Während der Installation hat ein Flatpack natürlich Vollzugriff aufs System. Wenn du der Quelle also nicht traust, dann lass die Installation sein.

Und zu Snap: Closedsource-Müll.

Nachtrag zu deinem Nachtrag: Browsern kannst du ohne Anpassungen sowieso nie trauen! Lass mal Wireshark nebenher laufen, eirekt nach der Installation!

...zur Antwort

Nein, kannst du nicht.

Nichts ist so einfach zu reversen wie MSIL-Code.

Und da es sich um ein Spiel handelt, wirst du keinen VM-basierten Kopierschutz nutzen wollen, damit dir die Performance nicht wegbricht.

Obfuscatoren schützn auch nicht vor Manipulationen, sondern tun Dinge, die mich beim Reversn noch nie groß gestôrt haben.

Aber du kannst beruhig sein: Niemand klaut decompiliertn Code! Eine Eigenentwicklung wird fast immer wirtschaftlicher sein!

...zur Antwort

Lerne eine andere Sprache.

Java ist zwar eine wunderbare Sprache, aber für Spieleentwicklung gibt es wirklich bessere Werkzeuge.

Und die Bindings für benötigte Drittbibliotheken sind auch eher so halbgar, sodass du sehr schnell an Grenzen stoßen wirst, die bei anderen Sprachen noch lange nicht erreicht wären.

Wähle also immer möglichst das passendste Werkzeug aus! Du wirst dich in den Hintern beißen, wenn du mitten im Projekt merkst, dass du nicht mehr vernünftig weiter kommst.

...zur Antwort

Kann man grob, und von einigen Ausnahmen abgesehen, so sagen, ja.

Allerdings macht Lowlevelkram mit Python überhaupt keinen Spaß, und für viele einfachere Textsachen ist eine Shell viel besser geeignet, aber im Großen und Ganzen, ist Python sehr mächtig und universell.

Ach, und Einsteigerfreundlich ist es natürlich auch.

...zur Antwort

Ich würde sagen, du hast einfach nur ein leichtes Ding an der Waffel. :)

Ist aber nicht weiter schlimm, haben viele von uns Mathematikern, besonders die, die in Richtung Aspie oder gar Savant gehen!

...zur Antwort

Von vorbedruckten Kanjikarten würde ich abraten!

Du lernst im Schnitt fünf mal so schnell, wenn du selber schreibst. Das ist lernpsychologisch gut untersucht und auch seit Jahrzehnten bekannt.

Viel Erfolg! :)

...zur Antwort

Die bisherigen Ansätze gefallen mir nicht soooo gut, weil die Liste mit den ursprünglichen Objekten eigentlich unveränderlich sein sollte.

Ich würde eine neue Liste mit allen Offsets der Elemente in der Urpsürnglichen Liste anlegen, diese verwürfeln, und dann einfach darüber iterieren.

Damit ersparst du dir jegliches hin- und her kopieren von Objekten, und Doubletten sind ohne weitere Prüfungen komplett ausgeschlossen.

Klingt komplizierter, als es ist! Als Code sieht das einfach so aus:

from random import shuffle

words = ['foo', 'bar', 'baz', 'qux']

offsets = list(range(len(words)))
shuffle(words)

for i in offset:
  word = words[i]

  print(word)

Das gibt dir die ursprüngliche Liste in zufälliger Reihenfolge ohne Doubletten aus, und lässt dabei dir ursprüngliche Liste komplett unangetastet, sodass du sie später weiter nutzen kannst.

Viel Spaß! :)

...zur Antwort