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

3 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

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.

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

zahl.ToString().Split('1').Length - 1

srky96 
Beitragsersteller
 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
Dory1  28.11.2016, 22:38
@srky96

Zeig mir mal den ganzen Code oder zumindest die relevanten Zeilen. Hast du denn eine Zuweisung draus gemacht?

int anzahl = zahl.ToString().Split('1').Length - 1;
0
PWolff  29.11.2016, 00:20

Netter Hack!

0