Alphabet Abschlussrate

32

Einführung

Wie viel des englischen Alphabets verwendet eine bestimmte Zeichenfolge? Der vorige Satz verwendet 77%. Es hat 20 eindeutige Buchstaben (howmucftenglisapbdvr) und 20/26 ≃ 0,77.

Herausforderung

Geben Sie für eine Eingabezeichenfolge den Prozentsatz der Buchstaben des englischen Alphabets in der Zeichenfolge zurück.

  • Die Antwort kann in Prozent oder als Dezimalzahl erfolgen.

  • Die Eingabezeichenfolge kann sowohl Groß- und Kleinschreibung als auch Interpunktion enthalten. Sie können jedoch davon ausgehen, dass sie keine diakritischen oder akzentuierten Zeichen enthalten.

Testfälle

Eingang

"Did you put your name in the Goblet of Fire, Harry?" he asked calmly.

Einige gültige Ausgaben

77%, 76.9, 0.7692

Eingang:

The quick brown fox jumps over the lazy dog

Alle gültigen Ausgaben:

100%, 100, 1

Die erwartete Ausgabe für "@#$%^&*?!"und ""ist 0.

Ziege teleportieren
quelle
3
Empfohlene Testfälle: "@#$%^&*?!",""
Adám
4
Wenn 77%und 76.9akzeptiert wird, wird auch 77akzeptiert?
Grzegorz Oledzki
Prozentsätze können auch dezimale Teile haben ...
Jo King
2
@ Shaggy Letzte Änderung für OP war vor 16 Stunden, Ihre Antwort war bei 15 und Ihr Kommentar bei 14. Ich meine, Sie haben recht, aber ???
Veskah,
6
Wenn 20/26 auf 0,7692, 0,769 oder 0,77 gerundet werden kann, kann ich es auch auf 0,8, 1 oder 0 runden? ;-)
Noiralef

Antworten:

18

Python 3 , 42 Bytes

lambda s:len({*s.upper()}-{*s.lower()})/26

Probieren Sie es online!

Wir filtern alle nicht-alphabetischen Zeichen aus der Zeichenkette heraus, indem wir den (eingestellten) Unterschied zwischen Groß- und Kleinschreibung nehmen. Dann nehmen wir die Länge und dividieren durch 26.

Python 3 , 46 Bytes

lambda s:sum(map(str.isalpha,{*s.lower()}))/26

Probieren Sie es online!

Zählen Sie die eindeutigen alphabetischen Zeichen (Kleinbuchstaben) und dividieren Sie durch 26. In Python 2 wären 3 weitere Zeichen erforderlich. zwei für den Wechsel {*...}zu set(...)und eine für die Herstellung eines Schwimmers: 26.um eine Unterteilung des Bodens zu vermeiden.

Python 3 , 46 Bytes

lambda s:sum('`'<c<'{'for c in{*s.lower()})/26

Probieren Sie es online!

Gleiche Länge, im Wesentlichen die gleiche wie die vorherige, jedoch ohne "eingebaute" Zeichenfolgemethode.

ArBo
quelle
Warum kehrt der Zweite zurück 1.0und nicht 1? (Ich wollte es nicht ausdrücklich verbieten, um bestimmte Sprachen nicht zu benachteiligen, aber ich bin neugierig)
Ziege
10
@TeleportingGoat Division mit einem einzelnen Schrägstrich gibt in Python 3 immer Floats, auch wenn die Operanden Ganzzahlen sind. Für die Ganzzahldivision würden Sie verwenden //, aber dann wäre es immer eine Ganzzahldivision, was wir hier natürlich nicht wollen. Es ist sinnvoll, dass sie den Datentyp der Ausgabe nicht von den spezifischen Werten der Operanden abhängig gemacht haben, was bedeutet, dass immer floatet, auch wenn es sich um eine ganze Zahl handelt.
ArBo
11

MATL , 8 Bytes

2Y2jkmYm

Probieren Sie es bei MATL Online aus

Erläuterung

2Y2    % Predefined literal for 'abcdefghijklmnopqrstuvwxyz'
j      % Explicitly grab input as a string
k      % Convert to lower-case
m      % Check for membership of the alphabet characters in the string. 
       % Results in a 26-element array with a 1 where a given character in 
       % the alphabet string was present in the input and a 0 otherwise
