Форум программистов, компьютерный форум CyberForum.ru

Расстановка 8 ферзей - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ SpiderMonkey http://www.cyberforum.ru/cpp-beginners/thread176679.html
Интересует реализация под windows
C++ Удаление Codeblocks/ После удаления Codeblocks значки *.cpp отображаются так. как будто Codeblocks установлен. Как правильно удалить эту программу? Одним словом как сделать, чтобы после удаления Codeblocks *.срр-файлы отображались как первая иконка, а не вторая. Удалил CodeBlocks из параметров реестра - ничего не изменилось :(. http://www.cyberforum.ru/cpp-beginners/thread176666.html
Отловить чат/лобби в игре C++
Вообщем я делаю прогу которая меняет хоткеи в игре Варкрафт3. Ну и для удобства хочу сделать найлутшое определение чата (ну чтоб отключался бинд кнопок во время набирание текста). Мне нужно как то отловить когда человек непосредственно в игре (карта загрузилась) и когда он печатает. Вариант с ентрером не катит. Ну а если по простому можно както затестить подробно обо всех модулях запускающихся...
Очистка текстового файла C++
Здраствуйте, подскажите пожалуйсто как написть на c++ программу удоляющую полностью все из текстовго файла, на php это выглядит так:@fclose(fopen("./123.txt", "w"));, как это на c++ написать?
C++ Курсовая по C++ http://www.cyberforum.ru/cpp-beginners/thread176098.html
Курсовая на вольную тему по C++. Не могу определиться с темой. Что Вы посоветуете??? Заранее благодарен.
C++ CVI LabWin NI есть ли у кого хорошие книжки по программированию в этой среде! там в принципе чистый "C" но там специфическое обращение к портам и GUI. или если возможно дайте ссылку на форум где можно обсудить волнующие проблемы! Запрещено публиковать ссылки на другие форумы. правила форума, пункт 3.7 Добавлено через 12 часов 17 минут правила форума, пункт 3.7 а в личку можно? подробнее

Показать сообщение отдельно
Подсолнух
1 / 1 / 0
Регистрация: 28.03.2010
Сообщений: 94
15.10.2010, 21:40     Расстановка 8 ферзей
Привет всем, слушайте, вот исходник на С++ задача <<о восьми ферзях>>:

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
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
#include<iostream>
#include<cmath>
#include"pent"
void forming(int geo[12][25]);
void placing(int);
void print(int geo[12][25]);
int main()
{ //массив,в котором каждая строка,реализует представление 1 фигуры
  int   geometry[12][25]={1,1,1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,
              1,1,0,0,0,1,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,
              0,1,0,0,0,1,1,1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,
              0,0,1,0,0,1,1,1,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,
              1,1,0,0,0,1,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,
              0,1,1,0,0,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
              1,1,0,0,0,0,1,1,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,
              1,1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,0,0,0,0,
              1,1,0,0,0,0,1,1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,
              1,0,0,0,0,1,0,0,0,0,1,1,0,0,0,1,0,0,0,0,0,0,0,0,0,
              1,1,0,0,0,0,1,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,
              0,1,1,1,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0};
  //структура 1 фигуры
  //прямоугольная область размещения фигур
  //(в дальнейшем поле расстановки) 6х10
  //clrscr();         //очистка экрана
  cout<<"beginning dates:"<<endl; //вывод начальных данных
  getch();        // ожидание нажатия клавишы
  //подпрограмма формирования массива фигур,
  //из начального массива geometry
 forming(geometry);
//  int kol=10; int kol2=0;short b=1;
 // int g=-33, h=48;
    //основная функция, выполняющая всевозможные расстановки фигур
     //на поле расстановки
  placing(1);
   //вывод данных(поле расстановки) на экран
  print(geometry);
  getch();
 //  b ? Print(kol,kol2) : Print(kol,pow(kol,2)+g);
 //  b ? Prrint(kol,kol2) : Prrint(kol,pow(kol,2)-h);
  return 0;
}
 
//подпрограмма формирования массива фигур,
//из начального массива geometry
void forming(int geo[12][25])
 { struct pents
    { int shape[5][5];//форма фигуры
      char located;   //находится на доске/не находится
 }  image[12];  //массив из 12 фигур
    int h;
 
    for(int i=1;i<=12;i++) //кол-во фигур
    { h=1;
      for(int j=1;j<=5;j++) //размерность каждой фигуры
       for(int k=1;k<=5;k++)
   //присвоение массиву форматов каждой фигуры,
   //значений из нгчальных данных
       { image[i].shape[j][k]=geo[i][h];
       h++;
       }
    }
    for(i=1;i<=12;i++)
   //пока ни одна фигура не ледит на поле расстановки,
   //поэтому значение "N"
       image[i].located='N';
}
//основная функция, выполняющая всевозможные расстановки фигур
//на поле расстановки
void placing(int i)       //i-номер фигуры
{ const static int n=6,m=10;
  struct pents
    { int shape[5][5];//форма фигуры
      char located;   //находится на доске/не находится
 }  image[12];  int field[n][m];
    //вспомогательные счётчики и
    //признак нахождения подходящего варианта
    int j1,h1,b;
     //цикл нахождения всевозможных вариантов для i-ой фигуры
    for(int j=1;j<=n;j++)
    { j1=j;
    //просматриваем каждый столбец j-ой строки
      for(int h=1;h<=m;h++)
      { h1=h;b=1;
    //циклы доступа к элементам массива формата каждой фигуры
        for(int k=1;k<=5;k++)
        { for(int l=1;l<=5;l++)
          //если сумма элементов массива формы i-ой фигуры
          //и элементов массива  поля расстановки больше 1
          //т.е. происходит наложение фигур друг на друга, то b присвоить значение 0
          { if (image[i].shape[k][l]+field[j1][h1]>1) b=0;
            h1++;
          }
          j1++;h1=h;
        }
        //если не разу не произошло наложение фигур, т.е. фигура подходит,
        //то выход из цикла поиска
        //т.е. из цикла возможных исходных позиции фигуры по столбцам
        if (b==1) break;
        j1=j;
      }
      if (b==1)
    //присваиваем полю расстановки подошедшую нам фигуру
      { for(int k=1;k<=5;k++)
         for(int l=1;l<=5;l++)
             if (image[i].shape[k][l]==1) field[-j+k][-l+h]=i;
    //поменяли признак находится на доске/не находится
        image[i].located='Y';
    //если это не случай с последней фигурой,
        //то рекурсией осуществляем установку след.фигуры
    if (i<12) placing(++i);
    //  else //иначе, т.е. если дошли до посл.фигуры(нашли 1 вариант), вывод на экран
      //           print();
        //обнуляем значения последней поставленной фигуры
        //на поле расстановеи  и ищем след.подходящий вариант
    for(k=j;k<=6;k++)
     for(int l=h;l<=10;l++) field[k][l]=0;
    //поменяли признак находится на доске/не находится
    image[i].located='N';
      }
    }   //выполняем всё вышесказанное для каждой фигуры,
        //устонавливая её,находя подходящий вариант и
        //удаления для последущего поиска других вариантов
 
}
//вывод данных(поле расстановки) на экран
void print(int geo[12][25])
{
 for(int i=1;i<12;i++){
   for(int j=1;j<25;j++) //координаты поля расстановки
       cout<<geo[i][j];
       cout<<endl;}   //непосредственный вывод
      //сохранение формата вывода
 
 
}

Мне задали её в виде курсовой, код написал, честно, не сам, помогали, но запустить не получается, помогите разобраться в чем дело.

Заранее благодарен!!!
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 17:02. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru