rendered paste body// multicombinations.cpp: определяет точку входа для консольного приложения.//#include "stdafx.h"#include <iostream>using namespace std;void print_card(int num){ switch(num){ case 0: cout << "A"; break; case 1: cout << "2"; break; case 2: cout << "3"; break; case 3: cout << "4"; break; case 4: cout << "5"; break; case 5: cout << "6"; break; case 6: cout << "7"; break; case 7: cout << "8"; break; case 8: cout << "9"; break; case 9: cout << "T"; break; case 10: cout << "J"; break; case 11: cout << "Q"; break; case 12: cout << "K"; break; }}int m[13] = {3,2,4,3,4,4,4,4,4,4,4,4,4};int q[13];int j, x, t, i, k;int count = 0;int _tmain(int argc, _TCHAR* argv[]){ t = 4;Q1: for(j = 0; j < 13; j++) q[j] = 0; x = t;Q2: j = 0; while(x > m[j]){ q[j] = m[j]; x -= m[j]; j++; } q[j] = x;Q3: count++; for(i = 0; i < 12; i++) for(k = 0; k < q[i]; k++) print_card(i); //for(i = 0; i < 12; i++) cout << q[i] << " "; cout << endl;Q4: if(j == 0){ x = q[0] - 1; j = 1; } else if(q[0] == 0){ x = q[j] - 1; q[j] = 0; j++; } else goto Q7;Q5: if(j > 12){ cout << count << endl; system("pause"); return 0; } else if(q[j] == m[j]){ x += m[j]; q[j] = 0; j++; goto Q5; }Q6: q[j] += 1; if(x == 0){ q[0] = 0; goto Q3; } else goto Q2;Q7: while(q[j] == m[j]){ j++; if(j > 12) goto Q5; } q[j] += 1; j -= 1; q[j] -= 1; if(q[0] == 0) j = 1; goto Q3;}