Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.91/11: Рейтинг темы: голосов - 11, средняя оценка - 4.91
1 / 1 / 0
Регистрация: 07.10.2013
Сообщений: 122

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

18.10.2013, 00:01. Показов 2181. Ответов 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
Ответ Создать тему
Новые блоги и статьи
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает монорепозиторий в котором находятся все исходники. При создании нового решения, мы просто добавляем нужные проекты и имеем. . .
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение: В этой книге («Подход, основанный на вариантах использования») Ивар утверждает, что архитектура программного обеспечения — это структуры,. . .
Управление камерой с помощью скрипта OrbitControls.js на Three.js: Вращение, зум и панорамирование
8Observer8 05.03.2026
Содержание блога Финальная демка в браузере работает на Desktop и мобильных браузерах. Итоговый код: orbit-controls-threejs-js. zip. Сканируйте QR-код на мобильном. Вращайте камеру одним пальцем,. . .
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip На первой гифке отладочные линии отключены, а на второй включены:. . .
SDL3 для Web (WebAssembly): Идентификация объектов на Box2D v3 - использование userData и событий коллизий
8Observer8 02.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-collision-events-sdl3-c. zip Сканируйте QR-код на мобильном и вы увидите, что появится джойстик для управления главным героем. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru