Оглавление:
2025 Автор: John Day | [email protected]. Последнее изменение: 2025-01-13 06:58
Здравствуйте, друзья! Все мы знаем об игре флейм. Лол, это одна из самых забавных игр, которая сделала наше детство более счастливым. В этом руководстве мы увидим, как написать программу flames с использованием языка C ++.
Шаг 1. Используемые концепции
Здесь я использовал Циркулярный двусвязный список.
Шаг 2: основная функция
int main ()
{
строка name1, name2;
int n1, n2; cout << "ВВЕДИТЕ ПЕРВОЕ ИМЯ:"; getline (cin, name1); cout << "ВВЕДИТЕ ВТОРОЕ ИМЯ:"; getline (cin, name2);
}
Во-первых, нам нужно получить два имени с пробелом, поэтому я использую функцию getline (), чтобы получить строку с пробелом.
Шаг 3: Как пропустить специальные символы?
void emit (строка & a)
{
для (int i = 0; a ! = '\ 0'; i ++)
{
if (a > = 'a' && a <= 'z') {}
иначе if (a > = 'A' && a <= 'Z') {}
еще
а [я] = '0';
}
}
Теперь нам нужно удалить специальные символы, такие как &, $, ''… и т. Д. Используя эту функцию, мы удалили все символы, кроме алфавитов. Здесь вместо удаления я заменяю его на «0».
Шаг 4: удаление одинаковых символов
for (i = 0; name1 ! = '\ 0'; i ++)
для (j = 0; name2 [j]! = '\ 0'; j ++)
если ((имя1 == имя2 [j] || имя1 == имя2 [j] +32))
{
имя1 [я] = '0';
имя2 [j] = '0';
перерыв;
}
Это первый шаг в игре с пламенем. Нам нужно удалить те же символы, которые присутствуют в двух именах. Этот фрагмент кода помогает нам заменить одни и те же символы на «0», и он также хорошо работает, даже если он содержит как верхний, так и нижний регистр. Оператор break помогает нам избежать удаления повторяющихся символов.
j = 0; for (i = 0; name1 ! = '\ 0'; i ++)
если (имя1 [я]! = '0')
j ++;
for (i = 0; name2 ! = '\ 0'; i ++)
если (имя2 [я]! = '0')
j ++;
if (j == 0) cout << "БЕЗ ПЛАМЕНИ";
Здесь мы удаляем все «0», которые присутствуют в обоих именах. Поэтому, наконец, все-таки символы убираются. Затем j увеличивается на единицу, так что это количество букв, которые присутствуют в обоих именах после удаления одних и тех же символов. Теперь нам нужно проверить, содержит ли он хотя бы один символ или нет. Чтобы код был эффективным, нам нужно сказать, что нельзя играть в игру с пламенем, если она не содержит уникальных символов.
Шаг 5: Создание кругового двусвязного списка
строка a = "пламя";
Сначала создайте глобальную строку, содержащую «пламя».
typedef struct node {
данные char;
узел * следующий, * предыдущий;
}узел;
узел * top = NULL, * temp;
Теперь создайте структуру, содержащую символьные данные, указатель следующего адреса и указатель предыдущего адреса.
Затем создайте указатель, указывающий на верхнюю часть связанного списка.
node * ins (char a) {
узел * new1;
new1 = новый узел;
new1-> data = a;
new1-> next = NULL;
new1-> prev = NULL;
если (вверху == NULL)
{
top = new1;
temp = top;
}
еще
{
temp-> next = new1;
new1-> prev = temp;
temp = new1;
}
возврат сверху;
}
Затем вставьте строку «flames» в двусвязный список посимвольно.
недействительная проверка (int j) {
int count1, flag = 0;
для (int i = 0; a ! = '\ 0'; i ++)
сверху = ins (a );
}
Шаг 6: Код для игры в пламя
недействительная проверка (int j)
{
int count1, flag = 0;
для (int i = 0; a ! = '\ 0'; i ++)
сверху = ins (a );
узел * cur = top, * prev1;
темп-> следующий = верх;
верх-> пред = темп;
в то время как (1)
{
count1 = 1;
в то время как (count1 <j)
{
cur = cur-> следующий;
count1 ++;
}
узел * temp1 = cur;
пред1 = текущий-> пред;
текущая-> предыдущая-> следующая = текущая-> следующая;
текущая-> следующая-> предыдущая = текущая-> предыдущая;
temp1-> next = NULL;
бесплатно (temp1);
cur = пред1-> следующий;
узел * test = cur;
если (тест-> данные == тест-> следующий-> данные)
перерыв;
}
}
нам нужно запустить круговой список, который представляет собой строку «flames» в соответствии с количеством уникальных символов. Затем нам нужно удалить символ в «пламени», который совпадает со счетчиком. Мы должны реализовать использование двусвязного списка в этом фрагменте кода. Очень помогает удаление определенного персонажа. Удаляет постоянно. Пока не будет достигнуто условие, что одни и те же символы будут повторяться.
if (test-> data == test-> next-> data) break;
Шаг 7. Сообщите результат
переключатель (cur-> data)
{
case 'f': cout << "ДРУЗЬЯ &&";
перерыв;
case 'l': cout << "ЛЮБОВЬ <3";
перерыв;
case 'a': cout << "AFFECTION $";
перерыв;
case 'm': cout << "БРАК:)";
перерыв;
case 'e': cout << "ВРАГ:(";
перерыв;
case 's': cout << "SIBLING";
перерыв; }
Используйте этот оператор switch, чтобы сообщить окончательному результату, что последний символ остается после удаления всех остальных символов в соответствии с подсчетом.
Теперь вы можете легко играть в флейм, просто вводя имена, это забавно, правда. Играйте в эту игру, используя имена своих друзей, и рассердите их LOL. Спасибо.
Шаг 8: Code for Flames
Полный код для FLAMES доступен здесь, github.com/naveeen684/Flames-code-using-C-/tree/master