Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.66/41: Рейтинг темы: голосов - 41, средняя оценка - 4.66
0 / 0 / 0
Регистрация: 05.06.2012
Сообщений: 75
1

Библиотеки на олимпиадах

02.08.2013, 18:28. Показов 8018. Ответов 29
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Я собираюсь участвовать в олимпиаде по информатике(Украина). Я использую Microsoft Visual C++ 2010 Express. На олимпиадах, как я знаю часто используюn намного ранние версии этой программы. Скажите пожалуйста, есть ли запрещенные библиотеки на олимпиадах, такие как #include<getch>. Есть ли все библиотеки Microsoft Visual C++ 2010 Express например Microsoft Visual C++ 6.0 и более ранних. Мне это нужно знать, так как я использую такие библиотеки:
C++
1
2
3
4
5
6
7
#include<iostream>
#include<iomanip>
#include<string>
#include<vector>
#include<algorithm>
#include<fstream>
// другие
И если там не будет библиотеки #include<algorithm>, я просто некоторые вещи не сделаю. Есть ли отличия в библиотеках более ранних Microsoft Visual, и других компиляторах?
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
02.08.2013, 18:28
Ответы с готовыми решениями:

Какой компилятор используется на олимпиадах
Возможно это очень глупый вопрос ,но мне надо знать какой компилятор используется на олимпиадах...

Четверо студентов на олимпиадах
выручите, сделайте пожалуйста две простые программки на Visual Prolog'e: 1) Четверо студентов :...

Путин: на Олимпиадах надо не «потеть», а «побеждать»
Подготовка сборной России к Олимпиаде в Ванкувере обошлась в 5 раз дороже, чем к Турину, сообщил...

про библиотеки в VS C++ (какие библиотеки нужны для функций 'cout' и 'cin')
какие библиотеки нужны для функций 'cout' и 'cin' ???

29
4064 / 3318 / 924
Регистрация: 25.03.2012
Сообщений: 12,493
Записей в блоге: 1
02.08.2013, 18:40 2
если ты не способен что-то сделать без библиотеки <algorithm>, тебе бесполезно решать олимпиадные задачи.
Т.к. <algorithm> содержит довольно примитивные алгоритмы, которым легко найти замену.
0
2835 / 1644 / 254
Регистрация: 03.12.2007
Сообщений: 4,222
02.08.2013, 18:52 3
Цитата Сообщение от wwmwwm Посмотреть сообщение
Скажите пожалуйста, есть ли запрещенные библиотеки на олимпиадах, такие как #include<getch>.
Что касается getch, то её даже смысла нет запрещать, потому что если стандартный ввод будет из файла, а ты используешь getch, то прога просто повиснет и отвалится по time limit или даже по idleness time limit.

Не по теме:

Цитата Сообщение от wwmwwm Посмотреть сообщение
И если там не будет библиотеки #include<algorithm>, я просто некоторые вещи не сделаю.
Вот этим Pascal и лучше, что там нет таких вещей в стандартной библиотеке...



Добавлено через 1 минуту
Да, не обратил внимания сначала... #include <getch>
0
4064 / 3318 / 924
Регистрация: 25.03.2012
Сообщений: 12,493
Записей в блоге: 1
02.08.2013, 18:52 4
Цитата Сообщение от Somebody Посмотреть сообщение
Вот этим Pascal и лучше, что там нет таких вещей в стандартной библиотеке...
не понял, каких вещей там нет?
0
2835 / 1644 / 254
Регистрация: 03.12.2007
Сообщений: 4,222
02.08.2013, 18:54 5
Цитата Сообщение от Kuzia domovenok Посмотреть сообщение
не понял, каких вещей там нет?
Нету стандартной библиотеки с алгоритмами. Поэтому те, кто начинают олимпиадное программирование с Паскаля, умеют написать хотя бы бинпоиск и хоть какую сортировку. А кто начинает с C++...
2
4064 / 3318 / 924
Регистрация: 25.03.2012
Сообщений: 12,493
Записей в блоге: 1
02.08.2013, 19:02 6
Цитата Сообщение от Somebody Посмотреть сообщение
Нету стандартной библиотеки с алгоритмами. Поэтому те, кто начинают олимпиадное программирование с Паскаля, умеют написать хотя бы бинпоиск и хоть какую сортировку. А кто начинает с C++...
Ну так ведь и начинать надо грамотно! Зачем вообще начинать с алгоритмов, если шаблоны не знаешь?
Зачем начинать с шаблонов, если с нешаблонными функциями управиться не можешь?
Зачем пользоваться какими-то библиотеками, если циклы освоить не можешь?
1
0 / 0 / 0
Регистрация: 05.06.2012
Сообщений: 75
02.08.2013, 19:43  [ТС] 7
Цитата Сообщение от Kuzia domovenok Посмотреть сообщение
если ты не способен что-то сделать без библиотеки <algorithm>, тебе бесполезно решать олимпиадные задачи.
Т.к. <algorithm> содержит довольно примитивные алгоритмы, которым легко найти замену.
Но не стоит изобретать велосипед. Да, я понимаю, что лучше бы мне тот самый qsort выучить, но так как у меня учителя нет, а выучить много нужно, я просто выучил реализацию этого алгоритма стандартными библиотеками.
0
2835 / 1644 / 254
Регистрация: 03.12.2007
Сообщений: 4,222
02.08.2013, 19:54 8
Цитата Сообщение от wwmwwm Посмотреть сообщение
я просто выучил реализацию этого алгоритма стандартными библиотеками
И что ты понимаешь под реализацией алгоритма в таком случае?
0
4064 / 3318 / 924
Регистрация: 25.03.2012
Сообщений: 12,493
Записей в блоге: 1
02.08.2013, 19:55 9
Цитата Сообщение от wwmwwm Посмотреть сообщение
Но не стоит изобретать велосипед. Да, я понимаю, что лучше бы мне тот самый qsort выучить, но так как у меня учителя нет, а выучить много нужно, я просто выучил реализацию этого алгоритма стандартными библиотеками.
если неспособен написать сортировку, олимпиадные задачи решать бесполезно. Просто возьми учебник по алгоритмам. и готовься к решению олимпиадных задач.
0
194 / 174 / 30
Регистрация: 10.07.2012
Сообщений: 800
02.08.2013, 19:57 10
Цитата Сообщение от wwmwwm Посмотреть сообщение
Но не стоит изобретать велосипед. Да, я понимаю, что лучше бы мне тот самый qsort выучить, но так как у меня учителя нет, а выучить много нужно, я просто выучил реализацию этого алгоритма стандартными библиотеками.
дело в том, что в библиотеке реализованы алгоритмы в первозданном виде... в задачах же очень часто требуется вносить дополнения в самое "нутро"...
в плане более-менее сложных алгоритмов <algorithm> помочь может разве что sort()-ом. главное его преимущество в том, что код можно уменьшить и сделать читабельнее. я, например, очень люблю использовать fill(), reverse(), использую count(), min/max_element()... просто очень удобно.
0
0 / 0 / 0
Регистрация: 05.06.2012
Сообщений: 75
02.08.2013, 20:15  [ТС] 11
Цитата Сообщение от Somebody Посмотреть сообщение
И что ты понимаешь под реализацией алгоритма в таком случае?
C++
1
2
3
4
int comp(const void *i, const void *j)
{
  return *(int *)i - *(int *)j;
}
0
2835 / 1644 / 254
Регистрация: 03.12.2007
Сообщений: 4,222
02.08.2013, 20:21 12
Цитата Сообщение от wwmwwm Посмотреть сообщение
C++
1
2
3
4
int comp(const void *i, const void *j)
{
  return *(int *)i - *(int *)j;
}
Мда... Это функция сравнения и не более того.
0
Заблокирован
02.08.2013, 20:28 13
Цитата Сообщение от Somebody Посмотреть сообщение
Мда... Это функция сравнения и не более того.
Это опасная функция сравнения и абсолютно беспонтовая, хочу знать откуда ТС ее откопал ).
1
32 / 32 / 3
Регистрация: 04.04.2010
Сообщений: 414
02.08.2013, 21:55 14
А может кто пояснить этот алгоритм? Не особо врубился как он сравнивает...
1
9 / 8 / 2
Регистрация: 02.05.2012
Сообщений: 92
02.08.2013, 21:57 15
wwmwwm, На олимпиадах все библиотеки, указаные в теме разрешены, так что не боись, и участвуй, и удачи тебе
1
0 / 0 / 0
Регистрация: 05.06.2012
Сообщений: 75
03.08.2013, 00:52  [ТС] 16
Цитата Сообщение от rrrFer Посмотреть сообщение
Это опасная функция сравнения и абсолютно беспонтовая, хочу знать откуда ТС ее откопал ).
Почему. Это же qsort, который упорядычивает массив по возрастанию. Потом в компататоре мы указываем название массива, количество элементов в нем, тип массива, и в конце название функции которую я написал на форуме. Вот так:
C++
1
qsort(arr, arr+n, sizeof(int), comp)
0
What a waste!
1608 / 1300 / 180
Регистрация: 21.04.2012
Сообщений: 2,729
03.08.2013, 02:48 17
Цитата Сообщение от wwmwwm Посмотреть сообщение
Почему. Это же qsort, который упорядычивает массив по возрастанию.
И зачем он нужен в С++, если есть sort?
0
2835 / 1644 / 254
Регистрация: 03.12.2007
Сообщений: 4,222
03.08.2013, 11:45 18
Цитата Сообщение от wwmwwm Посмотреть сообщение
Почему. Это же qsort, который упорядычивает массив по возрастанию.
Потому что при вычитании может быть переполнение.

Добавлено через 3 минуты
Ещё, думаю, если const void*, то по-хорошему надо const int*.
А такой код с вычитанием и на cppreference.com, и на cplusplus.com.
0
Эксперт С++
5828 / 3479 / 358
Регистрация: 08.02.2010
Сообщений: 7,448
03.08.2013, 11:56 19
Цитата Сообщение от rrrFer Посмотреть сообщение
Это опасная функция сравнения и абсолютно беспонтовая, хочу знать откуда ТС ее откопал ).
А что в ней «опасного» и «беспонтового»? Кроме того, что const void * приводится не к const int *?

Цитата Сообщение от rrrFer Посмотреть сообщение
хочу знать откуда ТС ее откопал ).
Стандартная функция сравнения чисел для qsort.

Добавлено через 1 минуту
Цитата Сообщение от wwmwwm Посмотреть сообщение
C
1
qsort(arr, arr+n, sizeof(int), comp)
Второй аргумент qsort — это размер массива.

Добавлено через 3 минуты
Цитата Сообщение от Somebody Посмотреть сообщение
Поэтому те, кто начинают олимпиадное программирование с Паскаля, умеют написать хотя бы бинпоиск и хоть какую сортировку. А кто начинает с C++...
Ну, говорить о том, кто лучше знает элементарные алгоритмы — бесполезно, т.к. объективной статистики нет и не может быть, а твоя выборка — нерепрезентативна.

Кстати, на региональных (как минимум) турах ACM ICPC тот же qsort и bsearch разрешены. А вот time почему-то нет.
1
2835 / 1644 / 254
Регистрация: 03.12.2007
Сообщений: 4,222
03.08.2013, 12:17 20
Цитата Сообщение от Nameless One Посмотреть сообщение
А вот time почему-то нет.
Если задача такая, что со временем находится более хорошее решение и в какой-то момент оно становится окончательным, то вместо математической границы поиска можно использовать временную. Помню, в Turbo Pascal'е использовали longint absolute 0:$46c. Видимо, посчитали, что это слишком халявно...
0
03.08.2013, 12:17
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
03.08.2013, 12:17
Помогаю со студенческими работами здесь

Как посмотреть какие библиотеки тянут другие библиотеки процесса
Привет, есть процесс, у него подтянуты dll'ки список которых я могу просматривать прогой Process...

Подключение библиотеки Crypto. Если возможно, нужна ссылка на скачивание данной библиотеки
Возникли сложности с подключением библиотеки Crypto: import Crypto.Cipher.AES Выдает...

Как включить библиотеки в исполняемый файл, чтобы не приходилось ставить библиотеки (Eclipse)
Как включить библиотеки в конечный EXE как это сделано в bilder, чтобы не приходилось ставить...

Создание dll библиотеки в C#. Вызов классов этой библиотеки
мне нужно как то создать динамическую библиотеку класов в си шарп, основой этой библиотеки должен...

Приложения не видят библиотеки библиотеки Visual C++
Здравия желаю! Недавно переустанавливал винду с полным форматированием жесткого диска и теперь...

Теория, библиотеки, динамические библиотеки
Как происходит сам процесс использования, что происходит при include, как они загружаются? ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru