Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 08.04.2013, 17:11   #11
BDA
МегаМодератор
СуперМодератор
 
Аватар для BDA
 
Регистрация: 09.11.2010
Сообщений: 7,291
По умолчанию

Ну хорошо, общими усилиями большее из запрошенного реализовано.
Код:
#include "stdafx.h"

#define s 8

int
main()
{
    int p, q, i, j;
    scanf("%d%d", &p, &q);
    --p;
    --q;
    char a[s][s];
    for (i = 0; i < s; ++i) {
        for (j = 0; j < s; ++j) {
            a[i][j] = '0';
        }
    }
    for (i = 0; i < s; ++i) {
        a[i][q] = '*';
        a[p][i] = '*';
        if (p - q + i > -1 && p - q + i < s)
            a[p - q + i][i] = '*';
        if (p + q - i > -1 && p + q - i < s)
            a[p + q - i][i] = '*';
    }
    a[p][q] = 'F';
    for (i = 0; i < s; ++i) {
        for (j = 0; j < s; ++j) {
            printf("%c", a[i][j]);
        }
        printf("\n");
    }
    return 0;
}
Пишите язык программирования - это форум программистов, а не экстрасенсов. (<= это подпись )
BDA на форуме Ответить с цитированием
Старый 08.04.2013, 17:51   #12
constant94
Заблокирован
 
Регистрация: 07.04.2013
Сообщений: 9
По умолчанию

Огромное Вам спасибо.
constant94 вне форума Ответить с цитированием
Старый 08.04.2013, 17:59   #13
constant94
Заблокирован
 
Регистрация: 07.04.2013
Сообщений: 9
По умолчанию

А вы можите пожалуйста написать коментарии к коду, пожалуйста , а то не понятно((

Код:
for (i = 0; i < s; ++i) {
        a[i][q] = '*';
        a[p][i] = '*';
        if (p - q + i > -1 && p - q + i < s)
            a[p - q + i][i] = '*';
        if (p + q - i > -1 && p + q - i < s)
            a[p + q - i][i] = '*';
constant94 вне форума Ответить с цитированием
Старый 08.04.2013, 18:42   #14
Abstraction
Старожил
 
Аватар для Abstraction
 
Регистрация: 25.10.2011
Сообщений: 3,178
По умолчанию

Цитата:
Сообщение от constant94 Посмотреть сообщение
А вы можите пожалуйста написать коментарии к коду, пожалуйста , а то не понятно((

Код:
for (i = 0; i < s; ++i) {
        a[i][q] = '*';
        a[p][i] = '*';
        if (p - q + i > -1 && p - q + i < s)
            a[p - q + i][i] = '*';
        if (p + q - i > -1 && p + q - i < s)
            a[p + q - i][i] = '*';
Это совмещение четырёх циклов:
Код:
//Горизонталь '*'
for(i=0; i<s; ++i){
  a[p][i] = '*';
}

//Вертикаль *
for(i=0; i<s; ++i){
  a[i][q] = '*';
}

//Диагональ "лево-верх" - "право-низ"
for(i=0; i<s; ++i){
  //На i-ой вертикали, '*' находится в горизонтали p - q + i
  //Пропускаем, если горизонталь выше 0 или ниже (s-1)
  if (p - q + i > -1 && p - q + i < s)
    a[p - q + i][i] = '*';
}
//Аналогично, диагональ "лево-низ" - "право верх"
//...
Abstraction вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Наложение текстур на шахматную доску vampik Общие вопросы C/C++ 5 23.01.2013 19:02
задача про шахматную доску Katrina* Паскаль, Turbo Pascal, PascalABC.NET 2 21.12.2011 09:38
Задача про шахматную доску, Паскаль Locksmaster Помощь студентам 2 02.11.2011 12:45
Задача про шахматную доску aiktz Помощь студентам 6 13.03.2009 11:53