Ym     % Compute the mean of this array to yield the percentage as a decimal
       % Implicitly display the result
Suever
quelle
8

Oktave / MATLAB, 33 Bytes

@(s)mean(any(65:90==upper(s)',1))

Probieren Sie es online!

Erläuterung

@(s)                               % Anonymous function with input s: row vector of chars
             65:90                 % Row vector with ASCII codes of uppercase letters
                    upper(s)       % Input converted to uppercase
                            '      % Transform into column vector
                  ==               % Equality test, element-wise with broadcast. Gives a
                                   % matrix containing true and false
         any(                ,1)   % Row vector containing true for columns that have at
                                   % least one entry with value true
    mean(                       )  % Mean
Luis Mendo
quelle
7

05AB1E , 8 7 6 Bytes

lASåÅA

-1 Byte dank @LuisMendo .

Probieren Sie es online aus oder überprüfen Sie ein paar weitere Testfälle .

Von @Grimy bereitgestellte 6-Byte-Alternative :

láÙg₂/

Probieren Sie es online aus oder überprüfen Sie ein paar weitere Testfälle .

Beide Programme werden dezimal ausgegeben.

Erläuterung:

l       # Convert the (implicit) input-string to lowercase
 AS     # Push the lowercase alphabet as character-list
   å    # Check for each if it's in the lowercase input-string
        # (1 if truthy; 0 if falsey)
    ÅA  # Get the arithmetic mean of this list
        # (and output the result implicitly)

l       # Convert the (implicit) input-string to lowercase
 á      # Only leave the letters in this lowercase string
  Ù     # Uniquify it
   g    # Get the amount of the unique lowercase letters by taking the length
    ₂/  # Divide this by 26
        # (and output the result implicitly)
Kevin Cruijssen
quelle
@LuisMendo ist alternativ láêg₂/auch ein 6-Byte.
Grimmy
1
@ LuisMendo Danke (und dir auch Grimy )! :)
Kevin Cruijssen
7

C # (Visual C # Interactive Compiler) , 56,49 Byte

a=>a.ToUpper().Distinct().Count(x=>x>64&x<91)/26f

Probieren Sie es online!

-6 Bytes dank innat3

Abgelaufene Daten
quelle
1
Sie können 6 Bytes sparen, indem Sie die Dezimalwerte der Zeichen 50 Bytes ( Zeichencodes ) vergleichen
Innat3
@ Innat3 49 Bytes durch Ändern der &&auf &.
Kevin Cruijssen
@ KevinCruijssen ~ 2 Minuten davon entfernt, das Guthaben von -1 Byte zu erhalten, haben dies bereits getan und wurden bearbeitet
Abgelaufene Daten
@ExpiredData Np, es war ein offensichtlicher Golf. Hat hauptsächlich an Innat gerichtet :)
Kevin Cruijssen
6

APL (Dyalog Extended) , 10 Byte SBCS

Anonyme implizite Präfixfunktion. Gibt einen Dezimalbruch zurück.

26÷⍨∘≢⎕A∩⌈

Probieren Sie es online!

 Großbuchstaben

⎕A∩ Kreuzung mit dem Großbuchstaben A lphabet

 Gesamtlänge

 dann

26÷⍨ durch sechsundzwanzig teilen

Adam
quelle
⌹∘≤⍨⎕A∊⌈­­­­­
22.
@ngn Das ist sehr clever, aber völlig anders. Mach weiter und poste das selbst. Ich werde gerne die Erklärung einfügen, wenn Sie wollen, dass ich es tue.
Adám
6

Bash- und Gnu-Utils ( 81 78 68 60 42 Bytes)

bc -l<<<`grep -io [a-z]|sort -fu|wc -l`/26

-8 Bytes dank @wastl

-18 Bytes dank Nahuel mit einigen Tricks, die ich nicht kannte:

  • sort -fund grep -iGroß- / Kleinschreibung ignorieren
  • sort -u ist ein Ersatz für | uniq
