C Programmierung alle 4 stelligen Kombinationen?
Hallo,
wie gebe ich alle möglichen 4-stelligen Kombinationen mit den Zahlen 0 und 1 aus?
Vielen Dank im Vorraus!
2 Antworten
Nutzer, der sehr aktiv auf gutefrage ist
Noch eine Variante:
#include <stdio.h>
int i, j;
void main(void)
{
for(i = 0; i < 16; ++i)
{
for(j = 3; j >= 0; --j)
printf("%d", (i >> j) & 1);
printf("\n");
}
}
Falls du die ersten 8 Zahlen (die mit 0 am Beginn) nicht willst, dann einfach "i=0" durch "i=8" ersetzen.
ultrarunner
05.12.2021, 17:59
@fragenueberf858
Also das Ergebnis meines Programmes sieht so aus:
0000
0001
0010
0011
0100
0101
0110
0111
1000
1001
1010
1011
1100
1101
1110
1111
Was hättest du gerne anders?
@ultrarunner
So wäre es perfekt bei mir sah es leider anders aus
@fragenueberf858
Okay habe falsch abgeschrieben perfekt danke :)
ultrarunner
05.12.2021, 18:03
Zum Beispiel so:
printf("0000\n");
printf("0001\n");
printf("0010\n");
printf("0011\n");
printf("0100\n");
printf("0101\n");
printf("0110\n");
printf("0111\n");
printf("1000\n");
printf("1001\n");
printf("1010\n");
printf("1011\n");
printf("1100\n");
printf("1101\n");
printf("1110\n");
printf("1111\n");
Am besten in einer Schleife. So wäre ich auch selber draufgekommen aber trotzdem danke :)
Zahhak
05.12.2021, 17:41
@fragenueberf858
Naja, deine Frage war "wie gebe ich alle möglichen 4-stelligen Kombinationen mit den Zahlen 0 und 1 aus?", nix mit Schleife, berechnen, o.ä.. ^^
Aber Okay, da hast du:
for(int i = 0; i < 16; ++i){
for(int j = 3; j >= 0; --j){
putc('0'+((i>>j)&1));
}
putc('\n');
}
Oder soll es in einer Schleife sein?
Dann:
for(int i = 0; i < 16; ++i){
putc('0'+((i>>3)&1));
putc('0'+((i>>2)&1));
putc('0'+((i>>1)&1));
putc('0'+(i&1));
putc('\n');
}
Problem hierbei ist dass jede einzelne Zahl untereinander ausgegeben wird und nicht die 4 stelligen untereinander