Форум программистов, компьютерный форум CyberForum.ru
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
-ExotiC-
1 / 1 / 0
Регистрация: 25.12.2012
Сообщений: 29
#1

Циклом for напечатать ромб - C++

27.12.2012, 22:41. Просмотров 994. Ответов 4
Метки нет (Все метки)

Напишите программу, которая напечатает следующий ромб. Вы можете использовать операторы вывода, которые печатают или одну звездочку (*), или один пробел. Максимально используйте повторение (с вложенными структурами for) и минимизируйте число операторов вывода.

Сам ромб - http://www.image.kg/images/2012/12/28/XfOMS.png

Так и не додумался как правильно выполнить задачу. Подскажите пожалуйста, заранее спасибо
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
27.12.2012, 22:41
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Циклом for напечатать ромб (C++):

Реализовать класс "Ромб"; организовать интерактивную демонстрацию работы с массивом объектов типа "Ромб" - C++
Пользователь вводит массив Ромбов Свойства: сторона и диагональ (меньшая) Операции:  увеличение/уменьшение размера на определенный...

Пытаюсь переписать код с циклом for, в код с циклом while, но не совсем получается - C++
Возникло пару вопросов: #include <iostream> using namespace std; int main () { for (int i = 0; i<=10; i++) cout <<...

ромб - C++
Вводится n-число линий. Нужно вывести ромб такого вида (n=7): #include <iostream> using namespace std; int main () { int z = 1,...

Изобразить ромб - C++
Задано целое число. Используя средства стандартного ввода-вывода, изобразить на экране ромб, меньшая диагональ которого равна заданному...

Нарисовать ромб из звездочек - C++
Напишите программу, которая напечатает следующий ромб. Вы можете использовать операторы вывода, которые печатают или одну звездочку (*),...

Попадание точки в ромб - C++
Определить попадает ли в выделенную область (рисунок). Нашел вот такую формулу для ромба: a * |Yt|+b * |Xt|<a * b; где A= y2 - y1; B= - (x2...

4
Tiva
94 / 94 / 1
Регистрация: 25.04.2012
Сообщений: 429
27.12.2012, 23:03 #2
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
#include <iostream>
using namespace std;
int main(void)
{
    bool map[9][9]=
   {{0,0,0,0,1,0,0,0,0},
    {0,0,0,1,1,1,0,0,0},
    {0,0,1,1,1,1,1,0,0},
    {0,1,1,1,1,1,1,1,0},
    {1,1,1,1,1,1,1,1,1},
    {0,1,1,1,1,1,1,1,0},
    {0,0,1,1,1,1,1,0,0},
    {0,0,0,1,1,1,0,0,0},
    {0,0,0,0,1,0,0,0,0}};
    for(int i=0; i<9; i++)
    {
        for(int j=0; j<9; j++)
        {
            if(map[i][j]) cout<<"*";
            else cout<<" ";
        }
        cout<<endl;
    }
}
нарисуйте карту, и заполняйте символами по ней
1
scofielcl
4 / 4 / 0
Регистрация: 11.09.2011
Сообщений: 145
27.12.2012, 23:17 #3
"Верхушка" , подумаю еще над оставшейся частью.
C++
1
2
3
4
5
6
7
void romb(int b,int a){
    for(int i=b;i<a;i++)cout<<" ";
    for(int i=0;i<=b*2;i++)cout<<"*";
    cout<<"\n";
    if(b<a)romb(b=b+1,a);
    
}
1
Avazart
Эксперт С++
7213 / 5385 / 286
Регистрация: 10.12.2010
Сообщений: 23,797
Записей в блоге: 17
28.12.2012, 02:20 #4
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
using namespace std;
//---------------------------------------------------------------------------
void spaces(size_t n)
{
    for(;n--;) cout<<" ";
}
//---------------------------------------------------------------------------
void stars(size_t n)
{
    for(;n--;) cout<<"*";
}
//---------------------------------------------------------------------------
int main()
{
using namespace std;
 
size_t offset= 5;
size_t count= 1;
int k=1;
 
for(;offset!=6 || k!=-1;)
 {
     spaces(offset);
     stars(count);
     cout<<endl;
 
     offset-=k;
     count+=k*2;
 
     if(!offset) k=-1;
 }
 
system("pause");
return 0;
}
//---------------------------------------------------------------------------
1
MrGluck
Модератор
Эксперт CЭксперт С++
7278 / 4439 / 650
Регистрация: 29.11.2010
Сообщений: 12,017
28.12.2012, 02:29 #5
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#include <iostream>
 
int main()
{
    bool up = true;
    int spaces = 4;
    int stars = 1;
    for (int i=0; i < 9; i++)
    {
        for (int j = 0; j < spaces; j++)
            std::cout << ' ';
        for (int j = 0; j < stars; j++)
            std::cout << '*';
        std::cout << std::endl;
        up ? (spaces--, stars += 2) : (spaces++, stars -= 2);
        if (spaces == 0) up = !up;
    }
}
1
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
28.12.2012, 02:29
Привет! Вот еще темы с ответами:

Вывести символами ромб - C++
Доброго времени суток, каким образом нужно заполнить двухмерный массив что бы при выводе был ромб из звездочек размером например...

Нарисовать ромб с диагональю - C++
Помогите, пожалуйста, нарисовать ромб с диагональю: * * * * * * * * * * *

Ромб в множественном наследовании - C++
Добрый день ! Не помню как устранить проблему ромба в множественном наследовании. Вроде нужно втулить куда-то слово виртуал 2...

Вывести пустой ромб из слэшей - C++
Здравствуйте. Нужно вывести пустой ромбик из слешей в С++. Использовать только циклы for (вложеные тоже), если нужно if switch while....


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

Или воспользуйтесь поиском по форуму:
5
Yandex
Объявления
28.12.2012, 02:29
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru