Свободный практикум
В течение недели вы присылаете мне в открытую (пост в теме) или скрытую (ЛС, аська, почта) свой пример решения. В конце недели выкладываются все решения одним постом, в т.ч. и моё решение, и вы сами решаете какое решение для вас более приемлемое.
Задания можно так же предлагать, но желательно в личном порядке.
В практикум может вступить любой человек в любое время, ровно как и выйти из него.
Язык исполнения желательно RGSS, но так же разрешён и псевдоязык. Можно прислать решение на другом любом языке, если это не затрагивает особенностей данного языка.
Задание №1
Заменить подстроку в строке на другую подстроку.
Теория
Задание очень простое, я не могу написать внятной теории. Решается множеством способов.
Метод должен принимать 3 строки: исходную строку, строку заменяемую, строку на которую меняют. Должно работать со строками любой длины и любыми символами.
Дана строка
"RMXP/VX for game developers. Many opportunities in the new version."
Заменить RMXP/VX на RM2k3
"RM2k3 for game developers. Many opportunities in the new version."
Задание 2
Теория
Задача: вывести в обратном порядке введённые символы не используя для вывода массив и не более 1 переменной.
На вводе имеем ряд чисел (каждое число отдельно через Readln на паскале или аналог)
1,2,3,4,5,6,7,8,9,0
вывести числа в обратном порядке
0,9,8,7,6,5,4,3,2,1
0 - служет выходом из ввода чисел
Задание 4
Анимация по кадрам.
Теория
Задача: вывести анимацию на экран.
Болванка сцены будет дана, если необходимо
Можно вывести анимацию перед отрисовкой титульника, это особой роли не играет.
Уровни сложности:
1 уровень. Самое простое: разрезать на отдельные кадры, подогнать положения, менять кадры-файлы
2 уровень. Посложнее: перекроить, разбить на одинаковые прямоугольники, пенять прямоугольники.
3 уровень. Сложно: Изменять картинку настрого нельзя!
При выполнение 1 и 2 уровня - выкладывать графику необходимо.
Картинка избыточна, на любом уровне можно использовать не все кадры, а только ключевые.
Тьма, тьма, и ничего кроме тьмы...
ПОМОГИТЕ!!! или как быстро получить бан!
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
- andrew_kras
-
- Не в сети
- Осваиваюсь на форуме
-
- Сообщений: 25
- Спасибо получено: 1
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
- Pavlentus007
-
- Не в сети
- Завсегдатай
-
- Сообщений: 787
- Спасибо получено: 73
Я линивая свинья...
Я хороший мапер...Но конченый автор...
Я опять ленивая свинья....
Хочу курицу жаренную с пиццой О.О
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
- andrew_kras
-
- Не в сети
- Осваиваюсь на форуме
-
- Сообщений: 25
- Спасибо получено: 1
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
Тут нужно просто сделать замену подстрок, задание очень простое. Дальше будет интересней
Тьма, тьма, и ничего кроме тьмы...
ПОМОГИТЕ!!! или как быстро получить бан!
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
- andrew_kras
-
- Не в сети
- Осваиваюсь на форуме
-
- Сообщений: 25
- Спасибо получено: 1
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
Задание 2
Теория
Задача: вывести в обратном порядке введённые символы не используя для вывода массив и не более 1 переменной.
На вводе имеем ряд чисел (каждое число отдельно через Readln на паскале или аналог)
1,2,3,4,5,6,7,8,9,0
вывести числа в обратном порядке
0,9,8,7,6,5,4,3,2,1
0 - служет выходом из ввода чисел
Тьма, тьма, и ничего кроме тьмы...
ПОМОГИТЕ!!! или как быстро получить бан!
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
- andrew_kras
-
- Не в сети
- Осваиваюсь на форуме
-
- Сообщений: 25
- Спасибо получено: 1
var
x: longint; s: string;
begin
read(x);
while x <> 0 do
begin
s := IntToStr(x) + ' ' + s;
read(x);
end;
write(0,' ',s);
end.
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
Тьма, тьма, и ничего кроме тьмы...
ПОМОГИТЕ!!! или как быстро получить бан!
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
- andrew_kras
-
- Не в сети
- Осваиваюсь на форуме
-
- Сообщений: 25
- Спасибо получено: 1
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
Тьма, тьма, и ничего кроме тьмы...
ПОМОГИТЕ!!! или как быстро получить бан!
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
- Pavlentus007
-
- Не в сети
- Завсегдатай
-
- Сообщений: 787
- Спасибо получено: 73
dark32 пишет: Если я отвечу на этот вопрос, то дам очень весомую подсказку. Возможно есть решение и с рекурсией, но я могу и лгать
Понравился твой ответ
Я линивая свинья...
Я хороший мапер...Но конченый автор...
Я опять ленивая свинья....
Хочу курицу жаренную с пиццой О.О
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
- andrew_kras
-
- Не в сети
- Осваиваюсь на форуме
-
- Сообщений: 25
- Спасибо получено: 1
Вот моё решение.
var x:longint;
begin
read(x);
if x = 0 then rec:= '0' else rec := rec + ' '+ IntToStr(x);
end;
begin
writeln(rec);
end.
Мне дарк32 разрешил опубликовать одну задачу, так что вот. Хотите решайте, хотите нет. Я лично бы предпочёл задач по RGSS
Требуется написать программу, определяющую наименьшее общее кратное (НОК) чисел a и b.
В единственной строке входного файла INPUT.TXT записаны два натуральных числа А и В через пробел, не превышающих 46340.
В единственную строку выходного файла OUTPUT.TXT нужно вывести одно целое число — НОК чисел А и В.
1 |36 27 |108
2 |39 65 |195
Наименьшее общее кратное (НОК) двух целых чисел a и b есть наименьшее натуральное число, которое делится на a и b. Обычно обозначается [a,b], а иногда НОК(m,n) или LCM(a,b). Например, НОК(16,24)=48.
Для нахождения НОК удобно использовать следующее свойство: для любых натуральных чисел a и b верно равенство НОД(a,b)*НОК(a,b)=a*b , откуда получаем, что НОК(a,b)=a*b/НОД(a,b).
В условиях данной задачи можно НОД найти перебором, но более универсально использовать алгоритм Евклида, реализация которого рассмотрена здесь .
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
