Форум С++

 

Ответить на сообщение

Вернуться к теме

Вы отвечаете на сообщение:

Автор: cheops   (13.01.2012 в 11:43)
Подход верный... только не следует забывать, что любую сложную фигуру лучше трианглурировать, т.е. думать о ней как о нескольких треугольниках. Так ромб - это четыре прямоугольных треугольника, значит у нас будет минимум 4 частных случая.
#include <stdio.h>
#include <iostream>
using namespace std;

int main()
{
  int i, j, N = 11;
  int center = N / 2;
  for(i = 0; i < N; i++)
  {
    for(j = 0; j < N; j++)
    {
      if(i <= center)
      {
        // Верхняя половина ромба
        if(j >= center - i && j <= center + i)
          cout << "*";
        else
          cout << " ";
      }
      else
      {
        // Нижняя половина ромба
        if(j >= center + i - N + 1 && j <= center - i + N - 1)
          cout << "*";
        else
          cout << " ";
      }
    }
    cout << endl;
  }
  system("PAUSE");
  return 0;
}


Ваше имя:

Пароль:

Цитировать

Используйте тэги для выделения текста:
Код: [code][/code]
Жирный: [b][/b]
Наклонный: [i][/i]
URL: [url][/url]

Сообщение:

Прикрепить: