задача
От: nikkit  
Дата: 13.09.23 08:53
Оценка: +3 :))) :))) :))) :))) :))) :))) :))) :))) :)
возможно бородатая

Отредактировано 13.09.2023 8:54 nikkit . Предыдущая версия .
Re[2]: задача
От: · Великобритания  
Дата: 13.09.23 20:09
Оценка: +3 :))) :))) :))) :))) :))) :))
Здравствуйте, Shmj, Вы писали:

S> Ну давайте за одно и правильное решение — функция на основе произвольного числа пишет большую Х в квадрате.

void f(int number)
{
  print("X²");
}
avalon/3.0.0
но это не зря, хотя, может быть, невзначай
гÅрмония мира не знает границ — сейчас мы будем пить чай
Re: задача
От: Michael7 Россия  
Дата: 13.09.23 09:49
Оценка: +5
Здравствуйте, nikkit, Вы писали:

N>возможно бородатая


Задача решена, условие соблюдено, все верно.
Re[3]: задача
От: graniar  
Дата: 13.09.23 10:43
Оценка: +4
Здравствуйте, nikkit, Вы писали:

N>знакомый есть. много писал в кодах на спектруме. иной раз делишься проблемой. вот так и так. алгоритм не придумывается как эту хрень решить. он: а нафига. просто составляем табличку, со значениями и все...


Притом, что это порой бывало необходимой оптимизацией, чтоб че-то работало со сколько-то приемлимой скоростью, там таблица предвычисленных синусов например.
Re[4]: задача
От: wl. Россия  
Дата: 13.09.23 18:54
Оценка: +1 :))
Здравствуйте, Эйнсток Файр, Вы писали:

ЭФ>Значит надо больше архитектуры.

ЭФ>И исходное требование наличия двух циклов — оно относится к перерисовываему прямоугольнику, а не к коду расчёта графики.

согласен, к тому же, даже по скриншоту видно, что прямоугольники разного цвета. Задача не решена
Re[2]: задача
От: Pyromancer  
Дата: 13.09.23 13:42
Оценка: 2 (1)
Здравствуйте, Shmj, Вы писали:

S>Ну давайте за одно и правильное решение — функция на основе произвольного числа пишет большую Х в квадрате.


Да ничего сложного вроде, два цикла и печатай символ еcли хоть одно из 6 условий верно и пробел иначе
x = 15
for i in range(x):
    for j in range(x):
        if i in (0, x-1) or j in (0,x-1,i,x-i-1):
            print('#', end='')
        else:
            print(' ', end='') 
    print('')
Re: задача
От: Sinclair Россия https://github.com/evilguest/
Дата: 14.09.23 11:37
Оценка: +1
Здравствуйте, nikkit, Вы писали:
N>возможно бородатая

Кстати, прекрасный пример того, как дать правильный ответ на неправильный вопрос.
Вот если бы экзаменующий озаботился мелочами, вроде упоминания того, что паттерн должен быть размером N на N, где N — параметр функции, то приведённый ответ оказался бы неверным (и, возможно, экзаменуемый был бы вынужден написать чуть более близкий к ожиданиям экзаменатора код).
Уйдемте отсюда, Румата! У вас слишком богатые погреба.
Re[4]: задача
От: graniar  
Дата: 15.09.23 07:19
Оценка: +1
Здравствуйте, Эйнсток Файр, Вы писали:

ЭФ>Я думаю, что не надо мешать код, который вычисляет с кодом, который рисует.

ЭФ>Что если выводить надо в графическое окно на Gtk+ и требуется обеспечить перерисовку произвольного вложенного прямоугольника?
ЭФ>Значит надо больше архитектуры.

Не надо.
В жизни зачастую надо бывает по-быстрому написать прототип, чтобы понять, что это не совсем то, что надо, а попутно лучше погрузиться в предметную область.
А если с самого начала заморачиваться архитектурой — будешь великим архитектором, который так ничего и не создал полезного.

ЭФ>И исходное требование наличия двух циклов — оно относится к перерисовываему прямоугольнику, а не к коду расчёта графики.


Там про графику вообще ничего не говориться, ты сам проблему на ровном месте придумал.

ЭФ>Такой пример показал бы скилл seasoned-программера


Нет, он показал бы увлекающегося любителя делать то, о чем не просили.
Re: задача
От: Shmj Ниоткуда  
Дата: 13.09.23 09:48
Оценка:
Здравствуйте, nikkit, Вы писали:

N>возможно бородатая


N>Image: e8570c99ea3ad00f0709eb41230cab37.png


Ну давайте за одно и правильное решение — функция на основе произвольного числа пишет большую Х в квадрате.
=сначала спроси у GPT=
Re[2]: задача
От: nikkit  
Дата: 13.09.23 10:25
Оценка:
M>Задача решена, условие соблюдено, все верно.

знакомый есть. много писал в кодах на спектруме. иной раз делишься проблемой. вот так и так. алгоритм не придумывается как эту хрень решить. он: а нафига. просто составляем табличку, со значениями и все...
Re[3]: задача
От: sambl74 Россия  
Дата: 13.09.23 10:50
Оценка:
Здравствуйте, nikkit, Вы писали:

N>знакомый есть. много писал в кодах на спектруме. иной раз делишься проблемой. вот так и так. алгоритм не придумывается как эту хрень решить. он: а нафига. просто составляем табличку, со значениями и все...


Там же памяти не особо было много — наоборот чаще всякие генераторы нужных данных писали
Re[4]: задача
От: nikkit  
Дата: 13.09.23 10:57
Оценка:
S>Там же памяти не особо было много — наоборот чаще всякие генераторы нужных данных писали

ну и генераторы. да. но их проще написать.
Re[4]: задача
От: Mihas  
Дата: 13.09.23 11:26
Оценка:
Здравствуйте, sambl74, Вы писали:

S>Там же памяти не особо было много — наоборот чаще всякие генераторы нужных данных писали

Как генератор галактик в Элите?
Re[3]: задача
От: Эйнсток Файр Мухосранск Странный реагент
Дата: 13.09.23 14:59
Оценка:
S>> Ну давайте за одно и правильное решение — функция на основе произвольного числа пишет большую Х в квадрате.
P> Да ничего сложного вроде, два цикла и печатай символ еcли хоть одно из 6 условий верно и пробел иначе

Я думаю, что не надо мешать код, который вычисляет с кодом, который рисует.
Что если выводить надо в графическое окно на Gtk+ и требуется обеспечить перерисовку произвольного вложенного прямоугольника?
Значит надо больше архитектуры.
И исходное требование наличия двух циклов — оно относится к перерисовываему прямоугольнику, а не к коду расчёта графики.

ещё надо какой-нибудь функциональщины для распараллеливания вычислений.
И считаться это должно на GPU, чтобы разгрузить CPU для принятия стратегических решений.

Такой пример показал бы скилл seasoned-программера, особенно
если бы была обеспечена кроссплатформенность (Android, freebsd) с опорой на стандарты типа Vulkan и т.п.

Vulkan can be used on FreeBSD through the Mesa 3D Graphics Library, and Wayland is supported on FreeBSD through compositors such as Wayfire and Hikari. Vulkan can also be used as a rendering backend for Wayland compositors, as demonstrated by projects like swvkc. By combining these technologies, developers can create high-performance graphics applications on FreeBSD

Отредактировано 13.09.2023 15:17 Эйнсток Файр . Предыдущая версия . Еще …
Отредактировано 13.09.2023 15:10 Эйнсток Файр . Предыдущая версия .
Отредактировано 13.09.2023 15:08 Эйнсток Файр . Предыдущая версия .
Отредактировано 13.09.2023 15:07 Эйнсток Файр . Предыдущая версия .
Re[2]: задача
От: Shmj Ниоткуда  
Дата: 13.09.23 16:54
Оценка:
Здравствуйте, Michael7, Вы писали:

