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

выравнивание при печати - C++

Восстановить пароль Регистрация
 
KostyaKulakov
Заблокирован
15.08.2012, 19:18     выравнивание при печати #1
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
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
#include <ctime>
#include <iostream>
#include <Windows.h>
#include <conio.h>
using namespace std;
 
void print (int numbers[], unsigned const int size);
 
int main()
{
    unsigned const int size = 15;
 
    int numbers[size+2];
 
    srand(time(0));
    
    bool result = true;
 
    int Temp=0;
    int Temp1=15;
    int Temp2=0;
 
    int random;
    //generic
 
    for(int i=0; i < size; i++)
    {
        cout << "Please wait: " << size-i << " secund" << endl;
        random = rand()%size+1;
        result = true;
 
        for (int k=0; k < i+1; k++)
        {
            if(numbers[k] == random)
            {
                i--;
                result = false;
                system("cls");
            }
        }
        if(result == true)
        {
        numbers[i] = random;
 
        Sleep(1000);
 
        system("cls");
        }
    }
 
    system("cls");
 
    numbers[size] = '\0';
 
    print (numbers, size);
 
    while(true)
    {
        cout << "Press a key" << endl;
 
        int key = _getch();
    
        if (key == 224)
        {
            int code = _getch();
        
            switch (code)
            {
                case 75:
                    system("cls");
                    cout << "Arrow Left" << endl;
                    Temp = numbers[Temp1-1];
                    numbers[Temp1-1] = '\0';
                    numbers[Temp1] = Temp;
                    Temp1 -= 1;
                    print (numbers, size);
                
                    break;
                case 72:
                    system("cls");
                    cout << "Arrow Up" << endl;
                    Temp = numbers[Temp1-4];
                    numbers[Temp1-4] = '\0';
                    numbers[Temp1] = Temp;
                    Temp1 -= 4;
                    print (numbers, size);
                    break;
                case 77:
                    system("cls");
                    cout << "Arrow Right" << endl;
                    Temp = numbers[Temp1+1];
                    numbers[Temp1+1] = '\0';
                    numbers[Temp1] = Temp;
                    Temp1 += 1;
                    print (numbers, size);
                    break;
                case 80:
                    system("cls");
                    cout << "Arrow Down" << endl;
                    Temp = numbers[Temp1+4];
                    numbers[Temp1+4] = '\0';
                    numbers[Temp1] = Temp;
                    Temp1 += 4;
                    print (numbers, size);
                    break;
                default:
                    cout << "Not an arrow key" << endl;
            }
        }
    }
 
}
 
void print(int numbers[], unsigned const int size)
{
    int shift=0;
 
    for(int i=0; i < size+1; i++)
    {
        cout << "[" << numbers[i] << "]" << ' ';
        shift++;
        
        if(shift == 4)
        {
        cout << endl;
        shift = 0;
        }
    }
}
нужно чтобы функция print выводило всё красиво. а не криво накась незнаю как сделать

Добавлено через 12 минут
всё сделал можно удалять
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
15.08.2012, 19:18     выравнивание при печати
Посмотрите здесь:

C++ Выравнивание структур
Выравнивание компонентов при изменении размеров главного окна C++
Составить программу вычисления и печати таблицы значений функции при заданных значениях параметров C++
Выравнивание при динамическом выделении памяти под массив C++
Выравнивание C++
C++ Составить программу вычисления и печати таблицы значений функции при заданных значениях параметров
C++ Сортировка в структуре - зависание при печати

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
nexen
15.08.2012, 19:21
  #2

Не по теме:

Люди, пожалуйста, если вы "допираете" до решения своей проблемы, то отпишитесь хотя бы, как вы её решили. Часто бывает такое, что, нахожу тему с "моей" проблемой, а там оказывается, что автор сам решил проблему, но не отписал, как он её решил. Обидно выходит, правда ;<

KostyaKulakov
Заблокирован
15.08.2012, 19:22  [ТС]     выравнивание при печати #3
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
void print(int numbers[], unsigned const int size)
{
    int shift=0;
 
    for(int i=0; i < size+1; i++)
    {
        if(numbers[i] < 10)
            cout << " " << setw(2) << setfill(' ') << "[ " << numbers[i] << "]";
 
        else
            cout << setw(2) << setfill(' ') << "[" << numbers[i] << "]";
 
        shift++;
        
        if(shift == 4)
        {
        cout << endl;
        shift = 0;
        }
    }
}
Yandex
Объявления
15.08.2012, 19:22     выравнивание при печати
Ответ Создать тему
Опции темы

Текущее время: 09:09. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru