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

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

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

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

12.08.2009, 10:40. Просмотров 996. Ответов 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 не получается...
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
12.08.2009, 10:40
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Координаты для вывода массива (C++):

Почему не работает цикл while для заполнения и do while для вывода массива? - C++
//--------------------------------------------------------------------------- #include &lt;vcl.h&gt; #include &lt;conio.h&gt; #include...

Функция для вывода массива - C++
Проблема с написанием функции для вывода массива. Ошибка error C2664: невозможно преобразовать параметр 1 из &quot;int&quot; в &quot;int &quot; ...

Текст программы для вывода массива - C++
Добрый вечер всем! Подскажите, пожалуйста, текст программы для вывода массива: 8 7 7 7 6 6 6 6 6 5 5 5 5 5 5 5 4 4 4 4 ...

Использование условий для изменения элементов массива и вывода их на экран - C++
Данный массив действительных чисел. а) До всех отрицательных элементов добавить элемент номером а1, из всех нулевых вычесть число b....

Использование условий для изменения элементов массива и вывода их на экран - C++
Задан массив. Вывести на экран сначала его парные элементы, затем нечетные

Создать перегруженную функцию для вывода нечетных элементов массива - C++
Сделать через перегруженную функцию: Задан массив целых чисел. Вывести на экран элементы, являющиеся нечетными числами. Реализовать для...

10
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);
}
1
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;
}
0
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";
0
-=ЮрА=-
Заблокирован
Автор 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);
    }
}
0
Изображения
 
delias
4 / 4 / 0
Регистрация: 16.07.2009
Сообщений: 87
12.08.2009, 15:34  [ТС] #6
Цитата Сообщение от zim22 Посмотреть сообщение
при переходе на новую строку позиция по X сбрасывается в ноль. необходимо заново её выставлять.
спасибо, теперь дошло

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

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

Не по теме:

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

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

Перегрузка оператора вывода в С++ (для вывода данных вектора) - C++
Как правильно перегрузить оператор вывода для вектора чтобы он выводил все данные из вектора ? Для этого класса есил можно помогите. ...

Написать программу, которая должна включать функции для: - вывода шапки таблицы; - вывода данных одной строки - C++
Написать программу, которая должна включать функции для: - вывода шапки таблицы; - вывода данных одной строки таблицы; - ввода и...

Для вывода матрицы на экран использовать рекурсивную функцию вывода одной строки матрицы - C++
Рекурсивная функция в С++. срочно! ДЛЯ вывода матрицы на экран построчно использовать РЕКУРСИВНУЮ функцию вывода на экран одномерного...

Класс vector (поля: координаты, 2 конструктора, метод нахождения длины вектора и метод вывода координат на экран) - C++
Здравствуйте , помогите пожалуйста с заданием. Организовать класс Вектор на плоскости – поля: координаты, 2 конструктора, метод...


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

Или воспользуйтесь поиском по форуму:
11
Yandex
Объявления
07.10.2009, 16:26
Ответ Создать тему
Опции темы

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