Сидредин
100 часов кодинга)
Сергей
Посоветуйте ментора по веб разработке
Иаков
Исправительных работ))
Камни лопатить? Или в экселе работать?
Andrii
Да, не удаляет 😊
Михаил
Но я тупил и сделал циклами
ты сэкономил память) кстати в трассировке лучей запрещена рекурсия, там юзают стек или очередь
Bogdan
Но я тупил и сделал циклами
Один фиг если будет хвостовая рекурсия она к ним сведётся
Andrii
Один фиг если будет хвостовая рекурсия она к ним сведётся
Если быть более точным, то к goto. int test(int value) { /* .... */ if (something) { test(new_value); } /* ..... */ } в общем-то эквивалентно int test(int value) { entry: /* .... */ if (something) { value = new_value; goto entry; } /* .... */ }
Jsx707
Если быть более точным, то к goto. int test(int value) { /* .... */ if (something) { test(new_value); } /* ..... */ } в общем-то эквивалентно int test(int value) { entry: /* .... */ if (something) { value = new_value; goto entry; } /* .... */ }
Andrii, мне очень нужна помощь. Я сделал функцию, которая является надстройкой над std :: cout;. У неё доп возможности просто есть, ну не важно, я сделал так, что она принимает неограниченное количество аргументов в виде const char *message, ... Но я теперь не знаю как сделать так чтобы все эти аргументы передать в cout
Jsx707
То есть, при передаче, даже через указатель , выводится только первое сообщение
Jsx707
Я пытался использовать что-то типа va_list, va_start
Andrii
Я пытался использовать что-то типа va_list, va_start
Скорее всего не получится, потому что va_list и ко пришли из Си, и там передается значение, но не передается тип. Поэтому ты не можешь его знать. Поэтому невозможно выбрать какую из перегрузок вызвать
Jsx707
Console.hpp class Console { public: void Out(const char *message, ...) ; //тут есть и другие аргументы, но пока не важно }; void Console :: Out(const char *message, ...) { std :: cout << message << std :: endl; } Как видишь, вот такой вариант работать не будет
Jsx707
Я пробовал ещё так void Console :: Out (const char *message, ...) { char **p_message = const char *message; //вроде так //вывод на экран }
Jsx707
Но всё равно только одно сообщение
Andrii
У тебя разные сигнатуры методов
Jsx707
Jsx707
Там всё одинаково на самом деле , что в хедере, что в исходнике
Alex
подскажите, если я могу сделать 2 одинаковые вещи через CSS и через javascript - делать через css? есть какое-нибудь правило?
Jsx707
Я видел как при помощи указателя получают все аргументы, которые были переданы и выводят из на экран или возвращают, но это были числа
Andrii
#include <iostream> class Console { public: void Out(const char *message, ...); }; void Console::Out(const char *message, ...) { std::cout << message << std::endl; } int main() { Console dummy; dummy.Out("Слава Україні!"); return 0; } Всё прекрасно работает и выводит то что и должно
Jsx707
В этом и проблема, а так вообще без проблем
Andrii
В этом и проблема, а так вообще без проблем
Как передаёшь? Если их передаёшь в ..., то теряется информация про их типы, и ты не вызовешь больше std::cout так, чтобы она сама узнала тип
Andrii
Например, dummy.Out("Слава Україні!", 12) Как узнать тип второго аргумента? Ответ: никак. Ты должет по аналогии с printf передавать какой-нить %d и тогда функция будет знать ага, следующий параметр имеет тип int, ...
Andrii
Ну и пока ты не будешь представлять, примерно как твоя программа будет выглядеть в машинном коде, то va_list, va_start лучше не использовать, оно работает не так, как тебе представляется.
m700
фофа
Всем привет
m700
Всем привет
доброго времени!
фофа
ребят скажите пожалуйста, как передать второй аргумент при селекте функции в PostgreSQL
фофа
(CREATE OR REPLACE FUNCTION get_product_info (set_discontinued int DEFAULT 1, set_reorder smallint DEFAULT 0, OUT avg_price_stock real)
Andrii
В этом и проблема, а так вообще без проблем
Так тоже без проблем: $ cat test.cpp #include <iostream> #include <stdarg.h> class Console { public: void Out(const char *message, int num, ...); }; void Console::Out(const char *message, int num, ...) { std::cout << message; va_list ap; va_start(ap, num); for (int i=0; i<num; ++i) { std::cout << " " << va_arg(ap, int); } va_end(ap); std::cout << std::endl; } int main() { Console dummy; dummy.Out("Слава Україні!", 3, 1, 2, 3); return 0; } $ ./test Слава Україні! 1 2 3
фофа
я пишу SELECT * FROM get_product_info ( 0, 25) AS prod_info
так, уже не нужно я понял как эта штука работает
Vadim
как на гитхабе можно заработать?
Михаил
как на гитхабе можно заработать?
нашелся предприниматель 😁 Вот че именно github
Maksim Pozharskiy
как на гитхабе можно заработать?
продавать доступ к приватным репозиториям
Vadim
То есть минимальный план такой 1. Зайти на stepik.ru 2. Зарегистрироваться 3. Вбить в поиск "Поколение Python" 4. Найти два курса (Для новичков, для профи) 5. Поступить сначала Для новичков и закончить его. 5.1 Во время перекуров читать, что такое гит и с чем его едят. 6. Поступить для профи и закончить его 6.1 По пути изучать GitLab и GitHub 7. После окончания, попробовать свои силы в пет проектах по питону зайдя на ГитХаб и вбить (Проекты на языке Python для новичков) 8. Клепать проекты оставляя коммиты.
Михаил
продавать доступ к приватным репозиториям
да, пишешь типа у меня здесь код с утечки GTA VI, платят 100500 кк, открывают репу, а там 10000 hello world'ов на BASIC
David
https://pastebin.com/ZhYDQJLY Нужно разделить строку на 2 символа. То есть abcdef = ab, cd, ef. С моим вариантом выводит вот так ab cd ef, то есть оставляет пропуски
David
C#
m700
ноготочки можно стильно красить еще
David
m700
чото знакомая задачка
m700
что это?
задачи где трейнить можно
m700
С codewars задача
они пересекаются
m700
С codewars задача
зачем те стринг билдер? лишний жор памяти
David
зачем те стринг билдер? лишний жор памяти
как по другому записывать если нужно в одну ячейку записать 2 строки?
David
😅🤷
David
result_arr[i] = str[i]+str[i+1] чем не подходит?
А, массив - string, а символы char
David
привести нельзя?
Теперь ab - bc - cd - de - ef🥲 то, что у меня было с самого начала
m700
а я не видел задание
m700
потому сам придумал
m700
меня решение устроило
m700
а тебе чем не нравится? как надо тебе?
m700
ab - cd - ef
значит i в цикле инкрементируй по 2, а в массиве j инкрементируй по 1
m700
for(int i = 0, j=0; i<symbols.Length-1; i+=2, j++)
m700
result_arr[j] = str[i]+str[i+1] ч
m700
и сразу посмотри по заданию что делать если нечетно и этот случай учитывай
Oleksii
Алексей IT Тренер ✈️ Киря Самойлоff Олег Зовите отзовитесь, не боты ли вы
Asiman
it тренер)))
Sergey
Agent_RBY_
Оно живое!
Time
Есть кто может взломать аккаунт в инстаграм? Напишите в личку
где-то я слышал: "программист не хакер, а вот хакер - программист"
Oleksii
@sdrddn сбой протокола, получили ответ
Владимир
Для того чтобы установить прогу требуется мак ос 10.14, зашёл в настройки, а уменя стоит 10.13. Хотя систему обновлял недавно. Как поставить 10.14 ?