M>Задача решена, условие соблюдено, все верно.


Формально — да. Но работодатели хотят чтобы вы угадывали их мысли даже при не точной формулировке. Вот в чем фокус.

Т.е. кто просто работает формально — менее ценен, чем тот, кто может догадаться.
=сначала спроси у GPT=
Re[3]: задача
От: Sinclair Россия https://github.com/evilguest/
Дата: 14.09.23 11:34
Оценка:
Здравствуйте, ·, Вы писали:

·>
·>void f(int number)
·>{
·>  print("X²");
·>}
·>

Вы приняты!
Уйдемте отсюда, Румата! У вас слишком богатые погреба.
Re[3]: задача
От: alzt  
Дата: 14.09.23 20:47
Оценка:
Здравствуйте, Shmj, Вы писали:

M>>Задача решена, условие соблюдено, все верно.


S>Формально — да. Но работодатели хотят чтобы вы угадывали их мысли даже при не точной формулировке. Вот в чем фокус.


Никому не нужны такие хитрожопые, которые поймут задачу, но сделают не так как надо было.
А потом ещё и претензию предъявляют к формулировкам задания.
Re[4]: задача
От: Shmj Ниоткуда  
Дата: 15.09.23 03:54
Оценка:
Здравствуйте, alzt, Вы писали:

A>Никому не нужны такие хитрожопые, которые поймут задачу, но сделают не так как надо было.

A>А потом ещё и претензию предъявляют к формулировкам задания.

Таким нужно идти в гос. которы. Там. тебя просто не получится сделать что-то иначе — формулировки будут на 100-500 страниц текста.
=сначала спроси у GPT=
Re[2]: задача
От: Pzz Россия https://github.com/alexpevzner
Дата: 15.09.23 14:27
Оценка:
Здравствуйте, Shmj, Вы писали:

S>Ну давайте за одно и правильное решение — функция на основе произвольного числа пишет большую Х в квадрате.


int main (void)
{
    printf("*************\n"
           "*           *\n"
           "* XX     XX *\n"
           "* XX     XX *\n"
           "*  XX   XX  *\n"
           "*   XX XX   *\n"
           "*    XXX    *\n"
           "*   XX XX   *\n"
           "*  XX   XX  *\n"
           "* XX     XX *\n"
           "* XX     XX *\n"
           "*           *\n"
           "*************\n");

    return 0;
}
Re[5]: задача
От: Pzz Россия https://github.com/alexpevzner
Дата: 15.09.23 14:29
Оценка:
Здравствуйте, graniar, Вы писали:

G>А если с самого начала заморачиваться архитектурой — будешь великим архитектором, который так ничего и не создал полезного.


А если с самого начала не будешь заморачиваться архитектурой, так и будешь всю жизнь грушу трясти, а не думать.
Re[3]: задача
От: Pzz Россия https://github.com/alexpevzner
Дата: 15.09.23 14:29
Оценка:
Здравствуйте, ·, Вы писали:

·>Здравствуйте, Shmj, Вы писали:


S>> Ну давайте за одно и правильное решение — функция на основе произвольного числа пишет большую Х в квадрате.

·>
·>void f(int number)
·>{
·>  print("X²");
·>}
·>


\n в конце пропущен.
Re[4]: задача
От: graniar  
Дата: 15.09.23 14:56
Оценка:
Здравствуйте, Pzz, Вы писали:

Pzz>·> print("X²");


Pzz>\n в конце пропущен.


Не понятно, что за функция print. Возможно неправильный формат строки, по идее должно быть L"X²" (хотя может какая-то хитрая кодировка)

А вот про "\n" в ТЗ ничего не было сказано. Вывел X², вывел. Зафлушит буффер по выходу если что.
Re[6]: задача
От: graniar  
Дата: 15.09.23 15:01
Оценка:
Здравствуйте, Pzz, Вы писали:

Pzz>А если с самого начала не будешь заморачиваться архитектурой, так и будешь всю жизнь грушу трясти, а не думать.


Это если никогда не будешь заморачиваться архитектурой. Всему свое время и место.
Re[5]: задача
От: Эйнсток Файр Мухосранск Странный реагент
Дата: 15.09.23 16:54
Оценка:
G> Там про графику вообще ничего не говориться, ты сам проблему на ровном месте придумал.

Про размер прямоугольника в N там тоже ничего не говорится. Чем моя проблема хуже?

ЭФ>> Такой пример показал бы скилл seasoned-программера


G> Нет, он показал бы увлекающегося любителя делать то, о чем не просили.


А может клиентоориентированность и умение предвосхищать запросы?

Совершенно очевидно, что это рисунок. Где рисунок — там графика. Как тут можно вообще говорить о консоли?
Отредактировано 15.09.2023 17:34 Эйнсток Файр . Предыдущая версия .
Re[3]: задача
От: 777777w Россия  
Дата: 15.09.23 17:42
Оценка:
Здравствуйте, Shmj, Вы писали:

S>Формально — да. Но работодатели хотят чтобы вы угадывали их мысли даже при не точной формулировке. Вот в чем фокус.


Как измерить высоту здания с помощью барометра
Re[3]: задача
От: MaximVK Россия  
Дата: 17.09.23 23:41
Оценка:
Здравствуйте, Pyromancer, Вы писали:

P>Да ничего сложного вроде, два цикла и печатай символ еcли хоть одно из 6 условий верно и пробел иначе

P>
P>x = 15
P>for i in range(x):
P>    for j in range(x):
P>        if i in (0, x-1) or j in (0,x-1,i,x-i-1):
P>            print('#', end='')
P>        else:
P>            print(' ', end='') 
P>    print('')
P>


Задумался, а можно ли упростить условие под if или доказать, что проще нельзя (вопрос, конечно, как определить "проще"):
Я вот сходу только такое придумал, операций тут больше, но сравнений меньше
if (i+j)%n in (i,j,0,2*i,2*i-n)


Ну или еще так можно
if (i%n)*(j%n)*(i-j)*(n-i-j) == 0:
Отредактировано 18.09.2023 0:05 MaximVK . Предыдущая версия . Еще …
Отредактировано 17.09.2023 23:55 MaximVK . Предыдущая версия .
Отредактировано 17.09.2023 23:54 MaximVK . Предыдущая версия .
Отредактировано 17.09.2023 23:53 MaximVK . Предыдущая версия .
Отредактировано 17.09.2023 23:42 MaximVK . Предыдущая версия .
Отредактировано 17.09.2023 23:42 MaximVK . Предыдущая версия .
Re[4]: задача
От: Константин Б. Россия  
Дата: 19.09.23 08:23
Оценка:
Здравствуйте, Эйнсток Файр, Вы писали:

S>>> Ну давайте за одно и правильное решение — функция на основе произвольного числа пишет большую Х в квадрате.

P>> Да ничего сложного вроде, два цикла и печатай символ еcли хоть одно из 6 условий верно и пробел иначе

ЭФ>Я думаю, что не надо мешать код, который вычисляет с кодом, который рисует.

ЭФ>Что если выводить надо в графическое окно на Gtk+ и требуется обеспечить перерисовку произвольного вложенного прямоугольника?

Изменения потребуются минимальные


sys.stdout = GtkPlusOutputStream(100, 100, 200, 200)

x = 15
for i in range(x):
    for j in range(x):
        if i in (0, x-1) or j in (0,x-1,i,x-i-1):
            print('#', end='')
        else:
            print(' ', end='') 
    print('')
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.