1 / 1 / 0
Регистрация: 07.10.2013
Сообщений: 122

На шахматной доске (матрица 8х8) ввести координаты ферзя, и обозначить место , куда его поставили, цифрой 2, а диагональ, на которой он находится 1-ам

18.10.2013, 00:01. Показов 2217. Ответов 10
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
На шахматной доске (матрица 8х8) ввести координаты ферзя, и обозначить место , куда его поставили, цифрой 2, а диагональ, на которой он находится 1-ами , вывести на экран матрицу, с положение ферзя и диагональю, заполненной еденицами
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
18.10.2013, 00:01
Ответы с готовыми решениями:

Составить программу, запрашивающую координаты ферзя на шахматной доске и показывающую поля доски, находящиеся под боем
Составить программу, запрашивающую координаты ферзя на шахматной доске и показывающую поля доски, находящиеся под боем.

Задача с расположением ферзя на шахматной доске
Здравствуйте! Есть такая задача: Необходимо написать программу, которая бы выводила положение ферзя на шахматной доске, и отображала все...

На шахматной доске 8х8 расположены три фигуры
Задача: //На шахматной доске 8х8 расположены три фигуры: ферзь, ладья и конь. //Требуется определить количество пустых полей...

10
71 / 70 / 21
Регистрация: 04.04.2012
Сообщений: 351
18.10.2013, 00:16
а где вопрос?
0
1 / 1 / 0
Регистрация: 07.10.2013
Сообщений: 122
18.10.2013, 10:33  [ТС]
вопрос в том как решить эту задачу)ну код)я как бы понимаю как сделать матрицу 8 на 8 и заполнить 0-ми, понимаю как сделать место, куда поставят ферзя другой цифрой(ну примерно понимаю как реализовать), но не понимаю как сделать что бы вся диагональ была единицами, по этому и прошу у вас код)
0
4 / 4 / 1
Регистрация: 20.01.2010
Сообщений: 93
18.10.2013, 22:34
Первое что приходит на ум - пара циклов for. Один для движения в одну сторону диагонали, другой в другую. Например номер ферзя massiv[6,5]. тогда, чтобы заполнить единицами диагональ "вверх" нужно в цикле уменьшать на 1 значение каждого индекса и присваивать 1. И, соответственно, чтобы пройтись по диагонали в другом направлении нужно прибавлять к каждому индексу 1. Пока не дойдете до конца матрицы....
как-то так
0
1 / 1 / 0
Регистрация: 07.10.2013
Сообщений: 122
18.10.2013, 22:40  [ТС]
о Боже....что то страшное, я пробовала нечто такое сделать, но что то оно через ж*пу, т.е оно что то выводит, но что то не так))
напиши ка код, если не сложно^_^
0
 Аватар для Serho88
11 / 11 / 8
Регистрация: 08.10.2013
Сообщений: 51
19.10.2013, 06:25
Если правильно понял то сделано так:
Кликните здесь для просмотра всего текста

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
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
 
namespace ConsoleApplication1
{
    class Program
    {
        static void Main(string[] args)
        {
            int[,] pol = new int[8, 8];
            //положение ферзя вводится парой координат от 1 до 8
            Console.WriteLine("Введите положение ферзя (через Enter):");
            int x = int.Parse(Console.ReadLine());
            int y = int.Parse(Console.ReadLine());
            //забиваем массив 0
            for (int i=0;i<8;i++)
                for (int j = 0; j < 8; j++)
                {
                    pol[i, j] = 0;
                }
            //приводи координаты к виду от 0 до 7
            x--;
            y--;
            //заполняем диогонали 1 в матрице
            for (int i = 0, j = 0; (i < 8) && (j < 8); i++, j++)
            {
                if ((x - i >= 0) && (y - j >= 0))
                    pol[x - i, y - j] = 1;
                if ((x - i >= 0) && (y + j < 8))
                    pol[x - i, y + j] = 1;
                if ((x + i < 8) && (y - j >= 0))
                    pol[x + i, y - j] = 1;
                if ((x + i < 8) && (y + j < 8))
                    pol[x + i, y + j] = 1;
            }
            //выводим положение ферзя
            pol[x,y]=8;
            //выводим матрицу
            for (int i=0;i<8;i++)
            {
                for (int j = 0; j < 8; j++)
                {
                    Console.Write("{0} ",pol[i,j]);
                }
                Console.WriteLine();
            }
            Console.ReadKey();
 
        }
    }
}


Добавлено через 2 минуты
К стати, нет проверки на граничные условия, если ввести меньше 1 или больше 8 то будет ошибка
1
1 / 1 / 0
Регистрация: 07.10.2013
Сообщений: 122
20.10.2013, 00:04  [ТС]
а как удалить тему?

Добавлено через 9 минут
УДАЛИИИИИИИИИИИИИИИИИИИИИИИИИИИИИИИИИИИИ ИИИТь=_=

Добавлено через 33 секунды
гкегнуе
0
20.10.2013, 00:21
 Комментарий модератора 
vikkysa, ответ на ваш вопрос по поводу удаления темы находится здесь.
Прекратите плодить жалобы.
0
1 / 1 / 0
Регистрация: 07.10.2013
Сообщений: 122
20.10.2013, 16:49  [ТС]
не вижу я тут ответа на мой вопрос.не могу я редактировать своё сообщение=_=
0
Почетный модератор
Эксперт HTML/CSSЭксперт PHP
 Аватар для KOPOJI
16844 / 6724 / 880
Регистрация: 12.06.2012
Сообщений: 19,967
20.10.2013, 20:14
Сообщения доступны к редактированию только в течении 5 минут. А правила стоит прочитать внимательно, не знаю даже, как вы не нашли там ответа
Сообщения и темы, а также другой контент, размещаемый на форуме, по просьбам пользователей не удаляется и не закрывается.
0
 Аватар для Дмытро
2 / 2 / 1
Регистрация: 01.04.2013
Сообщений: 259
24.01.2014, 15:40
У меня так получилось:
Кликните здесь для просмотра всего текста
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
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
 
namespace ConsoleApplication1
{
    class Program
    {
        static void Main(string[] args)
        {
            int[,] pol = new int[8, 8];
            //положение ферзя вводится парой координат от 1 до 8
            Console.WriteLine("Введите положение ферзя (через Enter):");
            int x = int.Parse(Console.ReadLine());
            int y = int.Parse(Console.ReadLine());
            //приводи координаты к виду от 0 до 7
            x--;
            y--;
            //забиваем массив 0
             for (int i = 0; i < 8; i++)
                for (int j = 0; j < 8; j++)
                {
                    pol[i, j] = 0;
                }
             //обозначаем положение ферзя и затем заполняем диогонали 1 в матрице
             if (Convert.ToBoolean(pol[x, y] = 2))
             {
                 for (int q = x - 1, w = y - 1; (q >= 0) && (w >= 0); q--, w--)
                     pol[q, w] = 1;
                 for (int q = x - 1, w = y + 1; (q >= 0) && (w < 8); q--, w++)
                     pol[q, w] = 1;
                 for (int q = x + 1, w = y - 1; (q < 8) && (w >= 0); q++, w--)
                     pol[q, w] = 1;
                 for (int q = x + 1, w = y + 1; (q < 8) && (w < 8); q++, w++)
                     pol[q, w] = 1;
             }
            //выводим матрицу
            for (int i=0;i<8;i++)
            {
                for (int j = 0; j < 8; j++)
                {
                    Console.Write("{0} ",pol[i,j]);
                }
                Console.WriteLine();
            }
            Console.ReadKey();
        }
    }
}

на 2 строки меньше))
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
24.01.2014, 15:40
Помогаю со студенческими работами здесь

Разместить на шахматной доске 8х8 максимальное количество ферзей
Помогите написать функцию в VBA Задача: разместить на шахматной доске 8х8 максимальное количество ферзей, так чтобы было одно...

Задется положение ферзя и любой другой фигуры на шахматной доске
Задется положение ферзя и любой другой фигуры на шахматной доске (8х8) по средствам ввода пользователя. В случае, если ферзь бьет эту...

На шахматной доске стоят 3 ферзя. Найдите те пары из них, которые угрожают друг другу
На шахматной доске стоят 3 ферзя. Найдите те пары из них, которые угрожают друг другу.(Ферзь может ходить по вертикали, горизонтали,...

Рекурсия: расстановка 8 коней на шахматной доске 8х8 так, чтобы они не били друг друга
Всем доброго времени суток! Долго лазила по просторам интернета, но так ничего путного и не нашла. Помогите, пожалуйста, решить...

На шахматной доске стоят три ферзя. найти ту пару из них которые угрожают друг другу!
помогите пожалуйста, или подскажите как начать)) на шахматной доске стоят три ферзя. найти ту пару из них которые угрожают друг другу!


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

Или воспользуйтесь поиском по форуму:
11
Ответ Создать тему
Опции темы

Новые блоги и статьи
Запрет удаления строк ТЧ документа при определенном условии
Maks 19.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "Аккумуляторы", разработанного в конфигурации КА2. У данного документа есть ТЧ, в которой в зависимости от прав доступа. . .
Модель заражения группы наркоманов
alhaos 17.04.2026
Условия задачи сформулированы тут Суть: - Группа наркоманов из 10 человек. - Только один инфицирован ВИЧ. - Колются одной иглой. - Колются раз в день. - Колются последовательно через. . .
Мысли в слух. Про "навсегда".
kumehtar 16.04.2026
Подумалось тут, что наверное очень глупо использовать во всяких своих установках понятие "навсегда". Это очень сильное понятие, и я только начинаю понимать край его смысла, не смотря на то что давно. . .
My Business CRM
MaGz GoLd 16.04.2026
Всем привет, недавно возникла потребность создать CRM, для личных нужд. Собственно программа предоставляет из себя базу данных клиентов, в которой можно фиксировать звонки, стадии сделки, а также. . .
Знаешь почему 90% людей редко бывают счастливыми?
kumehtar 14.04.2026
Потому что они ждут. Ждут выходных, ждут отпуска, ждут удачного момента. . . а удачный момент так и не приходит.
Фиксация колонок в отчете СКД
Maks 14.04.2026
Фиксация колонок в СКД отчета типа Таблица. Задача: зафиксировать три левых колонки в отчете. Процедура ПриКомпоновкеРезультата(ДокументРезультат, ДанныеРасшифровки, СтандартнаяОбработка) / / . . .
Настройки VS Code
Loafer 13.04.2026
{ "cmake. configureOnOpen": false, "diffEditor. ignoreTrimWhitespace": true, "editor. guides. bracketPairs": "active", "extensions. ignoreRecommendations": true, . . .
Оптимизация кода на разграничение прав доступа к элементам формы
Maks 13.04.2026
Алгоритм из решения ниже реализован на нетиповом документе, разработанного в конфигурации КА2. Задачи, как таковой, поставлено не было, проделанное ниже исключительно моя инициатива. Было так:. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru