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

Соединить шахматные 2 клетки кратчайшим путем коня - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Для каждой строки сформировать новую, поместив в нее слова исходной, заключенные в скобки http://www.cyberforum.ru/cpp-beginners/thread105670.html
Здравствуйте! Помогите с написание программы. Нужны 2 программы, цель обеих: из входного потока вводится произвольное число строк. Каждая строка - слова, разделенные одним или несколькими пробелами и/или знаками табуляци. Некоторые слова или группы слов заключены в скобки (). Возможно отсутстве скобок. Длина строки не больше 80 символов. Для каждой строки сформировать новую строку, поместив...
C++ Копирование массивов Уважаемые форумчане помогите решить задачку про массивы. У меня не получается... Суть задачи: Есть два массива: a(10) b(10); копировать в массив b массив a, повторяющиеся не копировать, по два раза: Свободное место массива b заполнить нулями. То есть a = {1,2,2,3,3,4,5,6,7,8}; b должен быть таким после копирования: http://www.cyberforum.ru/cpp-beginners/thread105640.html
C++ Класс Часы
требуется написать програму на языке С++ или Delphi: создайте клас часы, в качестве полей должны быть часы, минуты, секунды и формат вывода часов, обязательны функции-члены класса для ввода-вывода полей, изображение на экране в соответствующем формате - такова суть задания, в этом я совершенно не разбираюсь и надеюсь на вашу помощь, не совсем поняла все ли тут за деньги..к сожалению могу только...
функция arccos C++
добрый день, подскажите пожалуйста как записать на Си ф-цию arccos, а то что-то в голову ничего не приходит(
C++ Определить символ,порядковый номер которого соответствует введенному числу. http://www.cyberforum.ru/cpp-beginners/thread105569.html
Помогите пожалуйста решить задачку: Ввести любое целое двухзначное число. Определить символ,порядковый номер которого соответствует введенному числу. Вывести на печать полученный символ и символ, следующий за ним. Есть код программы. #include <iostream> #include <stdio.h> int main() {
C++ Создание игры с геометрическими фигурами на клеточном поле Здраствуйте! У меня в задании нужно составить игру с геометрическими фигурами на клеточном поле, которое я реализовал как двухмерный массив. Класс фигур с производными классами я создал, а вот с созданием методов для класса поля проблемы //Конструктор с параметрами(размеры поля) Cellular_field::Cellular_field(int Rows,int Columns) { //Проверка на минимальный размер if ( Rows<5 ||... подробнее

Показать сообщение отдельно
Грымзик
 Аватар для Грымзик
2466 / 1443 / 31
Регистрация: 14.09.2009
Сообщений: 2,742
18.03.2010, 12:34     Соединить шахматные 2 клетки кратчайшим путем коня
У Вас много ошибок и недочетов. Нельзя было выбирать число 10, поскольку вдруг потребуется больше 10 ходов, надо заведомо недостижимое число брать. Нельзя так заполнять массив int desk[8][8] = {10}; Вы бы посмотрели что получилось при этом. И прежде, чем обращаться к элементу массива, надо проверить индексы. А еще конь делает ход длиной в 2 клетки, а не 3. Заполнения массива я написала,а вывод пути уж сами сделайте.
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
#include <iostream>  
using namespace std;
int main()
{
        int desk[8][8]; // äîñêГ* 8Гµ8. ГЇГіГ±ГІГј Г*ГҐГ§Г*Г*ÿòûå êëåòêè áóäóò Г°Г*ГўГ*Г» 10
        int nkx, nky, kkx, kky, x, y, n;
        cout<<"Vvedite na4alnoe pologenie kon9I\n";//cisla ot 1 do 8, poetomu potom umenshaem na 1
        cin>>nkx;
        cin>>nky;
        cout<<"Vvedite kone4noe pologenie kon9I\n";
        cin>>kkx;
        --kkx;
        cin>>kky;
        --kky;
        for (x=0; x<8; ++x)
            for (y=0; y<8; ++y)
                desk[x][y]=100;
        desk[nkx-1][nky-1]=0;
        for (n=1; desk[kkx][kky]==100; ++n)
            for (x=0; x<8; x++)
                for(y=0; y<8; y++)
                        if (desk[x][y]==n-1)
                        {
                                if (x<6 && y<7 && desk[x+2][y+1]==100)
                                        desk[x+2][y+1]=n;
                                if (x<6 && y>0 && desk[x+2][y-1]==100)
                                        desk[x+2][y-1]=n;
                                if (x>1 && y<7 && desk[x-2][y+1]==100)
                                        desk[x-2][y+1]=n;
                                if (x>1 && y>0 && desk[x-2][y-1]==100)
                                        desk[x-2][y-1]=n;
                                if (x<7 && y>1 && desk[x+1][y-2]==100)
                                        desk[x+1][y-2]=n;
                                if (x<7 && y<6 && desk[x+1][y+2]==100)
                                        desk[x+1][y+2]=n;
                                if (x>0 && y>1 && desk[x-1][y-2]==100)
                                        desk[x-1][y-2]=n;
                                if (x>0 &&y<6 && desk[x-1][y+2]==100)
                                        desk[x-1][y+2]=n;
                        }
                
        for(y=0; y<8; ++y)
        {
                 for(x=0;x<8; ++x)
                         cout<<desk[x][y]<<" ";
                 cout<<endl;
        }
        system("PAUSE");
}
 
Текущее время: 02:03. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru