Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.72/18: Рейтинг темы: голосов - 18, средняя оценка - 4.72
0 / 0 / 1
Регистрация: 10.11.2015
Сообщений: 16

Вывести ромб (пустой внутри) символами *, используя всего один цикл for

13.11.2015, 20:29. Показов 3691. Ответов 2
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Вывести ромб (пустой внутри) символами *, используя всего один цикл for. На вход подаётся число: сторона квадрата (ромб рисуется в квадрате).
Если это чётное значение, например 4, то вывод должен выглядеть так:
C++
1
2
3
4
 **
*  *
*  *
 **
Всё перепробовал, с одним циклом ну никак не получается.
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
13.11.2015, 20:29
Ответы с готовыми решениями:

вывести на экран ромб из звездочек не используя цикл т.е. рекурсией
Привет, помогите пожалуйста начинающему программисту в джава вывести на экран ромб из звездочек не используя при этом циклы, т.е. методом...

Вывести ромб символами
помогите написать программу на c++. нужно символами вывести ромб, размером 79*23 ...

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

2
4949 / 2289 / 287
Регистрация: 01.03.2013
Сообщений: 5,991
Записей в блоге: 32
14.11.2015, 00:30
Вот совсем без циклов (формально, фактически - линейно-итеративный алгоритм через хвостовую рекурсию)
C++
1
2
3
4
5
6
7
8
9
10
11
#include <iostream>
using namespace std;
 
void f(int n, int i) {
    if (i==n*n) return;
    int r=i/n, c=i%n, x=n-1, h=x/2;
    cout<<(i && !c ? "\n" : "");
    cout<<((r+c-h) * (r+c-2*x+h) * (r-c-x+h) * (c-r-x+h) ? ' ' : '*');
    f(n, i+1);
}
int main() {int n; cin>>n; f(n,0); return 0;}
На сэкономленный цикл можно купить мороженое
1
0 / 0 / 1
Регистрация: 10.11.2015
Сообщений: 16
14.11.2015, 10:39  [ТС]
_Ivana, Огромное спасибо, всё работает. А можете немного подробнее объяснить как это работает

Добавлено через 4 часа 3 минуты
_Ivana, Что означают эти переменные?
C++
1
int r=i/n, c=i%n, x=n-1, h=x/2;
И не понятна эта строчка
C++
1
cout<<((r+c-h) * (r+c-2*x+h) * (r-c-x+h) * (c-r-x+h) ? ' ' : '*');
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
14.11.2015, 10:39
Помогаю со студенческими работами здесь

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

Вывести на экран числа в виде таблицы, используя один цикл
Хау. Нужно вывести на экран числа в виде таблицы, используя один цикл. 1 2 .... 10 1 2 .... 10 1 2 ...

Используя один цикл, вывести все целые степени числа A от 1 до N.
Дано вещественное число A и целое число N (&gt; 0). Используя один цикл, вывести все целые степени числа A от 1 до N. cherez for!!!please...

Вывести на экран квадратную матрицу, используя один цикл, а не два
#include&lt;stdio.h&gt; #include&lt;stdlib.h&gt; #define N 2 #define M 2 void in_mas(int *l,int n){ int i; for (i=0;i&lt;n;i++) ...

Дано вещественное число А и целое число N(>0) Используя один цикл, вывести целые степени числа А от 1 до N
5. Дано вещественное число А и целое число N(&gt;0). Используя один цикл, вывести целые степени числа А от 1 до N.


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

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Новые блоги и статьи
Архитектура слоя интернета для сервера-слоя.
Hrethgir 11.04.2026
В продолжение https:/ / www. cyberforum. ru/ blogs/ 223907/ 10860. html Знаешь что я подумал? Раз мы все источники пишем в голове ветки, то ничего не мешает добавить в голову такой источник, который сам. . .
Подстановка значения реквизита справочника в табличную часть документа
Maks 10.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: при выборе сотрудника (справочник Сотрудники) в ТЧ документа. . .
Очистка реквизитов документа при копировании
Maks 09.04.2026
Алгоритм из решения ниже применим как для типовых, так и для нетиповых документов на самых различных конфигурациях. Задача: при копировании документа очищать определенные реквизиты и табличную. . .
модель ЗдравоСохранения 8. Подготовка к разному выполнению заданий
anaschu 08.04.2026
https:/ / github. com/ shumilovas/ med2. git main ветка * содержимое блока дэлэй из старой модели теперь внутри зайца новой модели 8ATzM_2aurI
Блокировка документа от изменений, если он открыт у другого пользователя
Maks 08.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа, разработанного в конфигурации КА2. Задача: запретить редактирование документа, если он открыт у другого пользователя. / / . . .
Система безопасности+живучести для сервера-слоя интернета (сети). Двойная привязка.
Hrethgir 08.04.2026
Далее были размышления о системе безопасности. Сообщения с наклонным текстом - мои. А как нам будет можно проверить, что ссылка наша, а не подделана хулиганами, которая выбросит на другую ветку и. . .
Модель ЗдрввоСохранения 7: больше работников, больше ресурсов.
anaschu 08.04.2026
работников и заданий может быть сколько угодно, но настроено всё так, что используется пока что только 20% kYBz3eJf3jQ
Дальние перспективы сервера - слоя сети с космологическим дизайном интефейса карты и логики.
Hrethgir 07.04.2026
Дальнейшее ближайшее планирование вывело к размышлениям над дальними перспективами. И вот тут может быть даже будут нужны оценки специалистов, так как в дальних перспективах всё может очень сильно. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru