Wie kann man in C# überprüfen wieviel mal die Zahl 1 in einer anderen Zahl vorkommt?

... komplette Frage anzeigen

4 Antworten

Speicher die zahl in einem Array. Jede stelle= 1 speicherstelle im array. Dann machst eine for-schleife von 0 bis arraylänge. In der for-schleife scheibst dann if (array[i]==1){ int anzahl_einser++}

Und dann anzahl_einser ausgeben

Antwort bewerten Vielen Dank für Deine Bewertung

Ich würde das auf diese Weise machen:

const int base=10;

const int gesucht = 1;

int zaehler = 0;

unsigned int zahl = zuUntersuchen;

while (zahl != 0)

{

   if (gesucht == zahl % base)      zaehler++;   zahl /= base;

}

Ich geb's auf, die Code-Formatierung möge man sich denken.

Antwort bewerten Vielen Dank für Deine Bewertung

Was meinst du mit "in einer anderen Zahl vorkommt"?

Antwort bewerten Vielen Dank für Deine Bewertung
Kommentar von PWolff
29.11.2016, 00:15

Sollten die Ziffern gemeint sein:

// Direkt am Dateianfang
using System.Linq;

// sonstiges Zeug

var anzahl1 = gegebeneZahl.ToString().Count(c => (c == '1'));
1

Du willst bspw. die Anzahl der Einsen in der Zahl 123123123 (also 3) zählen?

zahl.ToString().Split('1').Length - 1
Antwort bewerten Vielen Dank für Deine Bewertung
Kommentar von srky96
28.11.2016, 12:55

Das funktionier nicht so ganz mit dem Length - 1 zeig mir folgenden Fehler an:

Nur assignment-, call-, increment-, decrement- und new object-Ausdrücke können als Anweisung verwendet werden

 

 

 

 

 

Zeile

 

 

 

 

ode\Program.cs

46

0
Kommentar von PWolff
29.11.2016, 00:20

Netter Hack!

0

Was möchtest Du wissen?