|
555 / 148 / 58
Регистрация: 27.07.2014
Сообщений: 2,446
|
|||||||
Новый цикл for в C++1117.12.2014, 00:46. Показов 51455. Ответов 38
Метки нет (Все метки)
0
|
|||||||
| 17.12.2014, 00:46 | |
|
Ответы с готовыми решениями:
38
Создать программу по всем 3 видам циклов...цикл с параметром,цикл с условием,цикл,и цикл с предусловием... Разбить цикл записи на отрезки по 1000 строк в каждый новый файл |
|
555 / 148 / 58
Регистрация: 27.07.2014
Сообщений: 2,446
|
||
| 17.12.2014, 03:58 [ТС] | ||
![]() Просто авторы некоторых олимпиадных задач придумывают какую-нибудь изощрённую задачу, затем пишут её решение через векторы, засекают время работы программы, а потом переписывают решение с массивами. А потом наступает самый интересный момент: автор выставляет такое время в тестирующей системе, чтобы решение с вектором не прошло, а с массивом спокойно пролезло бы. Вот так-то.
0
|
||
|
19501 / 10106 / 2461
Регистрация: 30.01.2014
Сообщений: 17,825
|
||
| 17.12.2014, 03:58 | ||
|
1
|
||
|
555 / 148 / 58
Регистрация: 27.07.2014
Сообщений: 2,446
|
|
| 17.12.2014, 03:59 [ТС] | |
|
0
|
|
| 17.12.2014, 04:07 | ||
|
Если верить
0
|
||
|
19501 / 10106 / 2461
Регистрация: 30.01.2014
Сообщений: 17,825
|
|||
| 17.12.2014, 04:11 | |||
|
Хочешь, давай сюда код, можно разобрать почему он вдруг стал просаживаться. Важно понимать, что вектор реализован с помощью тех же самых массивов, а не с помощью какого-то колдунства. Да, там есть определенный дополнительный код, который в некоторых моментах, может дать задержку (например инициализация значениями по-умолчанию), но в большинстве случаев дело все-таки в том, что вектор был неправильно\неоптимально применен. Огромное количество разоблачительных статей в интернете, содержали либо откровенную ложь, либо неправильный способ замера, либо неэквивалентный код. Случаи, где вектор действительно проседает, можно по пальцам пересчитать. Очень важно делать выводы на доказуемых объективных фактах, а не на догадках и видимом поведении, и уж тем более не на мифах из интернета. Добавлено через 2 минуты
0
|
|||
|
555 / 148 / 58
Регистрация: 27.07.2014
Сообщений: 2,446
|
||
| 17.12.2014, 04:14 [ТС] | ||
|
0
|
||
| 17.12.2014, 04:16 | |
|
Значит, ничего нового под луной - надо просто научиться правильно их готовить
А перед этим еще бы неплохо узнать что это вообще такое за зверь И чем он не массив и чем он не список И зачем он тогда нужен вообще (Я не намекаю на ликбез в этой теме, просто мысли вслух, Страуструп вон лежит до сих пор неоткрыванный, хотя там запросто STL может отсутствовать )Добавлено через 1 минуту Dennis Ritchie, далеко не факт, что это основная причина. Может вы не увидели алгоритм, который с цаутами и векторами со свистом бы прошел, а влезли еле-еле, сэкономив на копейках.
0
|
|
|
19501 / 10106 / 2461
Регистрация: 30.01.2014
Сообщений: 17,825
|
||
| 17.12.2014, 04:21 | ||
|
0
|
||
| 17.12.2014, 04:26 | |
|
Не по теме: Мне недавно одна знакомая квалифицированная бабка поведала, что в своих проектах реального времени под микроконтроллеры иногда применяет отладочную печать в консоль принтф-ами (в дебаг моде), а в релизе условной компиляцией не инклюдит стдио. Но суть не в этом, а в том, что если тебе не надо принтф-ить флоаты и даблы, можно подынклюдить его без этих опций - и он станет в несколько раз легче и существенно быстрее :)
0
|
|
|
555 / 148 / 58
Регистрация: 27.07.2014
Сообщений: 2,446
|
||||
| 17.12.2014, 04:32 [ТС] | ||||
|
По-моему, в полной мере std::cout не будет обгонять printf никогда (за исключением нескольких случаев). Добавлено через 3 минуты МюМатрица Если получится, то я признаю, что я дурак.
0
|
||||
|
555 / 148 / 58
Регистрация: 27.07.2014
Сообщений: 2,446
|
|
| 17.12.2014, 04:39 [ТС] | |
|
Очень интересно узнать, сколько времени вам придётся "кряхтеть", чтобы решить "простенькую" олимпиадную задачку.
0
|
|
|
19501 / 10106 / 2461
Регистрация: 30.01.2014
Сообщений: 17,825
|
|
| 17.12.2014, 04:48 | |
|
Dennis Ritchie,
Во-первых std::cout - это глобальная переменная, определенная в библиотеке c++ runtime. Из-за этого теряется главное преимущество, многие вызовы не могут быть встроены. Во-вторых потоки ввода вывода используют класс io-буфера с виртуальным интерфейсом. Это дизайн, нацеленный на расширение, но плата за это - снижение производительности. Виртуальные вызовы сами по себе накладнее обычных и встроится они не могут в силу неизвестности типа и возможности потенциальной замены конкретного объекта io-буфера. В третьих, сама реализация io-буфера для нас скрыта, там может, скажем, предусмотрена межпоточная синхронизация при выводе на экран. В однопоточном окружении она не используется, но свою степень задержки привносить может. Конечно с таким же успехом ее может там и не быть. Это зависит от реализации. А еще сам факт того, что это именно буферизированный ввод\вывод. Т.е. данные, сперва записываются в некий буфер, а потом уже сбрасываются в "устройство". printf конечно тоже буферизированный, но он может записать туда несколько аргументов одним махом, а std::cout - нет. Ускорить std::cout можно, например, заменив стандартный буфер на свой, например реализовав ввод-вывод через api системы, чтобы исключить промежуточные вызовы из crt. Есть шанс если не перегнать, то хотя бы сравнятся засчет того, что printf все-таки приходится осуществлять парсинг форматной строки, а std::cout обладает нужной информацией о типах сразу. А то, что std::endl срасывает буфер - это меньшая из всех проблем
2
|
|
|
555 / 148 / 58
Регистрация: 27.07.2014
Сообщений: 2,446
|
|
| 17.12.2014, 04:56 [ТС] | |
|
0
|
|
| 17.12.2014, 04:59 | |
|
0
|
|
|
286 / 192 / 56
Регистрация: 25.12.2012
Сообщений: 640
|
||
| 17.12.2014, 05:14 | ||
|
Добавлено через 1 минуту А также применим к C-массивам и спискам инициализаторов.
0
|
||
|
555 / 148 / 58
Регистрация: 27.07.2014
Сообщений: 2,446
|
|||
| 17.12.2014, 17:32 [ТС] | |||
|
Добавлено через 12 часов 11 минут DrOffset, чтобы решить эту задачу нужно использовать трёхмерный массив и операцию XOR (^).
0
|
|||
|
В астрале
8049 / 4806 / 655
Регистрация: 24.06.2010
Сообщений: 10,562
|
||
| 17.12.2014, 17:54 | ||
|
Возвращаемый данными фукнциями тип должен следовать концепции итератора конечно же.
0
|
||
|
Форумчанин
8217 / 5048 / 1437
Регистрация: 29.11.2010
Сообщений: 13,453
|
|||||||
| 17.12.2014, 19:48 | |||||||
|
Добавлено через 2 минуты Кстати, либа pugixml поддерживает данную концепцию. Можно перебирать все атрибуты или детей с помощью range-base for, что неописуемо удобно. Выдрано с неё:
Вот тут пользовательский класс, использующий проход по итераторам. Подсчитать средний балл студента
1
|
|||||||
| 17.12.2014, 19:48 | |
|
Вычислить и вывести сумму чётных целых чисел в интервале от 1 до n: 1) цикл «ДО» 2) цикл «ПОКА» 3) цикл «ДЛЯ»
Вместо письма новый заказ, приходит письмо: зарегистрирован новый пользователь Hdd Victoria, нет IDE режима. Новый комп и новый винт Новый домен сейчас лучше прикрепить к старому сайту или поставить на новый сайт? Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Установка статуса документа по условию
Maks 05.07.2026
Алгоритм из решения ниже реализован на нетиповом документе "НарядПутевка" разработанного в КА2.
Задача: в табличной части "Материалы" документа при записи автоматически устанавливать статус. . .
|
Сезонность и суточность закисления почв
anaschu 04.07.2026
200 часов это все равно моловато. Есть ситуации, но нестандартные, когда смена происходит за 5 лет.
Но обычно это 50 лет и более.
Наверное, закисление почвы происходит сезонно в средней. . .
|
В чем ценность человеческого опыта в глобальном смысле?
kumehtar 03.07.2026
Возможно, ценность человека не в том, что он однажды достигает мудрости, а в том, что он становится носителем карты пути. Он знает не только истину, но и последовательность внутренних изменений,. . .
|
интеграция AnyLogic с самописным REST API и переход на Odoo
anaschu 03.07.2026
Успешная интеграция AnyLogic с самописным REST API и переход на промышленную Odoo WMS
Сегодня проделал огромный путь от простой симуляции физических процессов до построения полноценной. . .
|
|
Поиск всех путей на ориентированном графе. Linux
dcc0 02.07.2026
Переработка старого кода из моей статьи.
Через несколько переработок от PHP кода к C89 (надеюсь, 89).
Но довольно запутанно получилось. Код для Linux.
Но если убрать time и то, что с ним. . .
|
Сам себя обучал rest api
anaschu 02.07.2026
Педагогический лайфхак: Почему чистый REST API для ученика намного круче, чем готовые библиотеки
Когда мы отказались от капризного JAR-файла AnyLogic и переписали код на стандартный HttpClient,. . .
|
rest api anylogic - выполнение модели на своём русском сайте
anaschu 02.07.2026
Как подружиться с AnyLogic Cloud API, победить провайдеров и развернуться Java-бэкенд в Docker на бесплатном хостинге: Двухдневный лог борьбы
Всем привет! Хочу поделиться свежим (и довольно. . .
|
Где деньги лежат
kumehtar 02.07.2026
Это - японская подводная лодка I-52 (тип C2, кодовое имя Momi) вышла из Японии в марте 1944 года с миссией в оккупированную немцами Францию (Лорьян). Это была одна из «Янаги»-миссий по обмену. . .
|