Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.83/6: Рейтинг темы: голосов - 6, средняя оценка - 4.83
0 / 0 / 0
Регистрация: 10.12.2013
Сообщений: 64

Проверка кода (Серия выстрелов)

27.12.2013, 14:00. Показов 1204. Ответов 7
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Написала код программы, но почему-то не правильно показывает результат, хотя, когда делала другую лабораторную с этим графиком то нормально работало и все правильно показывало, а в этой все по другому! Скажите, что не так в данном коде?
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
double Y;
            double X;
            double R;
            Console.WriteLine("Введите R:");
            R = Convert.ToDouble(Console.ReadLine());
            for (int i = 0; i < 10; i++)
            {
                Console.WriteLine("Введите Х:");
                X = Convert.ToDouble(Console.ReadLine());
                Console.WriteLine("Введите Y:");
                Y = Convert.ToDouble(Console.ReadLine());
                Console.WriteLine("Выстрел № {0}:", i + 1);
                if (((X <= R) && (X >= 0)) && ((Y >= -R) && (Y <= 0)) || (Math.Sqrt(Math.Pow((-R - X), 2)) + Math.Sqrt(Math.Pow((R - Y), 2)) <= R))
                    Console.WriteLine("Попадание");
                else
                    Console.WriteLine("Hе попадание");
                Console.ReadKey();
Когда ввожу R = 0, то в результате будет попадание, а у меня пишет, что Не попадание!
Миниатюры
Проверка кода (Серия выстрелов)  
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
27.12.2013, 14:00
Ответы с готовыми решениями:

Серия выстрелов по мишени
Ребята кто может уделить время!!!очень нужна помощ!надежда только что вы поможите вы помогли уже один раз,признаюсь прошу помощи еще...

Проверка пин кода и в соответствии с ним заполнить поля после ввода пин-кода на другой форме
Здраствуйте!Люди проблема в следующем, есть задача где мне надо сделать проверку пин кода и в соответствии с ним чтобы автоматически из...

Проверка XML кода на валидность
Здравствуйте, не подскажите как можно осуществлять проверку XML?? Именно: правельность рассатовки тегов, и проверку на символы...

7
 Аватар для es_
217 / 216 / 114
Регистрация: 14.01.2013
Сообщений: 459
27.12.2013, 14:51
А зачем вы пишете R=0? Это же радиус... Вообще не мешало бы проверку на ввод сделать, чтоб не вводили радиус 0 или меньший нуля.
C#
1
(X <= R) && (X >= 0)) && ((Y >= -R) && (Y <= 0))
Кстати, здесь должно быть:
C#
1
(X <= 2*R) && (X >= 0)) && ((Y >= -R) && (Y <= 0))
Добавлено через 16 минут
Да и с попаданием в круг тоже не правильно.. Не сумма корней квадратов, а корень суммы квадратов..
в общем, условие будет такое:
C#
1
if (((X <= 2*R) && (X >= 0)) && ((Y >= -R) && (Y <= 0)) || Math.Sqrt(Math.Pow((-R - X), 2)+(Math.Pow((R - Y), 2))) <= R)
0
0 / 0 / 0
Регистрация: 10.12.2013
Сообщений: 64
27.12.2013, 14:53  [ТС]
Мне преподаватель при проверке данной работы сказал ввести радиус = 0, из-за этого потом было не правильно, и он не принял ее. У меня нарисовано на рисунке, что радиус может быть меньше 0, написано: (-R)
0
 Аватар для es_
217 / 216 / 114
Регистрация: 14.01.2013
Сообщений: 459
27.12.2013, 15:11
Радиус не может быть меньше нуля... Вот представьте круг с радиусом -1 - это что получится?
-R написано, координаты на декартовой системе координат. Т.е. если вы напишите радиус равен 3, то чтобы попасть в прямоугольник координаты выстрела должны быть (X<=6 и >=0) и (Y>=-3 и <=0).
Да и если ввести радиус равен 0, то пишет попадание, кстати, если ввести X и Y равные 0.
1
0 / 0 / 0
Регистрация: 10.12.2013
Сообщений: 64
27.12.2013, 15:21  [ТС]
Тогда оставлю такой код:
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
double Y;
            double X;
            double R;
            Console.WriteLine("Введите R (не <=0):");
            R = Convert.ToDouble(Console.ReadLine());
            for (int i = 0; i < 10; i++)
            {
                Console.WriteLine("Введите Х:");
                X = Convert.ToDouble(Console.ReadLine());
                Console.WriteLine("Введите Y:");
                Y = Convert.ToDouble(Console.ReadLine());
                Console.WriteLine("Выстрел № {0}:", i + 1);
                if (((X <= 2*R) && (X >= 0)) && ((Y >= -R) && (Y <= 0)) || Math.Sqrt(Math.Pow((-R - X), 2)+(Math.Pow((R - Y), 2))) <= R)
                    Console.WriteLine("Попадание");
                else
                    Console.WriteLine("Hе попадание");
                Console.ReadKey();
Указала значения вводить не <=0, думаю примет! Спасибо большое! Я удивлюсь если преподаватель скажет, что и здесь код не верен...
0
 Аватар для es_
217 / 216 / 114
Регистрация: 14.01.2013
Сообщений: 459
27.12.2013, 15:29
Не уверен точно, можно ли считать круг с нулевым радиусом - точку. Но даже если можно - программа ответ выводит верный:
Изображения
 
0
0 / 0 / 0
Регистрация: 10.12.2013
Сообщений: 64
27.12.2013, 15:39  [ТС]
но даже если мы вводим радиус 0 и другие координаты пишет, что не попал, хотя по графику если радиус 0 и х = 1 и у = -2, должно попасть:
Миниатюры
Проверка кода (Серия выстрелов)  
0
 Аватар для es_
217 / 216 / 114
Регистрация: 14.01.2013
Сообщений: 459
27.12.2013, 15:48
Если R=0, то прямоугольник становится со сторонами 0х0, и круг уменьшается до токи с радиусом 0 и точка эта будет пересечением осей X и Y, так что чтобы Попасть нужно выстрелить в это пересечение и координаты точки будут X=0 и Y=0, и больше никаких других точек попадающих в график не будет.
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
27.12.2013, 15:48
Помогаю со студенческими работами здесь

Умножение матриц, проверка кода
Добрых времени суток! простая задача на умножение матриц. Вопрос №1: Правильно ли в коде ввожу две матрицы или можно как то по короче. ...

Вероятность попадания в цель в каждом из независимых выстрелов равна 0,7. Сколько нужно произвести выстрелов, чтобы с ве
Помогите,пожалуйста(((( Вероятность попадания в цель в каждом из независимых выстрелов равна 0,7. Сколько нужно произвести выстрелов,...

Серия Intel i5 (сокет 1150) - Это переходная серия?
Добрый вечер всем.И что?Решил я приобрести процессор,на ступеньку выше.Надо как то расти.Выписал с официального сайта материнской платы...

Проверка кода и советы по его улучшению. Генерация случайных чисел и проверка на уникальность
Привет народ! Занимаюсь изучением Java, захотелось реализовать выборку случайных чисел для лотереи. Вроде бы все прописал и программа даже...

Проверка кода
Вообщем нужно мне создать excel документ при помощи php =) Скачал библиотеку PHPExcel, начал с ней работать выдаёт ошибку=) Думал сначала...


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

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip На первой гифке отладочные линии отключены, а на второй включены:. . .
SDL3 для Web (WebAssembly): Идентификация объектов на Box2D v3 - использование userData и событий коллизий
8Observer8 02.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-collision-events-sdl3-c. zip https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11680&amp;d=1772460536 Одним из. . .
Реалии
Hrethgir 01.03.2026
Нет, я не закончил до сих пор симулятор. Эта задача сложнее. Не получилось уйти в плавсостав, но оно и к лучшему, возможно. Точнее получалось - но сварщиком в палубную команду, а это значит, в моём. . .
Ритм жизни
kumehtar 27.02.2026
Иногда приходится жить в ритме, где дел становится всё больше, а вовлечения в происходящее — всё меньше. Плотный график не даёт вниманию закрепиться ни на одном событии. Утро начинается с быстрых,. . .
SDL3 для Web (WebAssembly): Сборка библиотек: SDL3, Box2D, FreeType, SDL3_ttf, SDL3_mixer и SDL3_image из исходников с помощью CMake и Emscripten
8Observer8 27.02.2026
Недавно вышла версия 3. 4. 2 библиотеки SDL3. На странице официальной релиза доступны исходники, готовые DLL (для x86, x64, arm64), а также библиотеки для разработки под Android, MinGW и Visual Studio. . . .
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru