All pastes #2049889 Raw Edit

Unnamed

public cpp v1 · immutable
#2049889 ·published 2011-04-23 20:26 UTC
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;}