С Новым годом! Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.87/47: Рейтинг темы: голосов - 47, средняя оценка - 4.87
0 / 0 / 0
Регистрация: 25.11.2010
Сообщений: 16

Игра города

22.10.2011, 15:11. Показов 9151. Ответов 2
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Широко известна игра "Города". Называется какой-нибудь город, допустим, "Саратов". Кончается на "в", значит требуется назвать другой город, у которого в названии первая буква "в". Это может быть "Воронеж". Следующий город должен начинаться на "ж" и т.д. Запрещено повторять название городов. Надо написать программу, которая из набора названий городов (все названия разные) строит цепочку максимальной длины.

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
#include "iostream"
 
using namespace std;
 
    char **gmass;
    int kolvo;
    void ADDG(char gorod[20])
    {
        char **temp;
        temp=new char *[kolvo];
        int i;
        for (i=0;i<kolvo;i++)
        temp[i]=new char [20];
        for (i=0;i<kolvo;i++)
        temp[i]=gmass[i];
        delete (gmass);
        ++kolvo;
        gmass=new char*[kolvo];
        for (i=0;i<kolvo;i++)
        gmass[i]=new char [20];
        for (i=0;i<kolvo-1;i++)
        temp[i]=gmass[i];
        gmass[kolvo-1]=gorod;
        delete (temp);
    }
    
    int *maxz;
    int kolsl;
    int search(int cur,int *sost,int *thiskol)
    {
        if (thiskol == 0)
          for (int i=0;i<kolvo;i++)
            {
                sost[i]=0;
                search(i,sost,1);
                sost[i]=-1;
            }
            else
            {
                char a=gmass[cur][strlen(gmass[cur]-1)];        
                for (int i=0;i<kolvo;i++)
                    if ((gmass[i][0] == a) && (sost[i]== -1))
                    {
                      sost[i]=thiskol;
                      search(i,sost,thiskol+1);
                      sost[i]=-1;
                    }
                    if (kolsl<thiskol)
                    {
                      kolsl=thiskol;
                      for (i=0;i<kolvo;i++)
                    maxz[i]=sost[i];
                    }
            }
    }
    
int main ()
{
  kolvo=0;
  char gorod [20];
  cin>>gorod;
  while (gorod !='q')
  {
    if (kolvo == 0)
    {
      gmass=new char*[1];
      gmass[0]=new char[20];
      int t;
      for (t=0;t<20;t++)
      gmass[0][t]=gorod[t];
      kolvo++;
    }
    else
      ADDG(gorod);
  }
   int *gor;
   gor=new int [kolvo];
   for (int m;m<kolvo;m++)
   gor[m]=-1;
   maxz=new int[kolvo];
   kolsl=0;
   search(-1,gor,0);
   for (int a=0;a<kolsl;a++)
    for (int y=0;y<kolvo;y++)
      if (maxz[y] == a)
      {
    cout<<gmass[y]<<' ';
    break;
      }
      return 0;
}
Помогите исправить ошибки!
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
22.10.2011, 15:11
Ответы с готовыми решениями:

Проверка корректности введенного города игра "Города"
Здравствуйте, пишу программку &quot;Города&quot;, т.е. пользователь называет какой-нибудь город, допустим, &quot;Омск&quot;. Компьютер считывает...

Игра в города
Нужно реализовать в С++ Игра в города Условие задачи: Всем известны правила игры &quot;в города&quot;: первый игрок называет...

игра в города
помогите плз. очень нужно написать компилятор, который открывает текстовый файл , в котором в случайном порядке написаны города, и...

2
Студент
 Аватар для amor1k
148 / 148 / 64
Регистрация: 18.01.2011
Сообщений: 469
22.10.2011, 18:40
строка 36. В качестве 3 переменной вы передаете int значение. А надо int*
строка 45. Тоже самое, только наоборот
строка 52. Необьявлена переменная i

Что это??
C++
1
#include "iostream"
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
#include <iostream>
using namespace std;
 
        char **gmass;
        int kolvo;
        void ADDG(char gorod[20])
        {
                char **temp;
                temp=new char *[kolvo];
                int i;
                for (i=0;i<kolvo;i++)
                temp[i]=new char [20];
                for (i=0;i<kolvo;i++)
                temp[i]=gmass[i];
                delete (gmass);
                ++kolvo;
                gmass=new char*[kolvo];
                for (i=0;i<kolvo;i++)
                gmass[i]=new char [20];
                for (i=0;i<kolvo-1;i++)
                temp[i]=gmass[i];
                gmass[kolvo-1]=gorod;
                delete (temp);
        }
        
        int *maxz;
        int kolsl;
        void search(int cur,int *sost,int thiskol)
        {
                if (thiskol == 0)
                  for (int i=0;i<kolvo;i++)
                        {
                                sost[i]=0;
                                search(i,sost,1);
                                sost[i]=-1;
                        }
                        else
                        {
                                char a=gmass[cur][strlen(gmass[cur]-1)];                
                                for (int i=0;i<kolvo;i++)
                                    if ((gmass[i][0] == a) && (sost[i]== -1))
                                        {
                                          sost[i]=thiskol;
                                          search(i,sost,thiskol+1);
                                          sost[i]=-1;
                                        }
                                    if (kolsl<thiskol)
                                    {
                                      kolsl=thiskol;
                                      for (int i=0;i<kolvo;i++)
                                        maxz[i]=sost[i];
                                    }
                        }
        }
        
