Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 21.09.2009, 15:23   #1
13antichrist
Новичок
Джуниор
 
Регистрация: 21.09.2009
Сообщений: 2
По умолчанию Переборная задача на C++.

Во время поездки на поезде девочка заменила в названии поезда каждую букву ее номером в русском алфавите и получила запись из единиц и двоек "211221-21221". Определить откуда и куда идет поезд?

Кто знает решение этой задачи? Помогите реализовать плиз, я знаю только общую идею, а реализовать в коде не получаеся((

Поезд едет Баку-Уфа)))
Вот что пока есть.
Код:
#include <iostream>
#include <windows.h>
#include <stdlib.h>
using namespace std;
void main()
{

	system("CHCP 1251");
	char mas[33]={'а','б','в','г','д','е','ё','ж','з','и','й','к','л','м','н','о','п','р','с','т','у','ф','х','ц','ч','ш','щ','ъ','ы','ь','э','ю','я'};
	char masb[25];
	int z;
	int Mas4 [6]={2,1,2,2,1},mas4[7]={2,1,1,2,2,1};
	for (int i=0;i<6;i++)
		cout<<mas4[i];
	cout<<'-';
	for (int i=0;i<5;i++)
		cout<<Mas4[i];
	cout<<endl;
	for (int i=0;i<7;i++)
	{
		for (int j=0;j<33;j++)
			if ((mas4[i])*10+(mas4[i+1])==j+1)
					cout<<mas[mas4[i]-1];
	}
	cout<<'\n';
	for (int i=0;i<33;i++)
		cout<<mas[i]<<' ';

	cout<<endl;
		
}

Последний раз редактировалось 13antichrist; 21.09.2009 в 15:37.
13antichrist вне форума Ответить с цитированием
Старый 21.09.2009, 16:06   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
и получила запись из единиц и двоек
Девочку зовут Элочка Щукина, в ее алфавите две буквы а в лексиконе 30 слов?
Ты то сам пробовал 211221-21221 по номерам взять? какая цифра к чему относится? т.е. брать 2 или 21 сначала?
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 21.09.2009, 16:11   #3
pproger
C++ hater
Старожил
 
Аватар для pproger
 
Регистрация: 19.07.2009
Сообщений: 3,333
По умолчанию

2Stilet
Цитата:
т.е. брать 2 или 21 сначала?
я так понял, надо просто перебрать все возможные варианты. но делать что то влом...
I invented the term Object-Oriented, and I can tell you I did not have C++ in mind. (c)Alan Kay

My other car is cdr.

Q: Whats the object-oriented way to become wealthy?
A: Inheritance
pproger вне форума Ответить с цитированием
Старый 21.09.2009, 16:52   #4
13antichrist
Новичок
Джуниор
 
Регистрация: 21.09.2009
Сообщений: 2
По умолчанию

Цитата:
Сообщение от Stilet Посмотреть сообщение
Девочку зовут Элочка Щукина, в ее алфавите две буквы а в лексиконе 30 слов?
Ты то сам пробовал 211221-21221 по номерам взять? какая цифра к чему относится? т.е. брать 2 или 21 сначала?
там идет порядковый номер буквы алфавита. те 2-1-12-21 получается БАКУ. это правильный вариант. но ведь машина может понять и как "баабба" )))поэтому там идет тупо перебор. но реализовать его у мну пока не получается
13antichrist вне форума Ответить с цитированием
Старый 21.09.2009, 17:15   #5
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
поэтому там идет тупо перебор
Ну так вот обьясни каким ты видишь критерий перебора?
Опять таки как машине обьяснить что баабба это не Баку а поселение древних вьетнамцев на берегах антарктиды?.
Помоему эта задача в таком ракурсе неразрешима, иначе нужно ограничивать словарем перебираемые слова.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц