13.09.2011 / 18:47 | |
kiriman Пользователь Сейчас: Offline
Имя: Кирилл Откуда: Красноярск Регистрация: 18.01.2010
| RGT, Тернарный оператор рулет |
13.09.2011 / 18:48 | |
RGT Пользователь Сейчас: Offline
Имя: Snork Откуда: Yerevan Регистрация: 03.02.2010
| #include "stdafx.h"
int _tmain(int argc, _TCHAR* argv[])
{ int a = 0;
int b = 10;
int x = 13;
if (a<x && x<b)
{ printf("a<x<b"); }
else {printf("error");}
getchar(); }
Даже так =D __________________
don't tread on me Изменено RGT (13.09 / 18:48) (всего 1 раз) |
17.09.2011 / 15:28 | |
Melodic Пользователь Сейчас: Offline
Регистрация: 16.09.2011
| Есть окружность поделённая на 8 одинаковых секторов и есть вектор с определёнными координтами конца. Начало вектора - центр окружности. Нужно узнать по координатам конца вектора в каком секторе окружности лежит вектор. Использовать можно только целочисленные типы данных.
|
17.09.2011 / 20:00 | |
Salat-Cx65 Пользователь Сейчас: Offline
Имя: Сергей Откуда: Кременчуг Регистрация: 23.03.2010
| Зуб даю шо это через http://ru.wikipedia.org/wiki/Алгоритм_Брезенхэма (построение окружности) надо юзать.Когда то пробовал сам реализовая,но результат не понравился. |
17.09.2011 / 22:16 | |
Freddy Пользователь Сейчас: Offline
Имя: Игорь Откуда: Воронеж Регистрация: 30.01.2010
| Идея в следующем: введём систему координат, совместив её начало с центром окружности, тогда абсцисса и ордината разобьют окружность на четыре равные части, проведём прямые y=x и y=-x, тогда окружность будет разбита на восемь одинаковых частей. Пронумеруем каждый сектор, 1-ый - между положительным направлением оси абсцисс и прямой y=x, далее, двигаясь против часовой стрелки, 2-ой, 3-й и т. д. (как в школе на тригонометрии нумеровали четверти). Затем, по координатам конца вектора вычисляем номер сектора, например, если его координаты (x;y), x>0, y>0 и x-y>0 то вектор лежит в первом секторе, если x>0, y>0, x-y<0, то вектор лежит во втором секторе. /*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
package javaapplication7;
import static java.lang.Math.*;
/**
*
* @author Игорь
*/
public class JavaApplication7 {
private static int getIndex(int x, int y) {
return abs(x)==abs(y)?0:(x>0)?((y>0)?((x-y>0)?1:2):(x-abs(y)>0?8:7)):(y>0)?(abs(x)-y>0)?4:3:(x-y>0)?6:5;
}
/**
* @param args the command line arguments
*/
public static void main(String[] args) {
try {
int result=getIndex(Integer.parseInt(args[0]),Integer.parseInt(args[1]));
if(result==0) {
System.out.println("Вектор лежит на границе секторов");
}
else {
System.out.println("Вектор принадлежит сектору №"+result);
}
}
catch(Exception e) {
e.printStackTrace();
}
}
}
Изменено Freddy (17.09 / 22:20) (всего 1 раз) |
17.09.2011 / 23:00 | |
Melodic Пользователь Сейчас: Offline
Регистрация: 16.09.2011
| Freddy, большое спасибо как раз то ,что нужно. В Дюне мне надо было определять в какую сторону смотреть юниту для выстрела по противнику Раньше использовал угол между двумя векторам, но решил отказаться от флоатов и дублов |
17.09.2011 / 23:02 | |
Salat-Cx65 Пользователь Сейчас: Offline
Имя: Сергей Откуда: Кременчуг Регистрация: 23.03.2010
| [off]вспомнил что когда то делал нечто похоже для своей Location api (спасибо P@bloid'y что подкинул был материал). Метод возвращает направление движения из точки 'фром' к точке 'ту'.Собственно по выходным данным угла определял одну из 8 сторон света (4 основных+4 смежных). public static float curse (Coordinates from,Coordinates to) { // Convert from degrees to radians. double lat1 = Math.toRadians( from.lat ); double lon1 = Math.toRadians( from.lon ); double lat2 = Math.toRadians( to.lat); double lon2 = Math.toRadians( to.lon ); double deltaLon = lon2 - lon1; double cosLat2 = Math.cos( lat2 ); double c1 = Math.sin(deltaLon) * cosLat2; double c2 = Math.cos(lat1) * Math.sin (lat2) - Math.sin(lat1) * cosLat2 * Math.cos(deltaLon); double courseInRadians = MathFunc.atan2( c1, c2 ); double course = Math.toDegrees( courseInRadians ); course = (360.0 + course) % 360.0; // Normalize to [0,360) return (float)course; } [/off]
|
26.09.2011 / 18:44 | |
Naik Пользователь Сейчас: Offline
Имя: %name% Регистрация: 14.03.2010
| Решить систему уравнений: I1=I3-I2; E1=I1*r1+I3*r3; E2=I2*r2+I3*r3.
ЕСЛИ: E1=220; E2=127; r1=10; r2=6; r3=3.
|
29.09.2011 / 20:38 | |
kiriman Пользователь Сейчас: Offline
Имя: Кирилл Откуда: Красноярск Регистрация: 18.01.2010
| Не пользуясь компилятором отвечаем на вопросы: 1. Integer a = 5;
Integer b = 5;
System.out.println(a == b);
int aa = 5;
int bb = 5;
System.out.println(a == b);
Что выведет и почему? 2. enum Days {MONDAY, TUESDAY, WEDNESDAY, THURSDAY}
class test {
public static void main(String [] args) {
int x = 0;
Days d = Days.TUESDAY;
switch(d) {
case MONDAY: x++;
case TUESDAY: x = x + 10;
case WEDNESDAY: x = x + 100;
case THURSDAY: x = x + 1000;
}
System.out.println("x = " + x);
}
Чему будет равна переменная x после выполнения программы?
}
Ответы присылайте на [email protected]Ну или в тему |
29.09.2011 / 20:59 | |
kiriman Пользователь Сейчас: Offline
Имя: Кирилл Откуда: Красноярск Регистрация: 18.01.2010
| 1. Integer a = 5; Integer b = 5; System.out.println(a == b); int aa = 5; int bb = 5; System.out.println(aa == bb);
Что выведет и почему? ______Поправочка
|