нарисовать ромб

  • Автор темы ArniLand
  • Дата начала
A

ArniLand

#1
Нужно нарисовать ромб используя символ * и цикл for. Ромб должен быть закрашен символами *. Как понимаю опять нужно использовать цикла for, один вложенный, рисовать отдельно символ пробела и *. Не могу понять как взаимо связать это. Просьба код за меня писать, сам хочу научится.
 

lazybiz

Well-known member
03.11.2010
1 339
0
#2
Да, нужен вложенный цикл типа:
C++:
for ( i = 0; i < 11; i++ ) {
for ( j = 0; j < 11; j++ ) {
}
}
 
I

ierofant

#3
Без кода слишком долго и муторно объяснять.Лучше на примере чего-то.
Вот треугольник из N рядов для примера. Это может быть верхней частью вашего ромба.
C++:
#include <iostream>

static const int N = 10;

int main ()
{
for (int i = 0; i < N; i++)
{
for (int ii = 0; ii < (N - i); ii++) std::cout << " ";
for (int ii = 0; ii < (2 * i + 1); ii++) std::cout << "*";
for (int ii = 0; ii < (N - i); ii++) std::cout << " ";
std::cout << std::endl;
}
return 0;
}
 

lazybiz

Well-known member
03.11.2010
1 339
0
#4
Ну раз на то пошло.
C++:
#include <stdio.h>

#define	SIZE		20
#define	ABS( a )	((a) < 0 ? -(a) : (a))

int main()
{
int	i, j;
for ( i = 0; i <= SIZE * 2; i++ ) {
for ( j = 0; j <= SIZE * 2; j++ ) {
printf( "%c", ABS( i - SIZE ) + ABS( j - SIZE ) <= SIZE ? '*' : ' ' );
}
printf( "\n" );
}
return 0;
}
(внес небольшие модификации)
(опять внес небольшие изменения)
 
I

ierofant

#6
На пальцах нельзя научится программированию.