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

Заполнение массива координатами - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Получить таблицу пересчета! задача с ++ http://www.cyberforum.ru/cpp-beginners/thread602383.html
Получить таблицу пересчета миль в километры и наоборот (1 Миля = 1,609344 км) для расстояний, не превышающих k км в следующем виде: Мили: 0,6214 1,0000 1,2428 1,8641 2,0000 Километры: 1,0000 1,6093
C++ Дан массив из n целых чисел. До и после каждого числа, кратного 7, вставить число, равное 5 через функцию Дан массив из n целых чисел. До и после каждого числа, кратного 7, вставить число, равное 5. http://www.cyberforum.ru/cpp-beginners/thread602375.html
Принадлежит ли круг целому кругу или наоборот C++
Проверить принадлежит ли круг〖(х-а1 )〗^2+〖(у-b1)〗^2=〖r1〗^2целому кругу(х-а2 )〗^2+〖(у-b2)〗^2=〖r2〗^2или наоборот. По принципу истина и ложь Добавлено через 22 часа 26 минут Я уже 2 день её решаю, пожалуйста помогите я в растерянности
Лабораторная работа. Файлы C++
Добрый вечер форумчани! Помогите пожалуйста решить несколько задачек на тему "Файлы" для примера на будущее: 1) Дан файл, содержащий текст, записанный строчными буквами. Получить в другом файле тот же текст, записанный заглавными буквами. 2) Дан файл, содержащий текст. Переписать в другой файл только слова, начинающиеся и заканчивающиеся гласной. 3) Создать структуру из двух...
C++ Построение пяти угольника http://www.cyberforum.ru/cpp-beginners/thread602351.html
Здравствуйте. Задача: даны координаты центра окружности,задан радиус в писать в окружность пяти угольник и вывести его на экран.Спасибо
C++ Как применить new, точнее для чего это нужно? Выполняю упражнение с книги. Условие можно увидеть на скрине ниже представлен код. Возникли следующие вопросы: 1. как применить new, точнее для чего это нужно, если и так программа работает нормально? Допустим я добавлю строчку car * rio = new car Я вот не пойму для чего мне это нужно будет дальше? 2. проблема в строчке 23. При попытке ввода названия, состоящего из двух слов, программа... подробнее

Показать сообщение отдельно
Doberman214
0 / 0 / 0
Регистрация: 27.05.2012
Сообщений: 20

Заполнение массива координатами - C++

10.06.2012, 22:28. Просмотров 351. Ответов 0
Метки (Все метки)

Нужно заполнить массив координатами связи мостов.Когда герой наступает на кнопку изображенную на карте, найти в массиве координаты и вызвать процедуру рисования моста.

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
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
#include <stdio.h>
#include <conio.h>
#include <string.h>
//#include "console.h"
 
#define MR 24
#define MC 78
 
#define MAN 'H'
#define KEY '*'
#define GND 'Ы'
enum { KCR=13, KESC=27, KUP=72, KLFT=75, KRT=77, KDN=80 };
 
//HANDLE hConsole; // for Win32
char a[MR][MC],b[MR][MC],fname[13]="map.txt";
FILE *f1,*f2;
int k,nr,nc, fig;
typedef struct{
  int ky,kx,my,mx;
  char dir;
} tlink;
tlink z[50];
 
void fcolor(char s, char b){
    textcolor(s);
    textbackground(b);
}
 
void select(char z){
        int i,j;
        gotoxy(1,1);
    for(i=0; i<nr; i++){ // reading matrix
        for (j=0; j<nc; j++) {
        if (a[i][j]=='1') {
            fcolor(3,12);
            cprintf(" ");
        }
        else if (a[i][j]==z) {
            fcolor(1,14);
            cprintf("%c", a[i][j]);
        }
        else if (a[i][j]>='H' && a[i][j]<='O') {
            fcolor(1,7);
            cprintf("%c", a[i][j]);
        }
        else {
            fcolor(1,2);
            cprintf("%c", a[i][j]);
        }
            }//-for j
            cprintf("\r\n");
    }//-for i
}//-select
 
void    draw(){
    int i,j;
    for(i=0; i<nr; i++){
        for(j=0; j<nc; j++){
            gotoxy(j+1,i+1);
            cprintf("%c", a[i][j]);
        }
    }
}
 
void most(){
 
 
}
 
 
 
int main(){
//    init_console();
    fcolor(7,0);
    int i,j,x,y,c,p;
    char s[101],dir[8],sym;
    printf("”*©« Є*авл: ");
    scanf("%s",fname);
    f1=fopen(fname,"rt");
//  f2=fopen("map.txt","wt");
    if (!f1) printf("FILE not open!!!\n");
    fflush(f1);
    k=fscanf(f1,"%i%i", &nr, &nc);
    fgets(s,100,f1); // Line feed
//  cprintf("NR = %i   NC = %i\n", nr, nc);
    if (k<2) {
        printf("ERROR input format: Field's size not found!\n");
        return 1;
    }
    if (nr>MR){
        printf("ERROR input data: Count of rows too large\n");
        return 1;
    }
    if (nc>MC){
        printf("ERROR input data: Count of columns too large\n");
        return 1;
    }
    clrscr();
    for(i=0; i<nr; i++){ // reading matrix
        fgets(s,100,f1);
        for (j=0; j<strlen(s)-1; j++) {  //  j < nc
            if (s[j]==MAN) { x=j+1; y=i+1; a[i][j]=' '; }
            else {  a[i][j]=s[j]; }
        }
    }//-for i
    fclose(f1);
 
    draw();
    gotoxy(x,y); cprintf("H");
    gotoxy(1,23);
 
    for (;;){ //--- Basic Cycle
        char z=getch();     if (!z) z=getch();
//      printf("@%X@\n",z);
        p=0;
        switch (z){
            case KESC:  return 0;
            case KLFT: // Key LEFT
                if (a[y-1][x-2]==GND || a[y-1][x-2]==KEY){
                    gotoxy(x,y); cprintf("Ы");
                      //    a[y-1][x-1]=GND;
                    x--;
                    gotoxy(x,y); cprintf("%c",MAN);
                    if (a[y-1][x-1]==KEY) {
                        gotoxy(1,23);
                        printf("Ќ*©¤Ґ* Є«оз");
                        most(x,y);
                    }
                }
                break;
            case KRT: // Key RIGHT
                 if (a[y-1][x+0]==GND || a[y-1][x-0]==KEY){
                    gotoxy(x,y); cprintf("Ы");
                    a[y-1][x-1]==GND;
                    x++;
                    gotoxy(x,y); cprintf("%c",MAN);
                    if (a[y-1][x-1]==KEY) {
                        gotoxy(1,23);
                        printf("Ќ*©¤Ґ* Є«оз");
                    }
                }
 
 
                break;
            case KUP:  // gotoxy(1,20); cprintf("Up",0x4E);break;
                    if (a[y-2][x-1]==GND || a[y-2][x-1]==KEY){
                    gotoxy(x,y); cprintf("Ы");
                    a[y-1][x-1]==GND;
                    y--;
                    gotoxy(x,y); cprintf("%c",MAN);
                    if (a[y-1][x-1]==KEY) {
                        gotoxy(1,23);
                        printf("Ќ*©¤Ґ* Є«оз");
                    }
                }
                break;
            case KDN:
                    if (a[y+0][x-1]==GND || a[y+0][x-1]==KEY){
                    gotoxy(x,y); cprintf("Ы");
                    a[y-1][x-1]=GND;
                    y++;
                    gotoxy(x,y); cprintf("%c",MAN);
                    if (a[y-1][x-1]==KEY) {
                        gotoxy(1,23);
                        printf("Ќ*©¤Ґ* Є«оз");
                    }
                }
                break;
            default: ;
        }//-switch    z
        gotoxy(1,23);
    }//-basic cycle
//   system("pause");
//   getch();
     return 0;
}
Вложения
Тип файла: txt map.txt (1.4 Кб, 9 просмотров)
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru