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

scanf и printf или cin и cout

19.07.2013, 11:10. Показов 5922. Ответов 19
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Скажите пожалуйста,что предпочтительнее использовать на олимпиадах по программированию да и вообще : scanf и printf или cin и cout
В большинстве авторских решений задач, и решений самих олимпиадников используется scanf и printf. Но я давно выучил cin и cout и не хочу менять ничего.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
#include <stdio.h>
#include<iostream>
 
using namespace std;
 
long a,b;
int main(){
  freopen("input.txt","r",stdin);
  freopen("output.txt","w",stdout);
  cin >> a >> b;
 cout << a+b <<;
  
  return 0;
}
Да и кстати, как в freopen определить конец файла
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
19.07.2013, 11:10
Ответы с готовыми решениями:

Заменить cin / cout на scanf / printf
#include&lt;iostream&gt; #include&lt;locale.h&gt; #include&lt;Windows.h&gt; #include&lt;string&gt; #include &quot;123.h&quot; using namespace std; float...

Отличие printf/scanf от cout/cin
Я слышал, что принтф и сканф - это форматированный вывод данных , а син и саут - это потоковый вывод данных. Но что это значит? И они...

Заменить cin cout на printf scanf
Преподаватель не хочет принимать код по минимальному основанию системы счисления , из-за того, что вместо функций printf и scanf были...

19
 Аватар для dr.curse
404 / 360 / 36
Регистрация: 11.10.2010
Сообщений: 1,907
19.07.2013, 11:19
wwmwwm, ну вообще scanf/printf используют для скорости, но если вызвать вункцию ios_base::sync_with_stdio(0) можно достичь почти той же скорости
0
 Аватар для SummerRain
328 / 327 / 92
Регистрация: 16.12.2012
Сообщений: 544
19.07.2013, 11:19
Первое относится к Си, второе - к С++.
0
106 / 87 / 13
Регистрация: 29.08.2012
Сообщений: 538
19.07.2013, 11:20
cin cout работают через сканф и принтф. вы получите небольшие задержки на больших объемах данных из-за оберток. а вообще от задачи как всегда зависит.
0
 Аватар для dr.curse
404 / 360 / 36
Регистрация: 11.10.2010
Сообщений: 1,907
19.07.2013, 11:22
Цитата Сообщение от wwmwwm Посмотреть сообщение
Да и кстати, как в freopen определить конец файла
ну смотря как читаешь, можно просто использовать feof

Добавлено через 1 минуту
а вообще прочитай это http://codeforces.ru/blog/entry/5217?locale=ru
1
 Аватар для wwmwwm
0 / 0 / 0
Регистрация: 05.06.2012
Сообщений: 75
19.07.2013, 11:22  [ТС]
Цитата Сообщение от Kukurudza Посмотреть сообщение
cin cout работают через сканф и принтф. вы получите небольшие задержки на больших объемах данных из-за оберток. а вообще от задачи как всегда зависит.
Тоисть cin и cout ссылаются на printf и scanf. А на много cin и cout медленнее?
0
 Аватар для dr.curse
404 / 360 / 36
Регистрация: 11.10.2010
Сообщений: 1,907
19.07.2013, 11:25
Цитата Сообщение от wwmwwm Посмотреть сообщение
Тоисть cin и cout ссылаются на printf и scanf. А на много cin и cout медленнее?
это привязку можно отключить изпользовав функцию которую я говорил, можешь поподробнее почитать по ссылке там и сравнение есть
0
 Аватар для Kastaneda
5232 / 3205 / 362
Регистрация: 12.12.2009
Сообщений: 8,143
Записей в блоге: 2
19.07.2013, 11:25
Цитата Сообщение от wwmwwm Посмотреть сообщение
Тоисть cin и cout ссылаются на printf и scanf. А на много cin и cout медленнее?
Совсем не факт, cin и cout могут быть быстрее scanf/printf, потому что знают с какими типами работают (всмысле им не надо парсить строку вида "%s, %d, *[%s] etc").
0
106 / 87 / 13
Регистрация: 29.08.2012
Сообщений: 538
19.07.2013, 11:27
не ссылаются, а внутри себя их пользуют.
ну что значит на много медленнее? попытайтесь покрутить в циклах вывод на консоль и в файл и вы увидете что и в том и в другом случае они равны (я уверен что с погрешностью в 1-2%). в первом случае потому что вывод на консоль занимает какой то время а во втором потому что вы пишете на диск и тут уже именно эта операция занимает львиную долю времени.
0
 Аватар для dr.curse
404 / 360 / 36
Регистрация: 11.10.2010
Сообщений: 1,907
19.07.2013, 11:29
Цитата Сообщение от Kukurudza Посмотреть сообщение
не ссылаются, а внутри себя их пользуют.
ну что значит на много медленнее? попытайтесь покрутить в циклах вывод на консоль и в файл и вы увидете что и в том и в другом случае они равны (я уверен что с погрешностью в 1-2%). в первом случае потому что вывод на консоль занимает какой то время а во втором потому что вы пишете на диск и тут уже именно эта операция занимает львиную долю времени.
Kukurudza, вы мое сообщение читали? говорю же можно отключить
0
106 / 87 / 13
Регистрация: 29.08.2012
Сообщений: 538
19.07.2013, 11:30
если вы спрашиваете с контекстом "а че мне использовать в лабах по программингу, где я вывожу по 10 строк текста за все время программы", то пользуйте то что удобнее. если вам надо выводить что-то большое я бы взял и провел тесты. хотя уверен, что разница между ними минимальна.

Добавлено через 37 секунд
aram_gyumri я сначала написал свое, потом ваше только обновилось в вебе
0
19.07.2013, 11:34

Не по теме:

Цитата Сообщение от aram_gyumri Посмотреть сообщение
а вообще прочитай это http://codeforces.ru/blog/entry/5217?locale=ru
Там тест вообще не о чем не говорит. Всмысле может он и правильно сделан и цифры там адекватные, но я не могу принять это на веру. Автор нигде не написал какие ключи компиляции использовал для сборки теста. Поэтому я могу подумать, что он вообще все в дебаг режиме прогнал, отсюда такая разница между MSVS и MinGW.

0
Неэпический
 Аватар для Croessmah
18144 / 10728 / 2066
Регистрация: 27.09.2012
Сообщений: 27,026
Записей в блоге: 1
19.07.2013, 11:48
Цитата Сообщение от Kukurudza Посмотреть сообщение
не ссылаются, а внутри себя их пользуют.
Не факт!
0
 Аватар для dr.curse
404 / 360 / 36
Регистрация: 11.10.2010
Сообщений: 1,907
19.07.2013, 12:03
Цитата Сообщение от Kastaneda Посмотреть сообщение
Там тест вообще не о чем не говорит. Всмысле может он и правильно сделан и цифры там адекватные, но я не могу принять это на веру. Автор нигде не написал какие ключи компиляции использовал для сборки теста. Поэтому я могу подумать, что он вообще все в дебаг режиме прогнал, отсюда такая разница между MSVS и MinGW.
Kastaneda, это чисто для олимпиад делалось и помоему автор использовал ключи которыми компилируют на кодфорсес

Добавлено через 3 минуты
Kastaneda, вот тут еще одно сравнение http://codeforces.ru/blog/entry/562
0
 Аватар для Kastaneda
5232 / 3205 / 362
Регистрация: 12.12.2009
Сообщений: 8,143
Записей в блоге: 2
19.07.2013, 12:29
Цитата Сообщение от aram_gyumri Посмотреть сообщение
вот тут еще одно сравнение http://codeforces.ru/blog/entry/562
Тест тоже не правильный. Первое - я только в одном месте (и то в коментах) увидел какое-то упоминание ключей компиляции, второе - сам автор подумал, что файл может лежать в кеше после первого прочтения, но сам же не учел это. Поэтому все показатели, после первого прочтения файла, можно считать неправильными.
Третье - можно же взять самому написать подобный тест, только на этот раз сделать все правильно - правильно скомпилировать и правильно запустить. И выложить результаты сюда
0
 Аватар для dr.curse
404 / 360 / 36
Регистрация: 11.10.2010
Сообщений: 1,907
19.07.2013, 15:28
Kastaneda, сейчас попробую сделать

Добавлено через 32 минуты
сделал простенький тест 10000000 int-ов, мой проц Intel Pentium B980 2.4 GHz
компилировал так
Code
1
g++ -O2 test.cpp -o test
вот результаты
Code
1
2
3
std::cin                     16.81 17.21 16.95
scanf                        2.20 2.25 2.24
std::cin с без синхронизации 10.58 10.59 10.73
меня честно говоря результаты удивили

Добавлено через 3 минуты
буду рад если еще кто-нибудь протестирует
0
 Аватар для Wolkodav
842 / 480 / 58
Регистрация: 18.09.2012
Сообщений: 1,688
19.07.2013, 17:07
aram_gyumri, лучше cout, там время чисте будет.
0
Заблокирован
19.07.2013, 18:09
Цитата Сообщение от wwmwwm Посмотреть сообщение
scanf и printf или cin и cout
пиши на сях и забей на эту полуобъектную процедурщину си++
0
 Аватар для dr.curse
404 / 360 / 36
Регистрация: 11.10.2010
Сообщений: 1,907
19.07.2013, 23:50
Цитата Сообщение от duhast_vladisla Посмотреть сообщение
пиши на сях и забей на эту полуобъектную процедурщину си++
duhast_vladisla, я конечно тоже на си пишу, но на олимпиадах без stl туго
0
 Аватар для Wolkodav
842 / 480 / 58
Регистрация: 18.09.2012
Сообщений: 1,688
20.07.2013, 00:57
duhast_vladisla, не соглашусь с вами) всётаки порой эти "недообъекты" очень упрощают жизнь.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
20.07.2013, 00:57
Помогаю со студенческими работами здесь

Замена printf на cout и scanf на cin
Пожалуйста, помогите заменить printf на cout и scanf на cin #define _CRT_SECURE_NO_WARNINGS #include &lt;stdio.h&gt; #include...

Заменить scanf и printf на cin и cout
Помогите пожалуйста переделать #include &quot;iostream&quot; #include &quot;math.h&quot; using namespace std; int main() { float x = -2.0, A...

Cin и cout заменить на scanf и printf
Препод придрался к коду и требует, чтобы я cin и cout заменил на scanf и printf. Поможете? или хотя бы пример для преобразования покажите?...

Заменить printf scanf на cout cin
#include&lt;iostream.h&gt; #include&lt;math.h&gt; #pragma argsused int main(int argc, char* argv) {int i; float x,B,y; printf(&quot;\n B=&quot;);...

Заменить printf на cout, scanf на cin
Помогите заменить printf на cout ,scanf на cin, у меня не получается. int main() { int i,j,k,n; float a,x; float s,p; ...


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

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Новые блоги и статьи
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут. В век Веб все очень привыкли к дизайну Single-Page-Application . Быстренько разберем подход "на фреймах". Мы делаем одну. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru