Re: Kombinations Algorithmus
Geizhals » Forum » Programmierung » Kombinations Algorithmus (49 Beiträge, 340 Mal gelesen) Top-100 | Fresh-100
Du bist nicht angemeldet. [ Login/Registrieren ]
.  Re: Kombinations Algorithmus  (Somnatic am 17.11.2003, 20:42:01)
..  Re(2): Kombinations Algorithmus  (Penguin am 17.11.2003, 20:55:45)
...  Re(3): Kombinations Algorithmus  (Somnatic am 17.11.2003, 21:06:06)
....  Re(4): Kombinations Algorithmus  (Penguin am 17.11.2003, 21:11:15)
.....  Re(5): Kombinations Algorithmus  (Somnatic am 17.11.2003, 21:13:51)
......  Re(6): Kombinations Algorithmus  (Penguin am 17.11.2003, 21:18:13)
.......  Re(7): Kombinations Algorithmus  (Somnatic am 17.11.2003, 21:27:57)
........ Vom Autor zurückgezogen oder Autor hat seine Registrierung nicht bestätigt  (Penguin am 17.11.2003, 21:32:02)
........  Re(8): Kombinations Algorithmus  (Penguin am 17.11.2003, 21:35:13)
......... Vom Autor zurückgezogen oder Autor hat seine Registrierung nicht bestätigt  (komplexler am 17.11.2003, 21:36:46)
.........  Re(9): Kombinations Algorithmus  (komplexler am 17.11.2003, 21:37:12)
..........  Re(10): Kombinations Algorithmus  (Penguin am 17.11.2003, 21:38:38)
...........  Re(11): Kombinations Algorithmus  (komplexler am 17.11.2003, 21:39:12)
............  Re(12): Kombinations Algorithmus  (Penguin am 17.11.2003, 21:46:32)
.............  Re(13): Kombinations Algorithmus  (Somnatic am 17.11.2003, 21:52:26)
..............  Re(14): Kombinations Algorithmus  (Somnatic am 17.11.2003, 21:54:42)
..............  Re(14): Kombinations Algorithmus  (mar99 am 17.11.2003, 21:57:45)
...............  Re(15): Kombinations Algorithmus  (Somnatic am 17.11.2003, 23:27:13)
................  Re(16): Kombinations Algorithmus  (mar99 am 18.11.2003, 00:09:19)
.................  Re(17): Kombinations Algorithmus  (Penguin am 18.11.2003, 00:43:37)
..................  Re(18): Kombinations Algorithmus  (mar99 am 18.11.2003, 01:11:26)
...................  Re(19): Kombinations Algorithmus  (Penguin am 18.11.2003, 02:02:52)
.  Re: Kombinations Algorithmus  (komplexler am 17.11.2003, 20:55:06)
..  Re(2): Kombinations Algorithmus  (Penguin am 17.11.2003, 20:55:58)
...  Re(3): Kombinations Algorithmus  (komplexler am 17.11.2003, 21:01:44)
....  Re(4): Kombinations Algorithmus  (Penguin am 17.11.2003, 21:12:00)
.....  Re(5): Kombinations Algorithmus  (komplexler am 17.11.2003, 21:26:50)
...... Vom Autor zurückgezogen oder Autor hat seine Registrierung nicht bestätigt  (Penguin am 17.11.2003, 21:33:21)
......  Re(6): Kombinations Algorithmus  (Penguin am 17.11.2003, 22:20:38)
.......  Re(7): Kombinations Algorithmus  (komplexler am 17.11.2003, 23:29:55)
.  Re: Kombinations Algorithmus  (mar99 am 17.11.2003, 21:27:29)
.. Vom Autor zurückgezogen oder Autor hat seine Registrierung nicht bestätigt  (Penguin am 17.11.2003, 21:33:12)
..  Re(2): Kombinations Algorithmus  (Penguin am 17.11.2003, 22:18:06)
...  Re(3): Kombinations Algorithmus  (mar99 am 17.11.2003, 22:36:56)
....  Re(4): Kombinations Algorithmus  (Penguin am 18.11.2003, 00:44:45)
.  Re: Kombinations Algorithmus  (fhauser am 17.11.2003, 23:05:09)
..  Re(2): Kombinations Algorithmus  (mar99 am 17.11.2003, 23:13:35)
.
Re: Kombinations Algorithmus
17.11.2003, 23:27:26
!!! Rekursion ist folgendes: !!!

printf("%ld\n",fac(10));

long fac(long argument)
{
if(argument<0) return -1; /* mathematischer Fehler */
if(argument==0) return 1; /* Ende der rekursiven Faktorierung erreicht */

return argument * fac(argument-1); /* "Funktion fac"´s erneuter Aufruf ihrerselbst */
}

<<---------------------------------->>
>>----Was tatsächlich gemeint ist----<<
<<---------------------------------->>

!!! Was gesucht ist in Deinem Beispiel und Wunsch ist die Zählung von Zahlen im Bereich von 0 bis x, wobei x sich aus 2^n - 1 ermittelt und n die Anzahl von Variablen ist, die die Zustände 0 oder 1 annehmen können. !!!

Die Lösung in einem C-Programm schaut so aus:

#include
#include

int main (void)
{
int n,bit;
int *pv,*p_bit;
long anzahl,zaehlerstand;


printf("Wieviele Variablen soll es geben, bitte um Ihre Eingabe (1-50) > ");
scanf("%d",&n);

if(n<1 n/>50)
{
printf("Die Eingabe liegt außerhalb des gültigen Wertebereichs von 1 und 50\n");
return -1;
}

pv= malloc(sizeof(int)*n); /* Speicher reservieren für v_array, Anfangsadresse des Integerarrays in pv Zeigervariable abspeichern */

/* v[i] für alle i von 0 bis n-1 auf Null setzen */
for(p_bit=pv,bit=0;bit0;anzahl--)
{

/* für jeden Zählerstand alle Bits (=Null/Eins Variablen) abarbeiten von 0 bis n-1 */
for(zaehlerstand=anzahl,p_bit=pv,bit=n-1;bit>=0;bit--)
{
  *p_bit++= zaehlerstand % 2;
  zaehlerstand >>= 1; /* durch 2 dividieren = den Wert um ein Bit nach rechts schieben */

  meine_funktion_die_mit_v_array_arbeitet(pv,n); /* Übergabe der Startadresse des Arrays der int Variablen an die Funktion */
}
}

return 0;
}

Antworten PM Alle Chronologisch Zum Vorgänger
 
Melden nicht möglich
..  Re(2): Kombinations Algorithmus  (Somnatic am 17.11.2003, 23:29:40)
..  Re(2): Kombinations Algorithmus  (britta am 17.11.2003, 23:30:16)
..  Re(2): Kombinations Algorithmus  (Penguin am 18.11.2003, 00:46:02)
..  Re(2): Kombinations Algorithmus  (Penguin am 18.11.2003, 00:54:00)
.  Re: Kombinations Algorithmus  (hariw am 17.11.2003, 23:29:25)
..  Re(2): Kombinations Algorithmus  (Penguin am 18.11.2003, 00:47:37)
...  Re(3): Kombinations Algorithmus  (hariw am 18.11.2003, 00:52:16)
....  Re(4): Kombinations Algorithmus  (Penguin am 18.11.2003, 00:54:57)
.....  Re(5): Kombinations Algorithmus  (hariw am 18.11.2003, 01:03:24)
......  Re(6): Kombinations Algorithmus  (Penguin am 18.11.2003, 01:06:42)
 

Dieses Forum ist eine frei zugängliche Diskussionsplattform.
Der Betreiber übernimmt keine Verantwortung für den Inhalt der Beiträge und behält sich das Recht vor, Beiträge mit rechtswidrigem oder anstößigem Inhalt zu löschen.
Datenschutzerklärung