Grzegorz Oledzki
quelle
1
60 Bytes :echo $(tr A-Z a-z|tr -cd a-z|fold -1|sort -u|wc -l)/26|bc -l
Wastl
Recht. Die Variable ist eine Erinnerung nach einem weiteren Versuch. Vielen Dank!
Grzegorz Oledzki
3
42 Bytes
Nahuel Fouilleul
Kann "grep -io [az]" nicht zu "grep -o [Az]" gekürzt werden?
Gnudiff
@Gnudiff Unter der Annahme von ASCII würde dies auch für alle [\ ^ _ `] zutreffen.
Donnerstag,
6

K (OK) , 19 15 Bytes

Lösung:

1%26%+/26>?97!_

Probieren Sie es online!

Erläuterung:

Konvertieren Sie die Eingabe in Kleinbuchstaben, modulo 97 ("az" ist 97-122 in ASCII, modulo 97 ergibt 0-25), nehmen Sie eindeutige, summieren Sie Ergebnisse, die niedriger als 26 sind, und konvertieren Sie sie in den Prozentsatz von 26.

1%26%+/26>?97!_ / the solution
              _ / lowercase
           97!  / modulo (!) 97
          ?     / distinct
       26>      / is 26 greater than this?
     +/         / sum (+) over (/)
  26%           / 26 divided by ...
1%              / 1 divided by ...

Anmerkungen:

  • -1 Bytes dank ngn, 1-%[;26]=>1-1%26%
  • -3 Bytes inspiriert von ngn #(!26)^=>+/26>?
Streetster
quelle
1
Ich freue mich auf die Erklärung! Ich habe keine Ahnung, was das 97hier macht
Teleporting Goat
Weitere 19-Byte-Alternative
Streetster
1
%[;26]->1%26%
ngn
1
1%26%+/26>?97!_für 15
Streetster
6

PowerShell , 55 52 Byte

($args|% *per|% t*y|sort|gu|?{$_-in65..90}).count/26

Probieren Sie es online!

Erster Versuch, immer noch zufällige Ideen auszuprobieren

BEARBEITEN: @Veskah wies darauf hin, dass ToUpper aufgrund des Nummernbereichs ein Byte spart, zusätzlich ()ein Leerzeichen entfernt

Erweiterung:
($args|% ToUpper|% ToCharArray|sort|get-unique|where{$_-in 65..90}).count/26

Ändert die Zeichenfolge in Kleinbuchstaben , erweitert sie zu einem Array, sortiert die Elemente und wählt die eindeutigen Buchstaben aus (gu benötigt sortierte Eingabe). Behalten Sie nur Zeichen mit dem ASCII-Wert 97 bis 122 (a bis z) 65 bis 90 (A bis Z) bei. Zähle die Summe und dividiere durch 26 für die dezimale Ausgabe

Sinusoid
quelle
1
Oh, habe gerade bemerkt, dass Sie nach -in ein zusätzliches Leerzeichen haben.
Veskah,
6

R , 47 Bytes

function(x)mean(65:90%in%utf8ToInt(toupper(x)))

Probieren Sie es online!

Konvertiert in Großbuchstaben und dann in ASCII-Codepunkte und überprüft, ob Werte von 65:90 für A: Z vorliegen.

Robin Ryder
quelle
1
Dies schlägt fehl, wenn die Eingabe Anführungszeichen enthält.
C. Braun
1
@ C.Braun Nicht in meinen Tests ... Zum Beispiel enthält der erste Testfall auf TIO Anführungszeichen und gibt das richtige Ergebnis. Könnten Sie ein Beispiel geben?
Robin Ryder
1
Ich verstehe nicht ganz, was Sie im Header-Teil von TIO gemacht haben, aber es funktioniert nicht, nur den obigen Code in einem R-Interpreter auszuführen. Sie scheinen sich neu zu definieren, scanum nicht in Anführungszeichen zu teilen, wie es der Standard tut?
C. Braun
1
@ C.Braun Verstanden, danke! Ich habe es explizit zu einer Funktion gemacht (zu einem Preis von 3 Bytes) und ich denke, dass es jetzt in Ordnung ist.
Robin Ryder
4

Retina 0,8,2 , 45 Bytes

T`Llp`ll_
+`(.)(.*\1)
$2
.
100$*
^
13$*
.{26}

Probieren Sie es online! Link enthält Testfälle. Erläuterung:

T`Llp`ll_

Kleinbuchstaben und Satzzeichen löschen.

+`(.)(.*\1)
$2

Deduplizieren

.
100$*

Mit 100 multiplizieren.

^
13$*

Addiere 13.

.{26}

Ganze Zahl durch 26 teilen und in Dezimalzahl umwandeln.

Neil
quelle
Ich denke, Retina ist hier die einzige Sprache, die Prozentsätze für die Ausgabe verwendet!
Ziege
Oh, netter Trick mit dem Hinzufügen von 13 vor dem Teilen! Warum habe ich nicht daran gedacht ..>.> Es würde meine Antwort 44 Bytes machen . Ich werde aber trotzdem meine vorherige Version verlassen.
Kevin Cruijssen
@TeleportingGoat Wahrscheinlich, weil Retina auch die einzige Sprache der bisher veröffentlichten Sprachen ist, für die keine Dezimaltrennung verfügbar ist. Es ist nur eine (unäre) Ganzzahldivision möglich.
Kevin Cruijssen
4

APL (Dyalog Extended) , 8 Bytes

⌹∘≤⍨⎕A∊⌈

Probieren Sie es online!

lose auf Adáms Antwort

 Großbuchstaben

⎕A∊boolescher (0 oder 1) Vektor der Länge 26, der angibt, welche Buchstaben des englischen A lphabet im String sind

⌹∘≤⍨ arithmetisches Mittel, dh Matrixaufteilung des Arguments und ein All-1-Vektor gleicher Länge

ngn
quelle
3

Holzkohle , 11 Bytes

I∕LΦβ№↧θι²⁶

Probieren Sie es online! Link ist eine ausführliche Version des Codes. Die Ausgabe erfolgt als Dezimalzahl (oder 1für Pangrams). Erläuterung:

  L         Length of
    β       Lowercase alphabet
   Φ        Filtered on
     №      Count of
        ι   Current letter in
      ↧     Lowercased
       θ    Input
 ∕          Divided by
         ²⁶ Literal 26
I           Cast to string
            Implicitly printed
Neil
quelle
3

Stapel, 197 Bytes

@set/ps=
@set s=%s:"=%
@set n=13
@for %%c in (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)do @call set t="%%s:%%c=%%"&call:c
@cmd/cset/an/26
@exit/b
:c
@if not "%s%"==%t% set/an+=100

Übernimmt die Eingabe für STDIN und gibt einen gerundeten Prozentsatz aus. Erläuterung:

@set/ps=

Geben Sie die Zeichenfolge ein.

@set s=%s:"=%

Zitate entfernen, weil sie in Batch Kopfschmerzen bereiten.

@set n=13

Beginnen Sie mit einem halben Buchstaben für Rundungszwecke.

@for %%c in (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)do @call set t="%%s:%%c=%%"&call:c

Löschen Sie nacheinander jeden Buchstaben aus der Zeichenfolge. Rufen Sie die Unterroutine auf, um zu prüfen, ob sich aufgrund der Art und Weise, wie Batch Variablen analysiert, etwas geändert hat.

@cmd/cset/an/26

Berechnen Sie das Ergebnis als Prozentsatz.

@exit/b
:c

Start des Unterprogramms.

@if not "%s%"=="%t%" set/an+=100

Wenn sich beim Löschen eines Buchstabens die Zeichenfolge geändert hat, erhöhen Sie die Buchstabenanzahl.

Neil
quelle
3

Pepe , 155 138 Bytes

rEeEeeeeeEREeEeEEeEeREERrEEEEErEEEeReeReRrEeeEeeeeerEEEEREEeRERrErEErerREEEEEeREEeeRrEreerererEEEEeeerERrEeeeREEEERREeeeEEeEerRrEEEEeereEE

Probieren Sie es online! Die Ausgabe erfolgt in Dezimalform.

Erläuterung:

rEeEeeeeeE REeEeEEeEe # Push 65 -> (r), 90 -> (R)
REE # Create loop labeled 90 // creates [65,66,...,89,90]
  RrEEEEE # Increment (R flag: preserve the number) in (r)
  rEEEe # ...then move the pointer to the last
Ree # Do this while (r) != 90

Re # Pop 90 -> (R)
RrEeeEeeeee rEEEE # Push 32 and go to first item -> (r)
REEe # Push input -> (R)
RE RrE # Push 0 on both stacks, (r) prepend 0
rEE # Create loop labeled 0 // makes input minus 32, so the
    # lowercase can be accepted, since of rEEEEeee (below)
  re # Pop 0 -> (r)
  rREEEEEe REEee # Push item of (R) minus 32, then go to next item 
  RrE # Push 0 -> (R)
ree # Do while (R) != 0

rere # Pop 0 & 32 -> (r)
rEEEEeee # Remove items from (r) that don't occur in (R)
         # Remove everything from (r) except the unique letters
rE # Push 0 -> (r)
RrEeee # Push reverse pointer pos -> (r)
REEEE # Move pointer to first position -> (R)
RREeeeEEeEe # Push 26 -> (R)
rRrEEEEee reEE # Divide it and output it
nicht definiert
quelle
Da Pepe nur eine 4-Befehlssprache ist, ist es wirklich wie 34,5 Bytes, wenn Sie es als 2 Bits pro RE codieren.
Daten
3

Retina , 57 46 35 Bytes

.
$L
[^a-z]

D`.
.
100*
^
13*
_{26}

-11 Bytes, inspiriert von @Neils Trick, vor dem Teilen unäre 13 hinzuzufügen .
Weitere -11 Bytes dank @Neil direkt.
Rundet (richtig) auf eine ganze Zahl.

Probieren Sie es online aus.

57 46 40-Byte-Version, die mit dezimaler Ausgabe arbeitet:

.
$L
[^a-z]

D`.
.
1000*
C`_{26}
-1`\B
.

Gleiche -11 Bytes sowie zusätzliche -6 Bytes dank @Neil .

0,153842615.315.41000×unique_letters26

Probieren Sie es online aus.

Erläuterung:

Konvertieren Sie alle Buchstaben in Kleinbuchstaben:

.
$L

Entfernen Sie alle Nichtbuchstaben:

[^a-z]

Alle Buchstaben vereinheitlichen:

D`.

Ersetzen Sie jeden einzelnen Buchstaben durch 1000 Unterstriche:

.
1000*

Zählen Sie, wie oft 26 benachbarte Unterstriche hineinpassen:

C`_{26}

Fügen Sie einen Punkt an der richtigen Stelle ein:

-1`\B
.
Kevin Cruijssen
quelle
1
Das .*könnte nur .für eine 1-Byte-Speicherung sein, aber Sie können weitere 10 Byte speichern, indem Sie Deduplicate verwenden, anstatt es manuell zu tun!
Neil
@Neil Ah, wusste nichts von dem D-builtin, danke! Und nicht sicher, warum ich .*stattdessen verwendet habe ... Danke für -11 Bytes in beiden Versionen! :)
Kevin Cruijssen
1
Zu Ihrer Information: Ich hatte einen etwas anderen Ansatz für die gleiche Byteanzahl: Probieren Sie es online aus!
Neil
1
Für die dezimale Version habe ich gefunden, dass -1`\Bdie gewünschte Einfügeposition direkt passt.
Neil
@ Neil Nochmals vielen Dank.
Kevin Cruijssen
3

Java 8, 62, 59 Bytes

s->s.map(c->c&95).distinct().filter(c->c%91>64).count()/26.

-3 Bytes dank @ OlivierGrégoire .

Probieren Sie es online aus.

Erläuterung:

s->                     // Method with IntStream as parameter and double return-type
  s.map(c->c&95)        //  Convert all letters to uppercase
   .distinct()          //  Uniquify it
   .filter(c->c%91>64)  //  Only leave letters (unicode value range [65,90])
   .count()             //  Count the amount of unique letters left
    /26.                //  Divide it by 26.0
Kevin Cruijssen
quelle
1
59 Bytes
Olivier Grégoire
@ OlivierGrégoire Danke! Ich vergesse immer c&95in Kombination mit c%91>64aus irgendeinem Grund. Ich denke, Sie haben mir Golf schon ein paar Mal vorgeschlagen.
Kevin Cruijssen
Ja, ich habe diese bereits vorgeschlagen, aber das ist in Ordnung, keine Sorge ;-)
Olivier Grégoire
Viel länger, aber mehr Spaß: s->{int r=0,b=0;for(var c:s)if((c&95)%91>64&&b<(b|=1<<c))r++;return r/26.;}(75 Bytes)
Olivier Grégoire
3

Julia 1.0 , 34 Bytes

s->sum('a':'z'.∈lowercase(s))/26

Verwendet die vektorisierte Version des Operators ∈ und prüft, ob alle Zeichen im Bereich von a bis z in der Zeichenfolge enthalten sind. Summiert dann über das resultierende BitArray und dividiert durch die Gesamtzahl der möglichen Buchstaben.

Probieren Sie es online!

TimD
quelle
Willkommen und tolle erste Antwort!
mbomb007
2

C 96 Bytes

float f(char*s){int i=66,l[256]={};for(;*s;)l[1+*s++&~32]=1;for(;i<92;*l+=l[i++]);return*l/26.;}

Probieren Sie es online!

Steadybox
quelle
2

Stax , 9 Bytes

░║üy$}╙+C

Führen Sie es aus und debuggen Sie es

rekursiv
quelle
1
Sie können ein Byte aus der entpackten Version entfernen, indem Sie es löschen uund verwenden |b, aber die Einsparungen gehen beim Packen verloren. Ich habe vielleicht einen 8-Byte-Dolmetscher, aber der Online-Dolmetscher ist komisch und fehlerhaft.
Khuldraeseth na'Barya
@ Khuldraesethna'Barya: Schöne Entdeckung. Ich denke, der Fehler ist wahrscheinlich eine Array-Mutation. Ich sehe jetzt etwas von diesem Verhalten. Arbeiten an einem minimalen Repro ...
rekursive
Hier ist ein Repro des Problems, mit dem Sie wahrscheinlich zu tun haben |b. Es mutiert seinen Operanden fälschlicherweise, anstatt eine Kopie zu erstellen. Ich habe ein Github-Problem für den Fehler erstellt. github.com/tomtheisen/stax/issues/29 Funktioniert als Problemumgehung |bbeim ersten Mal ordnungsgemäß. Danach müssen Sie möglicherweise die Seite neu laden. Wenn Sie einen anderen Fehler gefunden haben und eine Reproduktion bereitstellen können, kann ich ihn wahrscheinlich beheben.
rekursiver
Stax 1.1.4, 8 Bytes. Anleitung: auspacken, einfügen vam Anfang, legen Sie |bnach Va, laufen, entfernen Sie das erste v, Entfernen |b, umpacken. Ja, das ist der Fehler, den ich gefunden habe.
Khuldraeseth na'Barya
@ Khuldraesethna'Barya: Ich habe 1.1.5 veröffentlicht, und ich glaube, dieser Fehler ist jetzt behoben. Sie können mich wissen lassen, wenn Sie immer noch Probleme haben. Vielen Dank.
rekursiver
2

Gelee , 8 Bytes

ŒuØAe€Æm

Probieren Sie es online!

Erläuterung

Œu       | Convert to upper case
  ØAe€   | Check whether each capital letter is present, returning a list of 26 0s and 1s
      Æm | Mean
Nick Kennedy
quelle
2

Python 3 , 51 49 Bytes

51 -> 49 Bytes, danke an alexz02

lambda s:len({*filter(str.isalpha,s.lower())})/26

Probieren Sie es online!

Ruohola
quelle
49 Byteslambda s:len({*filter(str.isalpha,s.lower())})/26
alexz02
@ alexz02 Danke! :)
Ruohola
1

Japt , 9 Bytes

;CoU Ê/26

Versuch es

;CoU Ê/26     :Implicit input of string U
;C            :Lowercase alphabet
  oU          :Remove the characters not included in U, case insensitive
     Ê        :Length
      /26     :Divide by 26
Zottelig
quelle
1

C 95 Bytes

f(char*s){int a[256]={},z;while(*s)a[*s++|32]=1;for(z=97;z<'z';*a+=a[z++]);return(*a*100)/26;}

(Anmerkung: rundet ab)

Alternative dezimal zurückgegebene Version (95 Byte):

float f(char*s){int a[256]={},z;while(*s&&a[*s++|32]=1);for(z=97;z<'z';*a+=a[z++]);return*a/26.;}

Dies leiht einige von @Steadybox Antwort.

Anonym
quelle
1
Herzlich willkommen! Gute erste Antwort. Es kann für die Leser Ihrer Antwort hilfreich sein, wenn Sie eine kurze Erklärung zu Ihrem Code oder eine unbenutzte Version angeben. Es kann auch hilfreich sein, einen Link zu einem Online-Dolmetscher mit Ihrem ausführbaren Code bereitzustellen (Beispiele finden Sie in einigen anderen Antworten). Viele verwenden TIO, und hier ist der
GCC-