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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
mrNicko
2 / 3 / 1
Регистрация: 02.10.2013
Сообщений: 29
#1

Сколько клеток находится под боем шахматного коня - C++

04.10.2013, 00:25. Просмотров 585. Ответов 6
Метки нет (Все метки)

есть задача.
http://acm.timus.ru/problem.aspx?space=1&num=1197
написал решение:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#include <iostream>
using namespace std;
 
int main(int argc, char const *argv[])
{
    int vert[8][8] = {
    {2,3,4,4,4,4,3,2,},
    {3,4,6,6,6,6,4,3,},
    {4,6,8,8,8,8,6,4,},
    {4,6,8,8,8,8,6,4,},
    {4,6,8,8,8,8,6,4,},
    {4,6,8,8,8,8,6,4,},
    {3,4,6,6,6,6,4,3,},
    {2,3,4,4,4,4,3,2,}};
    int gorizontal, vertikal, objee;
    cout << "Vvedite gorizontal a-h = 1-8" << endl;
    cin >> gorizontal;
    cout << "Vvedite vertikal 1-8" << endl;
    cin >> vertikal;
    objee = vert[gorizontal][vertikal];
    cout << "hodov: " << objee;
    return 0;
}
но не могу понять как при вводе, допустим а6 - оно в массиве искало значение.
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
04.10.2013, 00:25
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Сколько клеток находится под боем шахматного коня (C++):

Ходы шахматного коня - C++
Задача заключается в том, чтобы найти минимальное количество ходов для перехода шахматного коня с клетки T1 на клетку T2. Если у кого-то...

Зача про шахматного коня (решить, используя массив) - C++
Помогите пожалуйста решить задачу, на через массив: На шахматной доске NxN в клетке (x1,y1) стоит голодный шахматный конь. Он хочет...

Путь шахматного коня из одного угла доски в другой за заданное кол-во шагов - C++
Шахматная фигура &quot;конь&quot; перемещается на одну клетку по горизонтали и на две клетки по вертикали или на две клетки по горизонтали и на одну...

Переписать визуальный проект в консольное приложение: Обход конем всех клеток шахматного поля. - C++
Приветствую друзья!Прошу помощи у экспертов, т.к. ООП почти не изучал. Дана программа с исходниками и исполняемым файлом, рабочая, но с...

Найти все пути шахматного коня между двумя заданными полями, не содержащие повторяющихся полей - C++
Найти все пути шахматного коня между двумя заданными полями, не содержащие повторяющихся полей. ПОМОГИТЕЕЕЕ если кто напишет код...

из листа клетчатой бумаги N*N клеток вырезали М клеток . на сколько кусков распадается оставшаяся часть листа? - C++
условие:из листа клетчатой бумаги N*N клеток вырезали М клеток . на сколько кусков распадается оставшаяся часть листа? Первая строка...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
HedgehogLu
147 / 68 / 1
Регистрация: 04.09.2013
Сообщений: 260
04.10.2013, 01:04 #2
ну если вводить именно а6 то оно и не ищет. оно по идее должно упасть с ошибкой.
А если а вводить как оно просит указав вместо а единицу, то тогда оно берет значение из массива.
но и тут ошибка.
Индексация массивов в С начинается с нуля а не с единицы
0
mrNicko
2 / 3 / 1
Регистрация: 02.10.2013
Сообщений: 29
04.10.2013, 01:10  [ТС] #3
Цитата Сообщение от HedgehogLu Посмотреть сообщение
ну если вводить именно а6 то оно и не ищет. оно по идее должно упасть с ошибкой.
А если а вводить как оно просит указав вместо а единицу, то тогда оно берет значение из массива.
но и тут ошибка.
Индексация массивов в С начинается с нуля а не с единицы
Упустим ошибки, мне нужно что бы при вводе допустим f4 оно находило в массиве значение. Что бы программа понимала что f - это пятая строка массива, а 4 - 3й столбик. Как это реализовать?
0
HedgehogLu
147 / 68 / 1
Регистрация: 04.09.2013
Сообщений: 260
04.10.2013, 01:20 #4
Т.к. для ввода строки используются буквы, то именно букву а не число надо запрашивать.
Для ввода столбца мы используем число.
Думаю не стоить объяснять как из 4 сделать 3
Поэтому проблем со столбцом у нас возникнуть не должно. А вот что со строкой.
Для строки мы вспоминаем, что тип char это по сути целочисленный тип . А значит, что все арифметические операции ему не чужды.
Более того нашу задачу упрощает тот факт, что в численном представлении значения char содержит код введенного символа.
Таким образом очень легко получить вместо кода буквы ее относитльное положение в алфавите.
0
mrNicko
2 / 3 / 1
Регистрация: 02.10.2013
Сообщений: 29
04.10.2013, 01:30  [ТС] #5
Цитата Сообщение от HedgehogLu Посмотреть сообщение
Т.к. для ввода строки используются буквы, то именно букву а не число надо запрашивать.
Для ввода столбца мы используем число.
Думаю не стоить объяснять как из 4 сделать 3
Поэтому проблем со столбцом у нас возникнуть не должно. А вот что со строкой.
Для строки мы вспоминаем, что тип char это по сути целочисленный тип . А значит, что все арифметические операции ему не чужды.
Более того нашу задачу упрощает тот факт, что в численном представлении значения char содержит код введенного символа.
Таким образом очень легко получить вместо кода буквы ее относитльное положение в алфавите.
Спасибо, но я как полный даун могу попросить это написать в коде?
0
HedgehogLu
147 / 68 / 1
Регистрация: 04.09.2013
Сообщений: 260
04.10.2013, 01:33 #6
C++
1
2
3
4
5
6
7
8
...
char gorizontal;
int vertikal, objee;
...
gorizontal-='a';
vertikal--;
objee = vert[gorizontal][vertikal];
...
где-то так на вскидку.
1
mrNicko
2 / 3 / 1
Регистрация: 02.10.2013
Сообщений: 29
04.10.2013, 01:36  [ТС] #7
Большое спасибо.
Я тугой просто
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
04.10.2013, 01:36
Привет! Вот еще темы с ответами:

определить – находятся ладьи под боем или нет. Все координаты вводятся с клавиатуры - C++
Прошу помочь написать данную программу. Разработать алгоритмы решения задачи и реализовать его: 1. На пустую шахматную доску...

Определить сколько клеток по периметру доски - C++
Задача с условным оператором. В каждую крайнюю клетку квадратной доски поставили по фишке. Могло ли оказаться, что выставлено ровно k...

Вывести квадратную матрицу, представляющую шахматное поле, где значение 1 - клетки под боем, а 0 - нет - C++
Условие задачи такое: «Ладья — шахматная фигура, которая может перемещаться по вертикали или по горизонтали. Вам дана шахматная доска NxN,...

Определить, сколько существует различных раскрасок полоски из N клеток - C++
Решаю задачу условие на картинке, написал код идею вроде понял, не могу понять почему проходит лишь на частичный балл, помогите...


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
04.10.2013, 01:36
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru