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

Програма для вывода узора в виде звездочек - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Статические массивы, члены класса http://www.cyberforum.ru/cpp-beginners/thread115281.html
необходимо создать статический массив. компилятор gcc #include<iostream> class c{ public: static const char x = "qwe"; }; int main(){ std::cout<<c::x;
C++ цикл в обратную польскую запись Смысл такой - на входе есть файл,где записан цикл.Программа должна преобразовать запись в обратную польску и записать в файл. Помогите с литературой или исходниками,которые могут помочь. Добавлено через 17 часов 25 минут опаньки) http://www.cyberforum.ru/cpp-beginners/thread115267.html
Заполнение массива по диагонали! C++
всем привет!помогите пожалуйста!не получается выстроить порядок! задача такая! заполнить массив 6*6 цыфрами от 1 до 21 по следущей схеме: 6 0 0 0 0 0 5 11 0 0 0 0 4 10 0 0 0 0 3 9 14 18 0 0 2 8 13 17 20 0 1 7 12 16 19 21 (нули по диагонали!)помогите,плиз)
C++ Как описывать функции, заданные в шаблоне класса, тип возвращаемого значения которых совпадает с именем класса
Здравствуйте. А как описывать функции, заданные в шаблоне класса, тип возвращаемого значения которых совпадает с именем класса? Более конкретно, где ошибка? template <class T> class А{ //..... public: //..... А operator+(А &a); }; template <class T> А А<T>::operator +(А &a){//вот здесь компилятор выдает ошибку
C++ заполнить массив 6*6 цифрами от 1 до 21 по следущей схеме... http://www.cyberforum.ru/cpp-beginners/thread115248.html
заполнить массив 6*6 цифрами от 1 до 21 по следущей схеме! 6 0 0 0 0 0 5 11 0 0 0 0 4 10 15 0 0 0 3 9 14 18 0 0 2 8 13 17 20 0 1 7 12 16 19 21 по диагонали нули!!!
 

Показать сообщение отдельно
Nameless One
Эксперт С++
 Аватар для Nameless One
5755 / 3404 / 255
Регистрация: 08.02.2010
Сообщений: 7,393
12.04.2010, 16:03     Програма для вывода узора в виде звездочек
Задаешь число в строке 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
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
#include <stdio.h>
#include <stdlib.h>
 
#define num 4
 
int main(void)
{
    int current_row=1, current_col=1, current_sym=1, col_size=num-1, last_col=num+1;
decision:
    if(current_row>num)
        goto end;
    if(current_col==last_col)
    {
        if(((current_col&1)&&(current_row==1))||((!(current_col&1))&&(current_row==num)))
            goto asterisk;
        else
        {
            current_sym=1;
            current_col=1;
            goto newline;
        }
    }
    else if(current_sym%col_size==1)
        goto asterisk;
    else if(((current_row==1)&&(!(current_col&1)))||((current_row==num)&&(current_col&1)))
        goto asterisk;
    else goto space;    
asterisk:
    printf("*");
    ++current_sym;
    if(current_sym>col_size)
    {
        ++current_col;
        current_sym=1;
    }
    if((current_col==last_col)&&(current_sym==2))
    {
        current_sym=1;
        current_col=1;
        goto newline;
    }
    goto decision;
space:
    printf(" ");
    ++current_sym;
    if(current_sym>col_size)
    {
        ++current_col;
        current_sym=1;
    }
    if((current_col==last_col)&&(current_sym==2))
    {
        current_sym=1;
        current_col=1;
        goto newline;
    }
    goto decision;
newline:
    printf("\n");
    ++current_row;
    goto decision;
end:
    system("pause");
    return 0;
}
Не знаю как и почему, но вроде работает:
http://codepad.org/7J8zKcDI

ЗЫ. Не имеет смысла задавать константу num меньше 3 (будет зацикливание). А если задать больше 9, то строка не влезет в стандартную ширину буфера консоли в 80 символов.
 
Текущее время: 18:54. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru