Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
Другие темы раздела
C++ как организовать ? вот такой вопрос нужно написать программу которая определяет минимальное число во введенной с клавиатуры последовательности положительных чисел (ДЛИНА ПОСЛЕДОВАТЕЛЬНОСТИ НЕОГРАНИЧЕННА) если перебор организовать могу то вот как сделать неограниченной длину последовательности ? https://www.cyberforum.ru/ cpp-beginners/ thread93140.html Некоректности в булевом выражении C++
Я недавно начал изучать C++ и я немного преуспел (для начинающего), но тут меня кое-что конкретно тормознуло. Тормозом оказалась проблемка в этом коде: #include <iostream> #include <stdio.h> using namespace std; void HackAlert() { string answer; cout << "Are you a hacker? (Y or N)" << endl; cin >> answer;
C++ Дан целочисленный массив, нужно исключить из него все нули https://www.cyberforum.ru/ cpp-beginners/ thread93105.html
Дан целочисленный массив, нужно исключить из него все нули. Если нулей нет-написать "сжатие невозможно". Составить динамический массив и ввод элементов я смогу. А как реализовать поиск 0 и их удаление?
C++ Вычислить процент от общего количества https://www.cyberforum.ru/ cpp-beginners/ thread93095.html
Помогите пожалуйста разобратся с этой прогой: Написать прогамму, которая обрабатывает результаты экзамена. Для каждой оценки программа должна вычислить процент от общего количества оценок. Оценки от 5 до 2. Среда разработки: С++
C++ Шахматная доска и строка
Есть 3 задачки, немного не соображу как их решить. Помогите горе-программисту :) 1) Поле шахматной доски определяется парой натуральных чисел, первое из которых задаст номервертикали, а второе- номер горизонтали. Даны натуральные числа k, l, m, n. Требуется выяснить, являются ли поля (k, l) и (m, n) полямиодного цвета. 2)В последовательности введённых символов (последний '$') определить...
C++ Матрица и элементы https://www.cyberforum.ru/ cpp-beginners/ thread93077.html
Помогите решить задачу: Сформиромать матрицу С (N,M) элементами которой являются случайные числа, равномерно распределённые в интервале (-4.0, 8.2). Переставляя её строки и столбцы, добиться того, чтобы наименьшийэлемент этой матрицы оказался в левом верхнем углу. Матрицу сформировать динамическим массивом я могу, рандом тоже могу, а всё остальное не знаю как. Помогите пожалуйста!
C++ Многомерные массивы. Операции с элементами массивов https://www.cyberforum.ru/ cpp-beginners/ thread93075.html
В данной действительной квадратной матрице порядка n найти сумму элементов строки, в которой расположен элемент с наименьшим значением. Предполагается, что такой элемент единствен.
Определить наименьшее время, которое должно пройти до того момента, когда часовая и минутная стрелки совпадут C++
1) Даны целые числа M и N (0<M<=12, 0<=N<=60), указывающие момент времени: «M часов, N минут». Определить наименьшее время (число полных минут), которое должно пройти до того момента, когда часовая и минутная стрелки совпадут. 2) Даны натуральное число N и действительные числа A1, …, AN. Заменить в последовательности A1, …, AN единицей числа, равные или превосходящие единицу, а нулем числа,...
C++ Количество элементов массива, меньших С В одномерном массиве, состоящем из п вещественных элементов, вычислить: 1) количество элементов массива, меньших С; 2) сумму целых частей элементов массива, расположенных после последнего отрицательного элемента. Язык - С++. Использовать указатели, выделить динамическую память. https://www.cyberforum.ru/ cpp-beginners/ thread93072.html C++ решение :help: y= 1/cosx+ln*|tg x/2| где x={z^b/√z┤ + |b/2| при z<0 при z>0 :help::-[ https://www.cyberforum.ru/ cpp-beginners/ thread93066.html
C++ Разложение функции в ряд
Вычислить и вывести на экран в виде таблицы значения функции, заданной с помощью ряда Тейлора, от Хнач до Хкон, с шагом dx и точностью Е. _____________∞ ln (x+1)/(x-1)=2∑ (1/(2n+1)x^2n+1=2((1/x)+(1/3x^3)+(1/5x^5) _____________n=0 Добавлено через 1 минуту хз че как делать
C++ Чтение из файла прерывается раньше времени Всем привет. Требуется ваша помощь, т.к. уже устал сам искать ошибку. Итак, задача - полностью считать произвольный файл (кроме текстового) в массив. Реализовал код. Но считывание происходит не полностью, а только первых 4х байт. При получении последующих двух байт (0x0d 0x0a) ввод прекращается (0x0d 0x0a - как я понял, коды двух символов управляющих последовательностей, отвечающих за перевод... https://www.cyberforum.ru/ cpp-beginners/ thread93048.html
1 / 1 / 0
Регистрация: 18.02.2010
Сообщений: 4
19.02.2010, 10:56 0

Черепашья графика - C++ - Ответ 555444

19.02.2010, 10:56. Показов 13678. Ответов 24
Метки (Все метки)

Ответ

G-Cat, нет никакой идеи или алгоритма. Задача решается в лоб. Класс Tortoise представляет требуемую черепаху. У неё хранится состояние: floor - поле 20 * 20, x,y - положение черепахи, pen - положение пера (0 - поднято, 1 опущено). direction - направление куда повёрнута голова черепахи (целое число от 0 до 3х). Приращения для перехода черепахи если будет дана команда "двигаться прямо" берутся из массивов dx, dy. То есть x += dx[direction], y+=dy[direction]. Это позволяет избежать громоздких конструкций со switch как при движении прямо, так и при поворотах. Когда приходит команда поворот налево, я просто уменьшаю direction на единицу, направо - увеличиваю (разумеется, надо учесть что если значение выходит за пределы 0..3, то оно должно "проворачиваться"). Вот собственно и всё.
По методам:
SafeInc: увеличивае т значение value (передаётся по указателю) на величину delta с проверкой, что значение не может выходить за пределы min..max. Если cycle истина, то при выходе за указанные пределы значение "проворачивается" и принимает максимальное значение если было меньше минимального и минимальное если было больше максимального. Если же cycle ложно, то value просто "упирается" в ограничитель (min или max) и не выходит за пределы. Этот метод используется для инкрементирования(delta >0)/декрементирования(delta < 0) direction (cycle = true) и x, y (cycle = false).
Command: выполняет команду, переданные в виде целого числа.
Если cmd < 3 - Это команда поднять/опустить перо. Причём если "опустить" то сразу ставится точка на поле.
Если 3 <= cmd < 5 - это команда на поворот. direction просто инкрементируется или дектрементируется на единицу. "2 * cmd - 7" принимает -1 если cmd = 3 и +1 если cmd = 4 работает быстрее, чем if, но в 99,9% случаев так лучше не писать, ибо запутывает код.
Если cmd = 5 - движение. Просто инкрементим x, y на величину dx[direction], dy[direction]. Кстати там у меня баг - надо floor[x, y] = pen делать только если перо опущено:
C#
1
2
if (pen == 1)
  floor[x,y] = 1;
Если cmd = 6, печать массива, тут без комментариев.

В основной программе посимвольно с консоли считываются команды и выполняются, пока не встретится 9 (конец ввода).
C#
1
cmd = Console.Read() - Convert.ToInt16('0')
это просто преобразование кода символа в цифру. (то есть '7' -> 7).

Вернуться к обсуждению:
Черепашья графика C++
0
Заказать работу у эксперта
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
19.02.2010, 10:56
Готовые ответы и решения:

Черепашья графика
Текст задачи из учебника Дейтела: Язык Лого, особенно популярный среди пользователей...

Черепашья графика
Язык Лого, особенно популярный среди пользователей персональных компьютеров, сделал знаменитой...

Черепашья графика
Многоугольник (не обязательно выпуклый) задан след. образом: длина очередной стороны, угол поворота...

Черепашья графика (язык Лого)
Хочу смоделировать перемещение черепахи по полю. У черепахи есть перо. Если оно опущено, то на поле...

24
19.02.2010, 10:56
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
19.02.2010, 10:56
Помогаю со студенческими работами здесь

Черепашья графика на С (Си)
Черепаха несет перо, которое может находится в одной из 2х позиций – нижней или верхней. Если перо...

Черепашья графика
Как это сделать через процедуры? Составить процедуры построения фигур: а) квадрата по известной...

Черепашья графика в консоли на C
Привет. Для меня сложная задача. Бьюсь над ней долго. Условие задачи: Есть поле 50х50...

Chart - диаграмма: изменить точность делений графика, установить центр графика в (0,0)
Создал диаграмму (все прекрасно считается точки расставляются), но есть проблемыЖ 1. В случае...

0
Новые блоги и статьи
Что такое хорошо и что такое плохо, вид сбоку. Индивид и общество - грань не нарушения.
Hrethgir 18.01.2025
В моей личной жизни и времени, я рассуждаю категорией "хуже-лучше", в том плане, когда меня спросили например - "а зачем ты делаешь свой процессор?", то я ответил - "чтобы сделать свою жизнь лучше". . .
Передача по ссылке или по значению в Java?
InfoMaster 18.01.2025
В мире программирования на Java одним из ключевых аспектов, требующих глубокого понимания, является механизм передачи параметров в методы. Этот фундаментальный концепт часто становится источником. . .
Тернарный условный оператор в Python
InfoMaster 18.01.2025
В мире программирования существует множество инструментов и конструкций, позволяющих создавать эффективный и лаконичный код. Одним из таких инструментов является тернарный условный оператор, который. . .
Как удалить неотслеживаемые файлы из рабочего дерева Git
InfoMaster 18.01.2025
В процессе разработки программного обеспечения с использованием системы контроля версий Git часто возникает необходимость в управлении неотслеживаемыми файлами. Неотслеживаемые файлы (untracked. . .
Что делает код if __name__ == "__main__": в Python
InfoMaster 18.01.2025
В мире программирования на Python существует множество важных концепций, и одной из наиболее интересных является конструкция if __name__ == "__main__". Эта специальная конструкция играет ключевую. . .
Как заставить Git забыть об отслеживаемом файле, добавленном в .gitignore
InfoMaster 18.01.2025
В мире разработки программного обеспечения система контроля версий Git стала неотъемлемой частью рабочего процесса, позволяя эффективно отслеживать изменения в коде и управлять ими. Однако. . .
Что означает use strict в JavaScript и для чего используется
InfoMaster 18.01.2025
В мире современной веб-разработки JavaScript играет ключевую роль как один из основных языков программирования. По мере его эволюции возникла необходимость в механизмах, которые помогли бы. . .
Как работать со скрытыми (hidden) элементами в jQuery
InfoMaster 18.01.2025
В современной веб-разработке управление видимостью элементов на странице является одним из ключевых аспектов создания интерактивных пользовательских интерфейсов. jQuery предоставляет мощный набор. . .
Как переключаться между ветками (Branch) с помощью checkout в Git
InfoMaster 18.01.2025
Ветки в Git являются одной из ключевых концепций для управления версионностью кода, позволяя разработчикам эффективно работать в команде и параллельно развивать программные проекты. Каждый новый. . .
Что такое стек и куча, чем они отличаются и где находятся
InfoMaster 18.01.2025
Понимание основных концепций памяти в программировании В мире современного программирования эффективное управление памятью играет ключевую роль в создании производительных и надежных приложений. . . .
Как использовать комментарии в JSON
InfoMaster 18.01.2025
JSON (JavaScript Object Notation) представляет собой легкий и широко используемый формат обмена данными, который стал стандартом де-факто для веб-приложений и программных интерфейсов. При работе с. . .
Как заставить git pull перезаписать локальные файлы в Git
InfoMaster 18.01.2025
Проблема перезаписи локальных файлов в Git При работе с системой контроля версий Git разработчики часто сталкиваются с ситуацией, когда необходимо синхронизировать локальный репозиторий с. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru