Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
Форум программистов > Центр помощи > [Алгоритм] Помогите пожалуйсто с заданиями по инфе |
Автор: TruePozer 17.10.2008, 07:59 | ||
В общем училка дала задачки на программирование, я конечно хоть чуток программировать умею, но блин они сложны для моего низкого уровня(( Так что если не тяжело помогите плиз... Примечание: Предпологается, что ввод данных в программы осуществляется из файла in.txt, а вывод в фаил out.txt. (Если сделать ввод с клавиатуры, а вывод на экран, училка бошку оторвёт, они типа хочет чтобы всё было как на олимпиаде).
Вот такие задания. Я буду очень признателен если вы поможите мне их решить. Заранее спасибо. |
Автор: Avaj 17.10.2008, 08:25 |
http://forum.vingrad.ru/forum/Vingrad-help-center.html |
Автор: TruePozer 17.10.2008, 11:22 |
Ёмаё, я конечно извеняюсь если не туда написал, но блин очень нада решить задачи... |
Автор: mr.Anderson 17.10.2008, 15:49 | ||||
Язык не указан, форум - "Алгоритмы", так что пишу алгоритмы. Задача первая. 1. Получаешь цифры числа, распихивая их в массив. Получение цифр - это последовательное получение остатка от деления числа на 10 и последующее деление этого же числа на 10. После получения остатка мы получим последнюю цифру числа, после деления на 10 уменьшим это число, чтобы потом снова получить последнюю цифру, и т.д. до тех пор, пока число не станет нулем. 2. Пробегаешься по полученному массиву, суммируешь все четные и нечетные цифры (определяешь четность путем проверки остатка от деления числа на 2, если остаток есть - число нечетное, нет - четное). 3. Вычитаешь из первой суммы вторую. Добавлено через 6 минут и 14 секунд Задача третья. Поскольку задан фиксированный размер матрицы (3х3), то достаточно просто проверить конкретные элементы на равенство. Элементы, которые нужно проверить, помечены буквами (одинаковые буквы - симметричные элементы):
Симметрия получается для элементов x-x, y-y, z-z. То есть, если есть массив Matrix[3][3] (нумерация с нуля), то тебе нужно проверить следующие три условия:
И вывести, какие из условий выполняются. Добавлено через 8 минут и 20 секунд Задача пятая. Даны две последовательности, вторая из которых потенциально может входить в первую. Тогда делаем следующее. Пробегаемся по первой последовательности до тех пор, пока не встретим первый элемент второй последовательности. Как только встретили - смотрим, а не будет ли следующий элемент первой таким же, как следующий элемент второй. Если нет, снова пытаемся найти первый элемент, ну и так далее. |
Автор: TruePozer 18.10.2008, 04:32 |
mr.Anderson, благодарю, с вашей помощью решить эти задачки не проблема. Ещё раз спасибо. Эх, по развёрнутей бы(( А язык кстати, любой) Но лучше Делфи, Си, а то там училка та наша Хаскелл и J не знает... mr.Anderson, я был бы ещё более признателен еси бы вы и с кодом мне помогли, если не сложно... |
Автор: mr.Anderson 18.10.2008, 13:16 | ||
TruePozer, если не проблема, то попробуй все же сам. ![]() Си:
Кажись, это все. Не проверял, надеюсь, не наврал. |
Автор: TruePozer 18.10.2008, 13:33 | ||||
Спасибо) Блин, 3ю задачу я сам сделал, на паскале:
Вроде правильно. А вот вторую задачу ваще хз как сделать((( А первую вроде так:
|
Автор: TruePozer 19.10.2008, 06:02 |
Помогите пожалуйста с 4 и 5 заданием, а то уже завтра здавать, а я чёт не врюблюсь как их сделать!!! Особенно в 5ом как эти последовательности из файла в 2 массива вбить? |
Автор: mr.Anderson 19.10.2008, 12:03 |
TruePozer, причем тут файл в пятой задаче? В условии про файлы ничего не сказано. Я попробую сделать, получится - выложу. |
Автор: mr.Anderson 19.10.2008, 12:30 | ||
Угумсь. Вот пятая задача. Паскаль.
|
Автор: TruePozer 19.10.2008, 15:37 | ||||||
вот сделал 4ю, не знаю тока правильно нет)
Дык вот же:
Как запонить эти 2 массива из файла? При этом длинна массива не задана, она может быть любой. Я все задания сделал, спасибо за помошь, осталось только это задание а как заполнить массивы из файла я не знаю((( |
Автор: mr.Anderson 19.10.2008, 15:42 | ||
Ааа. Точн. Ну смотри. Допустим, файл такого содержания:
Формат следующий. В первой строке - количество элементов в первом массиве, во второй - его элементы, в третьей - количество элементов второго массива, в четвертой - его элементы. Последовательно считываешь элементы из файла и все. Массивы для простоты лучше сделать статическими максимум, скажем, на 1000 элементов. |
Автор: TruePozer 19.10.2008, 15:50 | ||
Дык раз 1 и 3 строка это длинны массивов на кой нам массив на 1000 элементов? Иии... канечно спасибо за структуру фала, но как заполнить массивы из этого файла? |
Автор: mr.Anderson 19.10.2008, 15:55 | ||||
TruePozer, ну, если сильно хочется возиться с динамическими массивами, можно и так, конечно... Только вот зачем. Массив из 1000 элементов мы зададим, т.к. мы не знаем, сколько элементов окажется в файле. Поэтому дадим с запасом 1000 символов. Считывание из файла можно построить, например, так:
Должно работать, я думаю... ЗЫ Угу. Работает, проверил. Теперь можно ввести доп.переменные (скажем, те же N и K), в них после строчек
Последовательно записать это А сначала в N, потом в K. А потом уже обработку массивов делать от 1 и до N-1 или K соответственно, как в моем вышенаписанном коде. Понятно? |
Автор: TruePozer 19.10.2008, 15:59 |
Спасссиииибоо! Большое! Хотел тебе плюсик поставить, а он пишет тока со 100 постов( Но ни чо, полюбому тебе +100500! |
Автор: mr.Anderson 20.10.2008, 13:55 |
TruePozer, не за что. ![]() |