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

Пятнашки - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Нужны исходники кода из книги от Э. Гамма, Р. Хелм, Р. Джонсон, Дж. Влиссидес http://www.cyberforum.ru/cpp-beginners/thread946271.html
книга: Приемы объектно-ориентированного проектирования. Паттерны проектирования автор: Э. Гамма, Р. Хелм, Р. Джонсон, Дж. Влиссидес где взять исходники. спасибо. ps. по почте не приходит.
C++ Выполнение команд, вводимых пользователем с клавиатуры (ООП + события) Цель: Получить практические навыки разработки объектно-ориенти-рованной программы, управляемой событиями. Основное содержание работы: Написать интерактивную программу, выполняющую команды, вводимые пользователем с клавиатуры. http://www.cyberforum.ru/cpp-beginners/thread946266.html
Небольшая игрушка в консоли C++
Решил написать небольшую игру в консольном интерфейсе. Суть такова: в определенную точку на экране при нажатии ЛКМ ставится символ, который изменяет свою Y-координату на -1 каждую секунду (имитация гравитации). Точка, в которую ставится символ, равна текущему положению курсора в пределах окна консоли. Символ, достигший нижней точки в сетке консольного поля, останавливается. Также останавливается...
на системы счисления. подскажите идею решения C++
Сколько существует натуральных чисел,меньших 81 (10), таких, чт в ихзаписи в троичной системе счисления будут использоваться ровно две различные значащие цифры. Каждая из этих двух цифр должна встретится в записи числа хотя бы один раз, но может повторятся.Пары цифр для записи различных чисел могут отличаться. В ответе приведите целое число* С объяснеием или идею решения хотя бы* вроде...
C++ EOF K&R http://www.cyberforum.ru/cpp-beginners/thread946198.html
Всем доброго времени суток. Изучаю Си по Дейтелам, а теперь попала в руки книга авторов языка. Интересно теперь будет параллельно по двум книгам вести своё обучение. Так вот о чём я, не могу понять вродеб-то простых вещей. Объясните пожалуйста. Итак, сначала выясним число EOF, простите уж за мой нубский слэнг. Поехали: #include <stdio.h> int main() { printf("EOF is %d\n", EOF);
C++ макросы #include <iostream> using namespace std; #define printarray(x,y)//вывод массива x-имя массива, y-число элементов???? int main() { const int size=10; int arr; for(int i=0;i!=size;i++) { подробнее

Показать сообщение отдельно
Stigmosus
2 / 2 / 0
Регистрация: 18.01.2013
Сообщений: 14
01.09.2013, 11:13  [ТС]     Пятнашки
Цитата Сообщение от Бендерродригез Посмотреть сообщение
Стопорится на for(int j=0;4;i++) - бесконечный цикл, да ёще и инкремен не той переменной.
C++
1
for(int j = 0; j < 4; j++)
Повторений не будет. Но массив заполнен {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 0}, поэтому проверка последнего элемента никогда не пройдёт. Нужно
C++
1
if(y == 15)...
Добавлено через 3 минуты
Только после такого заполнения надо проверить игру на решаемость: пятнашки.
Ааа... большое спасибо
Я как всегда путал "=" и "==". Поэтому отбросил тот вариант...

Добавлено через 21 минуту
НО!

Когда я пытаюсь использовать этот код:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
int arr[16] = {0};
for(int i = 0; i < 16; i++)
arr[i] = i;
for(int i = 0; i < 50; i++){
    int q1 = rand() % 15;
    int q2 = rand() % 15;
    int q3 = arr[q1];
    arr[q1] = arr[q2];
    arr[q2] = q3; //меняет местами случайным образом 2 значения
}
for(int i = 0; i < 4; i++)
    for(int j = 0; j < 4; i++)
        a[j][i] = arr[j + i * 4] //заполняет поле
}
Он выдает ошибку
Необработанное исключение в "0x774515fe" в "binnary.exe": 0xC0000005: Access violation.
и открывает файл rand.c. Как это можно пофиксить?

Добавлено через 10 минут
И что-то у меня возникла сложность с проверкой на решаемость...
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
int e,ni,k,zs;
    zs=1; //сумма нечетная
    while(zs%2==1)do
    {
    for(int i = 0; i < 16; i++)
        arr[i] = i;
    
    for(int i = 0; i < 50; i++)
    {
        
        int q1 = rand()%15;
        int q2 = rand()%15;
        int q3 = arr[q1];
        arr[q1] = arr[q2];
        arr[q2] = q3; //меняет местами случайным образом 2 значения
    }
    for(int i = 0; i<SIZE; i++)
        for(int j = 0; j<SIZE; i++)
           a[j][i] = arr[j + i * 4]; //заполняет поле
    for(int i=0;i<SIZE;i++) //проверка номера ряда, содержащего пустую ячейку
        for(int j=0;i<SIZE;i++)
            if(a[i][j]==0)
                e=i+1;
 
 
    }
Вот так... а дальше?
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru