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

Не могу разобраться с gotoxy(y,x) - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Передача массива символов в функцию strlen после создания его функцией sprintf http://www.cyberforum.ru/cpp-beginners/thread1106459.html
Если вводится 1 символ, выводится "8", 2 символа - "9". И так далее. Почему? Это нормально? Задание требует преобразование long double в массив символов. #include <iostream> #include <stdio.h> #include <cstring> using namespace std; int main()
C++ Универсальная функция для приема разных двумерных массивов В программе у меня много двумерных массивом разной размерности. Мне нужна одна функция (общая) чтобы работала на все массивы. Функция простая, просто выводит эл. массива на экран. Но она должна быть универсальная ( подходить ко всем не зависимо от размера массива) Это надо сделать как-то через указатели. void printar ( int (*a), int n , int m); // обьявил прототип. void main() { ... http://www.cyberforum.ru/cpp-beginners/thread1106454.html
C++ Не работает код
#include <iostream> #include <fstream> #include <map> #include <string> using namespace std; multimap <string, pair<string,int> > tovar; multimap <string, pair<string,int> >::iterator p;
Массивы и указатели. Динамическая память C++
Нужно вывести на экран максимальные элементы в каждом столбце двумерного массива (матрицы). Решить с помощью указателей. Ошибка которая возникает: Когда ввожу например размерность 3 и пишу 4ый элемент, то есть заполняю следующую строчку, то программа зависает. Помогите исправить ошибку. И еще я вроде считаю почти везде адреса, а не сами значения. Каким образом можно это все исправить? ...
C++ Аналогия string http://www.cyberforum.ru/cpp-beginners/thread1106386.html
Здравствуйте. Получил задание реализовать класс string. Столкнулся с проблемой, при перегрузке оператора вывода в поток <<. Если строка не пустая, то я в поток помещаю строку. Но как мне добиться такого же результата, как в string, когда строку пуста?
C++ Метод параболической аппроксимации Не могу разобраться, надо составить код задачи : Дана производственная функция общего вида R(x)=D sin(A xB+С), где коэффициенты имеют значения: A=1; B=1; C=5; D=1;eps=0.02 Требуется найти значения плана х*, R(x), на отрезке , где a=4,2; b=7,5 и кол-во итераций методом параболической аппроксимации, при котором функция принимает экстремальное значение. подробнее

Показать сообщение отдельно
Pxinxs
0 / 0 / 0
Регистрация: 01.04.2013
Сообщений: 32
27.02.2014, 00:28     Не могу разобраться с gotoxy(y,x)
Вот мой код. Но дело в том, что gotoxy(y,x) выдает ошибку! ('gotoxy' is undefined). Библиотеку тоже подключил. Подскажите в чем проблема?
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
130
131
132
133
134
135
ude <iostream>
#include <conio.h>
#include <Windows.h>
#include <time.h>
using namespace std;
 
const int sizeH = 20;
const int sizeV = 60;
int x=10,y=30; //начальное положение змейки
int food_x, food_y; //координаты еды
 
void Show(int arr[sizeH][sizeV]);
void dvizhenie(int arr[sizeH][sizeV], int b);
void mezhi(int arr[sizeH][sizeV]);
void polojit_plus (int arr[sizeH][sizeV]);
 
 
void main()
{
    int mas[sizeH][sizeV];
    for (int i=0; i<sizeH; ++i)
    {
        for (int j=0; j<sizeV; ++j)
        {
            mas[i][j]=0;
        }
    }
    mas[x][y]=1;    
    Show(mas);
    while (true)
    {
        int b=_getch();
        system("cls");
        dvizhenie(mas,b);
        mezhi(mas);
        Show(mas);
    }
}
 
void Show(int arr[sizeH][sizeV])
{   
    for (int i=0; i<sizeH; ++i)
    {
        for (int j=0; j<sizeV; ++j)
        {
            //arr[i][j]=0;
            //arr[5][5]=1;
            if (arr[i][j]==1)
                cout<<'*';
            else if (i==0 && j==0)
                cout<<"*";
            else if (i==0 && j==59)
                cout<<"*";
            else if (i==19 && j==59)
                cout<<"*";
            else if (i==19 && j==0)
                cout<<"*";
            else if (i==0)
                cout<<"-";
            else if (j==0)
                cout<<"|";
            else if (i==19)
                cout<<"-";
            else if (j==59)
                cout<<"|";
            else 
                cout<<" ";
        }
        cout<<endl;
    }
}
 
void dvizhenie(int arr[sizeH][sizeV], int a)
{
    switch(a)
    {
    case 72:
        arr[x][y]=0;
        x--;
        arr[x][y]=1; 
        break;
    case 80:
        arr[x][y]=0;
        x++;
        arr[x][y]=1; 
        break;
    case 75:
        arr[x][y]=0;
        y--;
        arr[x][y]=1; 
        break;
    case 77:
        arr[x][y]=0;
        y++;
        arr[x][y]=1; 
        break;
    }
}
 
void mezhi(int arr[sizeH][sizeV])
{
    for (int i=0; i<sizeH; ++i)
    {
        for (int j=0; j<sizeV; ++j)
        {
            if (arr[i][j]==1)
            {
                x=i;
                y=j;
 
                if (arr[x][y]==arr[i][0] || arr[x][y]==arr[0][j] || arr[x][y]==arr[sizeH-1][j] || arr[x][y]==arr[i][sizeV-1])
                {
                    cout<<"Vi prograly!"<<endl;     
                    Sleep(1000);
                    system("pause");
                }
            }
        }
    }
}
 
void polojit_plus (int arr[sizeH][sizeV])
{
a:
    srand(time(0));
    int x=rand()%sizeH;
    int y=rand()%sizeV;
    if (arr[x][y] != 0)
    goto a;
    gotoxy(y, x);
    putchar('+');
    arr[x][y]=2;
    gotoxy(0,22);
 
}
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 10:19. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru