Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 19.02.2013, 00:52   #1
Алексей_2012
t45t
Участник клуба
 
Аватар для Алексей_2012
 
Регистрация: 20.03.2012
Сообщений: 1,849
По умолчанию Кто-нибудь может написать пару простых задач?

Здравствуйте, простите за тему, знаю что на форуме есть не мало интересных тем, связанных с вопросами по коду программ, но все же, кто-нибудь может подкинуть пару интересных задач работы с массивами, и тп, Делфи изучаю не долго, но за три месяца смог плеер написать, перехожу на С++, но и делфи не забросил, ну т.е сама цель задачи, а код уже я пишу
from dark to light)
Алексей_2012 вне форума Ответить с цитированием
Старый 19.02.2013, 08:12   #2
phomm
personality
Старожил
 
Аватар для phomm
 
Регистрация: 28.04.2009
Сообщений: 2,882
По умолчанию

Прорешать всё отсюда http://programmersforum.ru/showthread.php?t=70310 не глядя в предложенные решения.

Чисто от себя задачка. Дано некое число N (оформить ввод от пользователя с диапазоном , допустим 0-1000) и дана сетка 100*100 (компонент стринггрид), однако это лишь для визуализации, сама задача должна быть решена независимо, например, чтобы было возможно выводить в консоль (80*25 размер в "ячейках"). Написать программу расчёта такого прямоугольника, который на этой сетке был бы строго по центру, он должен состоять из "закрашенных клеточек" в количестве N и имел оптимальное соотношение между количеством незаполненных клеток (когда неполностью вписывается n в прямоугольную область, для всех нечетных чисел, например) - по минимуму то есть, имел относительно компактную форму (размер одной стороны прямоугольника допустим хотя бы четверть от другой стороны), и в идеале (при равном кол-ве незаполненых клеток когда несколько вариантов длин сторон прямоугольника удовлетворяют решению) - стремился к квадрату.

Условие может быть немного непонятно, вечером из дома сброшу экзешник как я решал такую задачу по своей молодости, там всё наглядно.

Задача имеет и практическое применение - т.н. задача минимизации раскроя, я, например, применял для поклейки н-ного набора кадров в "атласную" текстуру. Могу и пример полученной текстуры кинуть.

ПС. вот залил, там как бы даже 2 алгоритма - с достройкой чисто квадрата и прямоугольника. Ну и там диапазон поменьше - до 255 но это неважно.
Вложения
Тип файла: zip arraytest.zip (233.8 Кб, 11 просмотров)

Последний раз редактировалось phomm; 19.02.2013 в 15:35.
phomm вне форума Ответить с цитированием
Старый 19.02.2013, 23:22   #3
Алексей_2012
t45t
Участник клуба
 
Аватар для Алексей_2012
 
Регистрация: 20.03.2012
Сообщений: 1,849
По умолчанию

phomm, не назвал бы вашу задачку простой, я вить из-за чего в делфи начал продвигаться, вперед программы колледжа, чтобы плеер написать, поэтому я не знаю как работать со stringgrid, а уж консолью на делфи вообще мы не пользовались, да и не нужна она там (ну по крайней мере мне), мне и в ассемблере ее вполне хватает, на tasm ну и на паскале, есть какие-нибудь задачи без консоли?
from dark to light)
Алексей_2012 вне форума Ответить с цитированием
Старый 20.02.2013, 07:28   #4
phomm
personality
Старожил
 
Аватар для phomm
 
Регистрация: 28.04.2009
Сообщений: 2,882
По умолчанию

Вы, походу, читать не умеете. Консоль тут ни при чём (хотя вообще-то, не умея работать с консолью - программист будет немного менее компетентным, см. статью ниже для понимания, о какой компетентности я говорю), ибо я говорил, что решение должно быть общим - и не зависеть от способа визуализации, т.е. удалив грид и поставив вывод в файл в качестве результата работы алгоритма (или что угодно, в т.ч. консоль), алгоритм должен исправно выполнять задачу.

В дельфи Вы , увы, не продвигаетесь, пока у Вас есть фразы "поэтому я не знаю как работать со stringgrid", ибо быть программистом подразумевает умение научиться при надобности, для стринггрида, например, и учиться то почти не надо - достаточно загуглить любую минимальную описательную статью его свойств ( я уж молчу о справке, поиск инфы самостоятельно, опять же, одно из существенных качеств именно программиста).

Коли отказываетесь от задачи, которая, по Вашей неверной оценке, сложная, зачем вообще создавать тему ? Я задал 1 задачу сам, и ещё предложил пачку широкоизвестных задач (с решениями даже) - а Вы нос воротите, ничего по существу даже не начав думать. Не хотите решать - можете и дальше писать "плееры" и "тесты" (о них Вам уже всё сказали, начиная от того, что новичок не может сам осилить такую задачу, и вынужден использовать готовые компоненты, из-за чего получается ерунда ввиду непонимания даже основ пользования компонентами, и заканчивая свистелками, никому не нужными).

Помнится, Вы хотели расти, развиваться, однако, сейчас я не вижу этого. Особенно странно, что Вы при этом сами себя обманываете - мол "вот же я даже тему создал , чтобы мне задач дали и я их решал, рос над собой", на самом же деле, не делаете ничего. Помнится, я описанную задачу решил по молодости своей программерской, тупо прогуливаясь по улице - вариант для квадрата (в проге галочка на rb1, для прямоугольника rb2) , она не сложнее арифметики 2 класса, надо только правильно применить расчёт, ну и, как водится, обернуть в нужные функции, вызвать и использовать результат, т.е. задача - несложная, надо только чутка в голове представить и переложить в код, добавить визуализацию, но не прибивать эту визуализацию гвоздями к реализации, а сделать гибко, чтобы при надобности приклеить другую визуализацию (консоль, файл, что угодно).

Собственно статья - о компетентности, гибкой разработке, проектировании хотя бы в уме задач так, чтобы потом не переписывать http://www.gunsmoker.ru/2010/08/9897.html
Также жутко полезно для саморазвития http://www.gunsmoker.ru/2011/01/blog-post.html

Последний раз редактировалось phomm; 20.02.2013 в 07:31.
phomm вне форума Ответить с цитированием
Старый 20.02.2013, 10:41   #5
superedward
Форумчанин
 
Аватар для superedward
 
Регистрация: 27.11.2012
Сообщений: 190
По умолчанию

Цитата:
Сообщение от Алексей_2012 Посмотреть сообщение
Здравствуйте, простите за тему, знаю что на форуме есть не мало интересных тем, связанных с вопросами по коду программ, но все же, кто-нибудь может подкинуть пару интересных задач работы с массивами, и тп,
Начните писать свою программу (или продолжите плеер) - и масса интересных трудных и не очень задач вам обеспечена. Кроме того, это научит вас целеполаганию и дисциплине программирования.
superedward вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Где и как скачать программу Delphi. Может кто нибудь может помочь мне - без скачивания из интернета. IZOPGRAM Общие вопросы Delphi 4 16.06.2012 18:12
Может я не совсем по теме, но я надеюсь что найдется кто нибудь кто мне подскажет... xoi90 Работа с сетью в Delphi 1 23.01.2012 16:35
может кто-нибудь знает? Gerberka Паскаль, Turbo Pascal, PascalABC.NET 1 08.06.2010 19:08
Обход двочного дерева + пару отн. простых задач С++ Lazio Фриланс 3 14.04.2009 14:56