Показать сообщение отдельно

  #4  
Старый 18.07.2009, 22:27
Ra$cal
Постоянный
Регистрация: 16.08.2006
Сообщений: 640
Провел на форуме:
1354067

Репутация: 599


По умолчанию

вот еще вариант набросал за пару минут. плюс - минимум кода(4 строки в цикле). минус - много делений для разбивки на разряды.

Код:
#include <windows.h>
#include <iostream>
using namespace std;

char dic [] = {'a', 'b', 'c', 'd', 'e'};
int dic_size = sizeof(dic);

void show_pass (int pass);
void main()
{

	int pass = 0;
	while (pass < 150){
		show_pass(pass);
		cout << '\n';
		pass++;
	}
}

void show_pass(int pass)
{
	int tmp_pass = pass;

	if(tmp_pass == 0){
		// чтоьбы вывести букву с индексом 0
		// конечно можно словарь завести с 1го байта и обойтись без ифа
		cout << dic[0];
		return;
	}
	while (tmp_pass > 0){
		cout << dic[tmp_pass % dic_size];
		tmp_pass /= dic_size;
	}
}
ps: не хватает вариантов с a на конце. давайте сыграем в игру "допилите сами" =)

Последний раз редактировалось Ra$cal; 18.07.2009 в 22:39..
 
Ответить с цитированием