int main ()
{
  kolvo=0;
  char gorod [20];
  cin>>gorod;
  while (gorod !="q")
  {
    if (kolvo == 0)
    {
      gmass=new char*[1];
      gmass[0]=new char[20];
      int t;
      for (t=0;t<20;t++)
      gmass[0][t]=gorod[t];
      kolvo++;
    }
    else
      ADDG(gorod);
  }
   int *gor;
   gor=new int [kolvo];
   for (int m;m<kolvo;m++)
   gor[m]=-1;
   maxz=new int[kolvo];
   kolsl=0;
   search(-1,gor,0);
   for (int a=0;a<kolsl;a++)
    for (int y=0;y<kolvo;y++)
      if (maxz[y] == a)
      {
        cout<<gmass[y]<<' ';
        break;
      }
      return 0;
}
Программа работает. но неправильно, так как незнаю алгоритм... (еще мало опыта)
1
0 / 0 / 0
Регистрация: 25.11.2010
Сообщений: 16
22.10.2011, 20:26  [ТС]
Цитата Сообщение от amor1k Посмотреть сообщение
Что это??
Код C++1 #include "iostream"
библиотека только забыл h дописать, в моём случае)
но и на том спасибо, хоть ошибок нету, буду думать почему не работает...
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
22.10.2011, 20:26
Помогаю со студенческими работами здесь

Игра в города
Здравствуйте, нужно написать консольную программу для Windows игру в города (пользователь vs компьютер). Я ввожу город, а компьютер на...

Игра в города
Несколько (2-15) игроков по очереди вводят строки. Основное правило, чтобы первый символ очередной строки был равен последнему из...

Строки. Игра в города
Игра в города. первое приближение. Два игрока по очереди вводят строки. Основное правило, чтобы первый символ очередной строки был равен...

Игра в города для бота
Пытаюсь написать код игры в города для своего бота, только уже много способов пробовал, не выходит. Простую версию игры(где просто...

Решить задачу на файловый ввод/вывод (игра "Города")
Не могу понять задачу и решить её на Си!!! Срочно! Дело в том что я сейчас на зачёте, и мне больше некуда обратиться. Помогите прошу...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Новые блоги и статьи
Модель микоризы: классовый агентный подход 3
anaschu 06.01.2026
aa0a7f55b50dd51c5ec569d2d10c54f6/ O1rJuneU_ls https:/ / vkvideo. ru/ video-115721503_456239114
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR
ФедосеевПавел 06.01.2026
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR ВВЕДЕНИЕ Введу сокращения: аналоговый ПИД — ПИД регулятор с управляющим выходом в виде числа в диапазоне от 0% до. . .
Модель микоризы: классовый агентный подход 2
anaschu 06.01.2026
репозиторий https:/ / github. com/ shumilovas/ fungi ветка по-частям. коммит Create переделка под биомассу. txt вход sc, но sm считается внутри мицелия. кстати, обьем тоже должен там считаться. . . .
Расчёт токов в цепи постоянного тока
igorrr37 05.01.2026
/ * Дана цепь постоянного тока с сопротивлениями и напряжениями. Надо найти токи в ветвях. Программа составляет систему уравнений по 1 и 2 законам Кирхгофа и решает её. Последовательность действий:. . .
Новый CodeBlocs. Версия 25.03
palva 04.01.2026
Оказывается, недавно вышла новая версия CodeBlocks за номером 25. 03. Когда-то давно я возился с только что вышедшей тогда версией 20. 03. С тех пор я давно снёс всё с компьютера и забыл. Теперь. . .
Модель микоризы: классовый агентный подход
anaschu 02.01.2026
Раньше это было два гриба и бактерия. Теперь три гриба, растение. И на уровне агентов добавится между грибами или бактериями взаимодействий. До того я пробовал подход через многомерные массивы,. . .
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Programma_Boinc 28.12.2025
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост. Налог на собак: https:/ / **********/ gallery/ V06K53e Финансовый отчет в Excel: https:/ / **********/ gallery/ bKBkQFf Пост отсюда. . .
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
Programma_Boinc 26.12.2025
Нашел на реддите интересную статью под названием Anyone know where to get a free Desktop or Laptop? Ниже её машинный перевод. После долгих разбирательств я наконец-то вернула себе. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru