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

Пять задач, включая задачу как обезвредить бомбу - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Перевод чисел в определённую систему http://www.cyberforum.ru/cpp-beginners/thread49517.html
Нужно сделать программу для перевода числа в разные систему то есть вписываешь число и программа должна выдать следующий ответ (мы написали 1010): двоичная: ИСХОДНОЕ ЧИСЛО десятичная: 10 шестиричная: 12 шестнадцатеричная: A Видите, программа должна ещё и узнать в какой системе написанно это число... Вот я нашёл некоторые коды...только не знаю как их всунуть в эту программу..,
C++ Проблема с чтением из файла Подскажите пожалуйста в чем ошибка? Чтения не происходит. Нули в массиве как были, так и остаются. первый раз работаю в Visual, может быть тут какие-то тонкости в этом плане? #include "stdafx.h" #include <windowsx.h> #include <AtlConv.h> #include <conio.h> FILE *fp; int coordinate; void vvod_koordinat() { char name_of_file; http://www.cyberforum.ru/cpp-beginners/thread49511.html
Препроцессор C++
Профессионалы, ответте вот на какой вопрос: Мне необходимо получить файл, который образуется после обработки препроцессором, т.е. после замены всех #define, #include и т.д. и т.п. Использую MS VS 2008. Где мне в нем поменять настройки (задать команды может быть или еще что-нибудь) чтобы этот файл можно было просмотреть?
C++ Программа телефонный номер
Тут столкнулся с проблемой. Программа не выводит телефонный номер, при вводе русских символов, реагирует только на английский ввод. Не знаю, вроде всё должно работать.Вот исходник: #include <iostream> #include <cstdio> using namespace std; int main() { setlocale(0,"");
C++ Как скрыть программу от ctrl alt del? http://www.cyberforum.ru/cpp-beginners/thread49429.html
Как скрыть программу от ctrl alt del? http://www.cyberguru.ru/cpp-sources/dll-applications/kak-skryt-programmu-ot-ctrl-alt-del.html не работает в win7
C++ From UTF-8 to UNICODE здравствуйте!! у меня вот какой вопрос! Как сделать преобразование UTF-8 и Unicode? во общем моя программа считывает данные с базы( база на армянском) в буфер и тут начинаются все проблемы!! я не понимаю как преобразовать из UTF-8 (ето у меня с базы) UNICODE что бы потом уже работать с ним? подробнее

Показать сообщение отдельно
odip
Эксперт C++
 Аватар для odip
7226 / 3288 / 59
Регистрация: 17.06.2009
Сообщений: 14,165
07.09.2009, 17:02     Пять задач, включая задачу как обезвредить бомбу
Ответ неправильный - значит неправильно решил

Основная пляска идет вокрут массива tel2stor[]
Значение -1 в этом массиве означает, что телескоп никуда не едет.
Значение от 0 до nstor-1 обозначает, что телескоп едет к хранилищу с этим номером.
Ну и разумеется два телескопа не могу ехать к одному хранилищу.
Для этого используется массив stor_used[].

Задача 4

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
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
 
 
/************************************************/
#define MAX_TEL     100
#define MAX_STOR    100
 
 
/************************************************/
typedef struct {
    double x, y;
} coord_t;
 
 
/************************************************/
char in_name[]= "METEOR.DAT";
char out_name[]= "METEOR.SOL";
 
 
/************************************************/
int calc_moving( double tmet, int ntel, coord_t *ptel,
    int nstor, coord_t *pstor, double vspeed
);
 
 
/************************************************/
int main( void ) {
 
int i, j;
int ntel, nstor, nstor_tel;
double tmet, vspeed;
FILE *fin= NULL, *fout= NULL;
coord_t tel[MAX_TEL];
coord_t stor[MAX_STOR];
 
 
fin= fopen( in_name, "rt" );
if ( fin == NULL ) {
    fprintf( stderr, "Error opening file %s\n", in_name );
    exit( 1 );
}
fscanf( fin, "%lf", &tmet );
 
fscanf( fin, "%d", &ntel );
if ( ntel<0 || ntel>MAX_TEL ) {
    fprintf( stderr, "Invalid ntel=%d\n", ntel );
    exit( 1 );
}
for ( i= 0; i<ntel; i++ ) {
    fscanf( fin, "%lf %lf", &tel[i].x, &tel[i].y );
}
 
fscanf( fin, "%d", &nstor );
if ( nstor<0 || nstor>MAX_STOR ) {
    fprintf( stderr, "Invalid nstor=%d\n", nstor );
    exit( 1 );
}
for ( j= 0; j<nstor; j++ ) {
    fscanf( fin, "%lf %lf", &stor[j].x, &stor[j].y );
}
fscanf( fin, "%lf", &vspeed );
fclose( fin );
fin= NULL;
 
nstor_tel= calc_moving( tmet, ntel, tel, nstor, stor, vspeed );
 
fout= fopen( out_name, "wt" );
if ( fout == NULL ) {
    fprintf( stderr, "Error creating file %s\n", out_name );
    exit( 1 );
}
fprintf( fout, "%d\n", nstor_tel );
fclose( fout );
fout= NULL;
 
return 0;
 
} /* main() */
 
 
/************************************************/
int calc_moving( double tmet, int ntel, coord_t *ptel,
    int nstor, coord_t *pstor, double vspeed
) {
 
int i, j;
int itel;
double dx, dy;
int max_mov_tel, count_tel;
double max_mov_dist;
 
double dist_tel_stor[MAX_TEL][MAX_STOR];
int tel2stor[MAX_TEL];
int stor_used[MAX_STOR];
 
 
/* Check */
if ( tmet<0.0 || ntel<0 || nstor<0 || vspeed<0.0 ) {
    fprintf( stderr, "calc_moving(): Invalid arguments\n" );
    exit( 2 );
}
 
/* Calc max moving distance */
max_mov_dist= tmet*vspeed;
 
/* Calc distance */
for ( i= 0; i<ntel; i++ ) {
    for ( j= 0; j<nstor; j++ ) {
        dx= ptel[i].x-pstor[j].x; dy= ptel[i].y-pstor[j].y;
        dist_tel_stor[i][j]= sqrt( dx*dx+dy*dy );
    }
}
 
/* Init */
max_mov_tel= 0;
for ( j= 0; j<nstor; j++ ) { stor_used[j]= 0; }
itel= -1;
 
/* Next itel */
label_next_itel:
itel++;
if ( itel>=ntel ) { goto label_back; }
tel2stor[itel]= -1;
 
/* Check */
label_check:
if ( tel2stor[itel]>=0 ) {
    if ( stor_used[ tel2stor[itel] ] ) { goto label_next_stor; }
    stor_used[ tel2stor[itel] ]= 1;
}
 
/* Count telescope */
count_tel= 0;
for ( i= 0; i<=itel; i++ ) {
    if ( tel2stor[i]<0 ) { continue; }
    if ( dist_tel_stor[i][tel2stor[i]]<=max_mov_dist ) { count_tel++; }
}
if ( count_tel>max_mov_tel ) { max_mov_tel= count_tel; }
goto label_next_itel;
 
/* Free */
label_free:
if ( tel2stor[itel]>=0 ) {
    stor_used[ tel2stor[itel] ]= 0;
}
 
/* Next stor */
label_next_stor:
tel2stor[itel]++;
if ( tel2stor[itel]<nstor ) { goto label_check; }
 
/* Back */
label_back:
itel--;
if ( itel>=0 ) { goto label_free; }
 
/* Return */
return max_mov_tel;
 
} /* calc_moving() */
 
Текущее время: 11:29. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru