Permutationen / Variationen
Verfasst: Mo Jan 27, 2020 5:09 pm
Hallo zusammen,
ich hoffe ihr könnt mir helfen, ich verzweifle langsam an der Aufgebe!
Also ich soll für 4 oder 5 Knotenpunkte alle möglichen Variationen ausgeben ohne eine Wiederholung der Punkte (sprich 1-1-1-1) .
Beispiel Kombination aus 3 Knotenpunkten:
ich hoffe ihr könnt mir helfen, ich verzweifle langsam an der Aufgebe!
Also ich soll für 4 oder 5 Knotenpunkte alle möglichen Variationen ausgeben ohne eine Wiederholung der Punkte (sprich 1-1-1-1) .
Beispiel Kombination aus 3 Knotenpunkten:
- 1-2
1-3
2-1
2-3
3-1
3-2
1-2-3
1-3-2
2-1-3
2-3-1
3-1-2
3-2-1
Code: Alles auswählen
#include <stdio.h>
#define DIMENSION 4
int main(void){
int i,j,k,l; // Zähler Schleifendurchläufe
// Dimensionierung der Durchläufe
int Kombinationen2Konten, Kombinationen3Konten, Kombinationen4Konten, Kombinationen5Konten;
if(DIMENSION==4){
Kombinationen2Konten=12; // Anzahl möglicher Kominationen bei 2 Knoten
Kombinationen3Konten=24;
Kombinationen4Konten=24;
Kombinationen5Konten=0;
}
else if(DIMENSION==5){
Kombinationen2Konten=20;
Kombinationen3Konten=60;
Kombinationen4Konten=120;
Kombinationen5Konten=120;
}
int Feld[Kombinationen2Konten+Kombinationen3Konten+Kombinationen4Konten+Kombinationen5Konten][DIMENSION];
// Generrierung der Streckenkombinationen
for(i=1; i<=Kombinationen2Konten; i++){
for(j=0; j<=DIMENSION; j++){
Feld[j][0]=j+1;
for(k=1; k<=DIMENSION; k++){
if(Feld[j][k]==Feld[j][0]){
Feld[j][k]=k;
printf("%i-%i-%i-%i\n",Feld[i][1],Feld[i][2],Feld[i][3],Feld[i][4]);
}
else{
continue;
}
}
}
}
return 0;
}