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

Игра Программистика - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Построить систему классов для описания плоских геометрических фигур http://www.cyberforum.ru/cpp-beginners/thread204811.html
Построить систему классов для описания плоских геометрических фигур: круга, квадрата, прямоугольника. Предусмотреть методы для создания объектов, перемещения на плоскости, изменения размеров и вращения на заданный угол. Написать программу, демонстрирующую работу с этими классами. Программа должна содержать меню, позволяющее осуществить проверку всех методов классов. помогите кто знает
C++ Ошибки в программе (поиск минимального значения) #include <iostream> #include <conio> #include <stdio> #include <math> void main() { int a,b,c,min,max; clrscr(); printf("X=min(max(a,b),c)\nVvedite 3 celih chisla vvide: A,B,C\n"); http://www.cyberforum.ru/cpp-beginners/thread204810.html
C++ Проверьте пожалуйста программу
Нужно найти минимальное из М чисел... #include <stdio.h> int M,y; int minimym(M) { int a,y,i; y=99999; for (i=1;i<=M;++i) { printf ("\t%d.",i);
C++ матрица и массив
дана квадратная матрица с размером n и массив с тем же размером. Найти в каждой строке матрицы максимальный элемент,и поместить его в массив. #include <iostream> #include <time.h> #include <windows.h> #include <math.h> #include <D:\\alex\\head-files\\mathem.h> #include <D:\\alex\\head-files\\kurs.h> #include <D:\\alex\\head-files\\factorial.h> using namespace std;
C++ Одномерные Массивы. Решение уже есть. Переделать через функции. http://www.cyberforum.ru/cpp-beginners/thread204779.html
Помогите решить задачу по одномерному массиву ПО ФУНКЦИЯМ. Задачи уже решены, надо их переделать по функциям. 1. Найти номер максимального по модулю элемента массива #include <iostream.h> #include <iomanip.h> #include <math.h> #include <conio.h> int main() {
C++ 3. Заданы два массива по 10 целых чисел в каждом. Найти наименьшее среди чисел первого массива, которое не входит во второй массив (считая, что хотя б вот задача, не могу понять как её доделать?? допишите кто нить.. 3. Заданы два массива по 10 целых чисел в каждом. Найти наименьшее среди чисел первого массива, которое не входит во второй массив (считая, что хотя бы одно такое число есть). #include <stdio.h> #include <conio.h> main () { int i,j, n,x1,x2, k; подробнее

Показать сообщение отдельно
Turkish
Сообщений: n/a
06.12.2010, 20:14     Игра Программистика
Ребята, помогите написать игру на С.
Вот задание:
игра "Программистика".Для игры требуются плоские квадратные фишки 4-х видов, представляющие собой поле 3*3 с вырезанной центральной клеткой. В остальных клетках каждой фишки записаны числа от 1 до 8. Все виды фишек показаны на рисунке. Количество фишек каждого вида не ограничено.
Игра проводится на поле размером N*N. Первоначально все клетки поля заполнены единицами.
В начале игры Магистр несколько раз случайным образом помещает произвольные фишки на игровое поле так, что фишка попадает на поле целиком, а ее центральная клетка совпадает с одной из клеток поля. После помещения очередной фишки все числа в восьми клетках игрового поля, которые перекрывает фишка, умножаются на соответствующие числа в клетках фишки, и результаты становятся новыми значениями этих клеток игрового поля.
Таким образом, после окончания процесса размещения фишек игровое поле оказывается заполненным полученными произведениями. Далее Магистр передает получившееся поле игроку, которому необходимо установить для каждой клетки поля, сколько раз Магистр в нее помещал центральные клетки фишек.
Требуется для каждого входного файла, содержащего полученное Магистром поле, сформировать соответствующий ему выходной файл, в N строках которого содержится по N чисел, показывающих, сколько раз в соответствующую клетку помещались центральные клетки фишек.
Входные данные
В каталоге C:\TESTS\4 находятся 7 входных файлов с именами game.01, game.02, :, game.07. В первой строке каждого из этих файлов записано N (3 < N < 100). В последующих N строках записано по N разделенных пробелами натуральных чисел, являющихся значениями полученных Магистром произведений, каждое из которых не превышает 2*10^9.
Выходные данные
Каждый выходной файл должен состоять из N строк по N разделенных пробелами чисел, показывающих для каждой клетки поля, сколько раз в нее помещались центральные клетки фишек.
Вам требуется представить на тестирование 7 выходных файлов с именами:
Р[номер участника]_4.[номер теста]
где <номер участника> - пятизначный номер участника, 4 - номер задачи, <номер теста> - двузначный номер теста задачи.
Например, у участника с номером 21111 выходной файл для теста № 3 должен называться P21111_4.03
Пример
Входной файл game.0x
5
1 2 3 1 1
8 1 140 48 7
7 6 120 1 16
1 1 15 8 3
1 1 1 1 1

Выходной файл Р21111_4.0x
0 0 0 0 0
0 1 0 0 0
0 0 0 2 0
0 0 0 0 0
0 0 0 0 0

Примечание Результатом решения задачи являются только 7 выходных файлов, которые и необходимо представить на проверку.

Добавлено через 1 минуту
Вот решение, осталось только программу написать....
решение:
Начнем просматривать игровое поле с левого верхнего угла(на верхней левый угол может влиять только карточка с центром в (2;2)). Будем пытаться поставить на клетку (2;2) все карточки, за исключением карточки номер 1. В случае, если карточку подставить можно, увеличиваем счетчик в точке (2;2) на 1, а значения окружающих ее клеток делим на числа, написанные на соответствующем месте карточки. Как только мы не сможем подставить ни одну из карточек с номерами от 2 до 4, перейдем к карточке 1(мы не переходили к ней раньше, т.к. неизвестно . Рассмотрим поле (2;1): у первой карточки на это место приходится число 2, у всех остальных числа: 7, 5, 3. Надо заметить что никакая комбинация из перемноженных чисел 3, 5 и 7 не даст 2k, т.к. будет нечетной. Проверим, на какую степень 2 мы можем разделить значение (2;1). Соответственное количество первых карточек имеет центр в точке (2;2). Обработаем для них другие покрываемые клеточки
Теперь представим, что самой верхней левой клеткой стала клетка (2;1). Повторим для нее те же операции. Когда мы достигнем верхней левой клетки (N - 2; 1) следующей за ней будет верхняя левая клетка (2;2). Повторим эту операцию, пока не проверим все поле. Если вы обработали все правильно, то оно должно быть заполнено единичками.
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 21:24. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru