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

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

Войти
Регистрация
Восстановить пароль
 
delias
4 / 4 / 0
Регистрация: 16.07.2009
Сообщений: 87
#1

Координаты для вывода массива - C++

12.08.2009, 10:40. Просмотров 967. Ответов 10
Метки нет (Все метки)

Товарищи, помогите массив вывести в координатах.
Делаю так:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
HANDLE console = GetStdHandle(STD_OUTPUT_HANDLE);
COORD coord = {50,50};
 
const int y=3,x=3;
int a[3][3]={1,1,1,1,1,1,1,1,1};
int i, j;
SetConsoleCursorPosition(console, coord);
for (i=0;i<y;i++)
{   
    for (j=0;j<x;j++)
    {
        
        cout<<a[i][j]<<"\t";
        
    }
    cout<<"\n\n";
}
но выводится только лишь первая строка массива по координате. остальные опять с начала строки. если SetConsoleCursorPosition(console, coord); прописать в самом цикле перед cout, то всё записывается в одну координату, т.е. тоже не правильно
т.е. по Y всё смещается без проблем, а вот по X не получается...
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
12.08.2009, 10:40     Координаты для вывода массива
Посмотрите здесь:

C++ Текст программы для вывода массива
C++ Использование условий для изменения элементов массива и вывода их на экран
Использование условий для изменения элементов массива и вывода их на экран C++
C++ Координаты нахождения массива A в массиве B
C++ Функция для вывода массива
C++ как передать в функцию координаты массива?
Не работает функция вывода массива C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
zim22
depict1
276 / 141 / 2
Регистрация: 11.07.2009
Сообщений: 606
12.08.2009, 10:50     Координаты для вывода массива #2
Цитата Сообщение от delias Посмотреть сообщение
т.е. по Y всё смещается без проблем, а вот по X не получается...
при переходе на новую строку позиция по X сбрасывается в ноль. необходимо заново её выставлять.
***
вот функция Dmi3ev'a
C++
1
2
3
4
5
6
7
8
9
void my_gotoxy(int x, int y)
{
    HANDLE hConsole;
    hConsole = GetStdHandle(STD_OUTPUT_HANDLE);
    COORD mycoord;
    mycoord.X=x;
    mycoord.Y=y;
    SetConsoleCursorPosition(hConsole, mycoord);
}
delias
4 / 4 / 0
Регистрация: 16.07.2009
Сообщений: 87
12.08.2009, 11:07  [ТС]     Координаты для вывода массива #3
так тоже нет искомого результата (или я не правильно Х задал после перевода на нов строку):
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
HANDLE console = GetStdHandle(STD_OUTPUT_HANDLE);
COORD mycoord;
mycoord.X=50;
mycoord.Y=50;
const int y=3,x=3;
int a[3][3]={1,1,1,1,1,1,1,1,1};
int i, j;
SetConsoleCursorPosition(console, mycoord);
for (i=0;i<y;i++)
{   
    for (j=0;j<x;j++)
    {
        
        cout<<a[i][j]<<"\t";
        
    }
    cout<<"\n\n";
    mycoord.X=50;
}
zim22
depict1
276 / 141 / 2
Регистрация: 11.07.2009
Сообщений: 606
12.08.2009, 11:10     Координаты для вывода массива #4
C++
1
2
3
4
my_gotoxy(10,10);
std::cout << "hello\n";
my_gotoxy(10,11);
std::cout << "my\n";
-=ЮрА=-
Заблокирован
Автор FAQ
12.08.2009, 11:23     Координаты для вывода массива #5
Оснастил консольку маленким наворотом (цветная она теперь), надеюсь поможет
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
#include <windows.h>
#include <iostream.h>
 
void main()
{
    cout<<"\tMassiv :\r\n\r\n";
    HANDLE hOutput = GetStdHandle(STD_OUTPUT_HANDLE);
    CONSOLE_SCREEN_BUFFER_INFO SCRN_INFO;
    GetConsoleScreenBufferInfo(hOutput, &SCRN_INFO);
    
    COORD POS;
    POS.X = -1;
    POS.Y = -1;
 
    FillConsoleOutputCharacter(hOutput, ' ',
    SCRN_INFO.dwSize.X*SCRN_INFO.dwSize.Y, POS, NULL);
    FillConsoleOutputAttribute(hOutput, 
        FOREGROUND_RED | FOREGROUND_GREEN | FOREGROUND_BLUE /*цвет*/, 
        SCRN_INFO.dwSize.X*SCRN_INFO.dwSize.Y,POS,NULL);
 
    SetConsoleTextAttribute(hOutput,FOREGROUND_GREEN|FOREGROUND_INTENSITY);
    SetConsoleCursorPosition(hOutput,POS);
 
    int cx = 3,cy = 3;
    int a[3][3] = {1,2,3,4,5,6,7,8,9};
    for (int i = 0,j;i < cx;i++)
    {       
        POS.X = i;
        for (j = 0;j < cy;j++)
        {
            POS.Y = j;
            cout<<a[i][j]<<"\t";
                
        }
        cout<<"\n\n";
        SetConsoleCursorPosition(hOutput,POS);
    }
}
Изображения
 
delias
4 / 4 / 0
Регистрация: 16.07.2009
Сообщений: 87
12.08.2009, 15:34  [ТС]     Координаты для вывода массива #6
Цитата Сообщение от zim22 Посмотреть сообщение
при переходе на новую строку позиция по X сбрасывается в ноль. необходимо заново её выставлять.
спасибо, теперь дошло

спасибо всем
gorin
207 / 14 / 2
Регистрация: 18.08.2009
Сообщений: 571
18.08.2009, 21:21     Координаты для вывода массива #7
Прива всем помогите ктото зделать прграму на тему "Програмування операцій з двовимірними масивами"

Задача
У матриці А(mxn) знайти кількість та суму парних елементів.
insolent
19.08.2009, 00:12
  #8

Не по теме:

gorin, юзай поиск, решение таких задач на форуме масса..

delias
4 / 4 / 0
Регистрация: 16.07.2009
Сообщений: 87
07.10.2009, 16:19  [ТС]     Координаты для вывода массива #9
Ребят, такой вот ещё вопрос.
перед выводом нужно уменьшить координату на 3, как упростить такую запись:
coord3.Y--;
coord3.Y--;
coord3.Y--;
Gravity
557 / 551 / 39
Регистрация: 29.01.2009
Сообщений: 1,274
07.10.2009, 16:20     Координаты для вывода массива #10
coord3.Y -= 3;
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
07.10.2009, 16:26     Координаты для вывода массива
Еще ссылки по теме:

C++ Почему не работает цикл while для заполнения и do while для вывода массива?
Ошибка вывода 2мерного массива C++
C++ Создать перегруженную функцию для вывода нечетных элементов массива
Функции заполнения и вывода массива C++
C++ Ошибка в цикле вывода одномерного массива

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

Или воспользуйтесь поиском по форуму:
delias
4 / 4 / 0
Регистрация: 16.07.2009
Сообщений: 87
07.10.2009, 16:26  [ТС]     Координаты для вывода массива #11
премного благодарен.
Yandex
Объявления
07.10.2009, 16:26     Координаты для вывода массива
Ответ Создать тему
Опции темы

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