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

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

Восстановить пароль Регистрация
Другие темы раздела
C++ Перевести с Паскаль на С++ http://www.cyberforum.ru/cpp-beginners/thread1580293.html
Само задание: вводить массив малых латинских букв, и отсортировать в алфавитном порядке program sort; var s:string; i,j:integer; c:char; begin write('string:'); readln(s); for i:=2 to length(s) do for j:=2 to length(s) do
C++ Как использовать оператор return? При запуске возникает ошибка, связанная с тем, что функция должна вернуть значение. Подскажите, что требуется подставить для return (строки 16 и 26)? #include <iostream> // Для ввода-вывода #include <locale> using namespace std; int main() { setlocale(LC_ALL, "Russian"); int n; // Порядок матрицы http://www.cyberforum.ru/cpp-beginners/thread1580267.html
C++ Обработка структур "Автомобили"
Здравствуйте, есть такое задание: Данные про автомобили включают в себя: модель, производителя, тип, год выпуска, дату регистрации и владельца(фио). Организовать массив для сохранения данных в виде заданной структуры и заполнить его данными с клавиатуры. Вывести сведения об автомобилях, зарегистрированных на протяжение заданного пользователем периода времени. Вывести данные об автомобилях для...
Найти минимальный элемент, больший -2, и поменять его с минимальным C++
Найти минимальный элемент, больший -2, заданного массива, и поменять его местами с последним. Поменять местами и найти минимальный вроде разобрался как, а как задать условие чтобы програма искала мин значение большее -2
C++ Продолжение без нажатия на Enter http://www.cyberforum.ru/cpp-beginners/thread1580260.html
В С++ совсем недавно, но интересно сделать вот что: Есть часть кода cout << "Для продолжения нажмите С: "; cin>> exit; if (exit != 'c' && exit != 'C') break; Хотелось бы сделать так, чтобы после нажатия на "С" не нужно было нажимать Enter, а программа сама считывала этот символ. Возможно?
C++ Срыв покровов Не знаю, может это я книги не тем местом читал, или просто торможу больше обычного, но вот что я узнал на днях, и немного офигел: 1) виртуальная функция, как и деструктор обьявляется виртуальной 1 раз в момент своего первого определения, после этого она всегда виртуальная(кроме замещений, но это понятно) 2) виртуальным функциям плевать на модификаторы доступа(это я про NVI и шаблонный метод),... подробнее

Показать сообщение отдельно
_Ivana
2185 / 1390 / 124
Регистрация: 01.03.2013
Сообщений: 4,136
Записей в блоге: 2
14.11.2015, 00:30     Вывести ромб (пустой внутри) символами *, используя всего один цикл for
Вот совсем без циклов (формально, фактически - линейно-итеративный алгоритм через хвостовую рекурсию)
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;}
На сэкономленный цикл можно купить мороженое
 
Текущее время: 01:40. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru