Форум программистов, компьютерный форум, киберфорум
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
 
Рейтинг: Рейтинг темы: голосов - 14, средняя оценка - 4.86
HardLogin
52 / 52 / 1
Регистрация: 20.01.2013
Сообщений: 787
Записей в блоге: 1
#1

Подготовка к олимпиаде :) - C++

22.10.2013, 23:53. Просмотров 2089. Ответов 36
Метки нет (Все метки)

В прошлом году я занял первое место в своей области.

Время идет, и вот пришло время повторить свой подвиг, а то и первое место в стране занять
Но из за большой промежуток времени я забыл многие вещи

Помогите вспомнить:
1) Работа с файлами (класс fstream).
2) Перевод одного символа в число.
3) Функции обработки строк.

Пока все что придумал. Просто эти вопросы настолько мелкие что я думаю, что на них можно ответить в одной теме
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
22.10.2013, 23:53
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Подготовка к олимпиаде :) (C++):

Подготовка к олимпиаде - C++
Благодарен, что зашли на эту тему и надеюсь, что вы ответите по делу. Скоро олимпиада и по хорошему надо бы подготовиться к ней. На малом...

Задача по Олимпиаде - C++
Здравствуйте ) Буквально два дня назад написал Олимпиаду по программированию (Школьный этап). Было всего 3 задачи . 2 задачи я решил ,...

Олимпиадное задание на школьной олимпиаде - C++
75 боликов стоят дороже, чем 125 лёликов, но дешевле, чем 126 лёликов. Каждый из них дешевле рубля и стоит чётное количество копеек....

Структура со сведениями об олимпиаде по легкой атлетике - C++
Создать структуру, содержащую сведения об олимпиаде по легкой атлетике. Программа должна производить: 1) подсчет количества спортсменов,...

Выбор учебника для подготовки к олимпиаде АЦМ - C++
Какой лучше подойдет для прочтения перед олимпиадой по программированию АЦМ?

Решение задачек (Всероссийской олимпиаде школьников по информатике) - C++
Здравствуйте!! Возможно кто нибудь из вас участвовал в муниципальном этапе Всероссийской олимпиаде школьников по информатике и решил все...

36
Ilot
Модератор
Эксперт С++
1823 / 1181 / 232
Регистрация: 16.05.2013
Сообщений: 3,118
Записей в блоге: 5
Завершенные тесты: 1
23.10.2013, 15:41 #16
Для ASCII как вариант:
C++
1
2
3
char ch = '3';
int i = static_cast<int>(ch) - 48;   
//Цифры идут в таблице начиная с 48 для '0' и далее по возврастанию
0
HardLogin
52 / 52 / 1
Регистрация: 20.01.2013
Сообщений: 787
Записей в блоге: 1
23.10.2013, 17:17  [ТС] #17
Для того и существует кнопочка OFF? или я не прав?
Ну да в любом случае я не прав, всегда прав админ, такие уж правила.
Конструктивного? А что тут не ясного, просто как мне показалось человек преувеличил что он олимпийский призер. Мне кажется это студент, который не может разобраться в каких-то вопросах, задает вопросы что бы ему ответили, а когда люди видят что это олимпийский призер, отвечают без проблем, в глазах у людей вырисовывается авторитетная фигура. Ну и ещё, раз это студент, у него врядли есть деньги на фриланс(заказ фриланса для выполнения работы) вот он и собирает информацию что бы "разжевали да в рот положили". Лучше было бы если бы он сказал, "я студент, не знаю как делать, читать нет времени, помогите чем можете". Оговорчка, конечно если он не чемпион по программированию среди 9 классов средних школ в городе с населением меньше 200 тыс человек
Ок, раскрою тайну, среди 9ых классов в Одесской области. Просто у людей есть такое свойство "забывать, если не пользуешься".

Добавлено через 1 минуту
Цитата Сообщение от Рыжий Лис Посмотреть сообщение
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
int foo (char ch){
 if (ch=='0') return 0;
 if (ch=='1') return 1;
 if (ch=='2') return 2;
 if (ch=='3') return 3;
 if (ch=='4') return 4;
 if (ch=='5') return 5;
 if (ch=='6') return 6;
 if (ch=='7') return 7;
 if (ch=='8') return 8;
 if (ch=='9') return 9;
 return -1;
}
ахах, в лоб .

Добавлено через 3 минуты
Если кто то хочет посмотреть на что я был способен год назад то вот: http://amid.ucoz.ru/
1
Raali
623 / 327 / 34
Регистрация: 06.07.2013
Сообщений: 1,070
Завершенные тесты: 1
23.10.2013, 17:20 #18
вот , немного модифицировал, чтобы читабельнее было
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
int foo (char ch){
 if (ch != '1' && ch != '2' && ch != '3' && ch != '4' && ch != '5' && ch != '6' && ch != '7' && ch != '8' && ch != '9') return '0' - '0';
 if (ch != '0' && ch != '2' && ch != '3' && ch != '4' && ch != '5' && ch != '6' && ch != '7' && ch != '8' && ch != '9') return '1' - '0';
 if (ch != '1' && ch != '0' && ch != '3' && ch != '4' && ch != '5' && ch != '6' && ch != '7' && ch != '8' && ch != '9') return '2' - '0';
 if (ch != '1' && ch != '2' && ch != '0' && ch != '4' && ch != '5' && ch != '6' && ch != '7' && ch != '8' && ch != '9') return '3' - '0';
 if (ch != '1' && ch != '2' && ch != '3' && ch != '0' && ch != '5' && ch != '6' && ch != '7' && ch != '8' && ch != '9') return '4' - '0';
 if (ch != '1' && ch != '2' && ch != '3' && ch != '4' && ch != '0' && ch != '6' && ch != '7' && ch != '8' && ch != '9') return '5' - '0';
 if (ch != '1' && ch != '2' && ch != '3' && ch != '4' && ch != '5' && ch != '0' && ch != '7' && ch != '8' && ch != '9') return '6' - '0';
 if (ch != '1' && ch != '2' && ch != '3' && ch != '4' && ch != '5' && ch != '6' && ch != '0' && ch != '8' && ch != '9') return '7' - '0';
 if (ch != '1' && ch != '2' && ch != '3' && ch != '4' && ch != '5' && ch != '6' && ch != '7' && ch != '0' && ch != '9') return '8' - '0';
 if (ch != '1' && ch != '2' && ch != '3' && ch != '4' && ch != '5' && ch != '6' && ch != '7' && ch != '8' && ch != '0') return '9' - '0';
 
 return -1;
}
0
HardLogin
52 / 52 / 1
Регистрация: 20.01.2013
Сообщений: 787
Записей в блоге: 1
23.10.2013, 17:29  [ТС] #19
Цитата Сообщение от Raali Посмотреть сообщение
вот , немного модифицировал, чтобы читабельнее было
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
int foo (char ch){
 if (ch != '1' && ch != '2' && ch != '3' && ch != '4' && ch != '5' && ch != '6' && ch != '7' && ch != '8' && ch != '9') return '0' - '0';
 if (ch != '0' && ch != '2' && ch != '3' && ch != '4' && ch != '5' && ch != '6' && ch != '7' && ch != '8' && ch != '9') return '1' - '0';
 if (ch != '1' && ch != '0' && ch != '3' && ch != '4' && ch != '5' && ch != '6' && ch != '7' && ch != '8' && ch != '9') return '2' - '0';
 if (ch != '1' && ch != '2' && ch != '0' && ch != '4' && ch != '5' && ch != '6' && ch != '7' && ch != '8' && ch != '9') return '3' - '0';
 if (ch != '1' && ch != '2' && ch != '3' && ch != '0' && ch != '5' && ch != '6' && ch != '7' && ch != '8' && ch != '9') return '4' - '0';
 if (ch != '1' && ch != '2' && ch != '3' && ch != '4' && ch != '0' && ch != '6' && ch != '7' && ch != '8' && ch != '9') return '5' - '0';
 if (ch != '1' && ch != '2' && ch != '3' && ch != '4' && ch != '5' && ch != '0' && ch != '7' && ch != '8' && ch != '9') return '6' - '0';
 if (ch != '1' && ch != '2' && ch != '3' && ch != '4' && ch != '5' && ch != '6' && ch != '0' && ch != '8' && ch != '9') return '7' - '0';
 if (ch != '1' && ch != '2' && ch != '3' && ch != '4' && ch != '5' && ch != '6' && ch != '7' && ch != '0' && ch != '9') return '8' - '0';
 if (ch != '1' && ch != '2' && ch != '3' && ch != '4' && ch != '5' && ch != '6' && ch != '7' && ch != '8' && ch != '0') return '9' - '0';
 
 return -1;
}
ухты 0_0, я помню как то через итоа я пропускал..но вот вспомнить не могу.
1
Wolkodav
605 / 458 / 32
Регистрация: 18.09.2012
Сообщений: 1,685
23.10.2013, 17:37 #20
HardLogin, а так есть
C++
1
itoa, atoi
и всякое такое)
0
HardLogin
52 / 52 / 1
Регистрация: 20.01.2013
Сообщений: 787
Записей в блоге: 1
23.10.2013, 17:44  [ТС] #21
Цитата Сообщение от Wolkodav Посмотреть сообщение
HardLogin, а так есть
C++
1
itoa, atoi
и всякое такое)
Я в курсе как бы Просто один символ через эти вещи не прогнать
1
ya_noob
_
203 / 147 / 9
Регистрация: 08.10.2011
Сообщений: 432
23.10.2013, 18:16 #22
для символов, представляющих цифры быстрый вариант преобразования:
C++
1
2
char c = '3';
int x = c & 0xF;
0
HardLogin
52 / 52 / 1
Регистрация: 20.01.2013
Сообщений: 787
Записей в блоге: 1
23.10.2013, 19:31  [ТС] #23
Цитата Сообщение от ya_noob Посмотреть сообщение
для символов, представляющих цифры быстрый вариант преобразования:
C++
1
2
char c = '3';
int x = c & 0xF;
как это работает?
1
ya_noob
_
203 / 147 / 9
Регистрация: 08.10.2011
Сообщений: 432
23.10.2013, 19:55 #24
ASCII коды символов:
Код
'0': 48 == b110000
'1': 49 == b110001
'2': 50 == b110010
...
'9': 57 == b111001
Если присмотреться, то можно увидеть что младшие 4 бита как раз являются числовым представлением символа. Остается выделить эти 4 бита из всего числа с помощью маски 0xF.
1
HardLogin
52 / 52 / 1
Регистрация: 20.01.2013
Сообщений: 787
Записей в блоге: 1
23.10.2013, 20:22  [ТС] #25
Цитата Сообщение от ya_noob Посмотреть сообщение
ASCII коды символов:
Код
'0': 48 == b110000
'1': 49 == b110001
'2': 50 == b110010
...
'9': 57 == b111001
Если присмотреться, то можно увидеть что младшие 4 бита как раз являются числовым представлением символа. Остается выделить эти 4 бита из всего числа с помощью маски 0xF.
ух ты а я даже не знал) правда есть одно "но", до областного уровня проверяют обычные люди, а если они чтото не понимают в коде они не засчитывают прогу =/ нужно чтобы все выглядело как можно проще
1
coloc
погромист
411 / 247 / 15
Регистрация: 27.08.2012
Сообщений: 550
Завершенные тесты: 1
23.10.2013, 20:26 #26
C++
1
int num = '4' - '0';
0
gromo
372 / 271 / 24
Регистрация: 04.09.2009
Сообщений: 1,214
23.10.2013, 20:33 #27
Цитата Сообщение от coloc Посмотреть сообщение
int num = '4' - '0';
только хотел написать... Ребята, вы что тут развели на 3 страницы то что делается одной строкой-то????
1
coloc
погромист
411 / 247 / 15
Регистрация: 27.08.2012
Сообщений: 550
Завершенные тесты: 1
23.10.2013, 20:37 #28
gromo, я прифигел, как увидел что тут использують))
1
SatanaXIII
Супер-модератор
Эксперт С++
5640 / 2675 / 252
Регистрация: 01.11.2011
Сообщений: 6,572
Завершенные тесты: 1
23.10.2013, 20:41 #29
Мозговой штурм.
0
zer0mail
2379 / 2010 / 200
Регистрация: 03.07.2012
Сообщений: 7,251
Записей в блоге: 1
23.10.2013, 22:36 #30
Надеюсь, ТС не станет чемпионом страны (иначе кранты российскому программированию )

Добавлено через 53 минуты
Намек понял, из разделов С++/С для начинающих ухожу.
0
23.10.2013, 22:36
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
23.10.2013, 22:36
Привет! Вот еще темы с ответами:

Какие функции нужно знать для участия в олимпиаде - C++
не подскажите какие основные и самые важные функции/библиотеки нужно знать для участия в олимпиаде?

Подготовка к экзамену - C++
Сделал 55 вопросов из 60. Все никак не могу осилить 5 вопросов. 1. Дано объявление class person { char name; int age; void...

Подготовка к экзамену - C++
У меня скоро экзамен по С++. Там задачи: 1. Вычислить сумму:2/3+3/4+4/5+...+10/11. 2. Найти сумму ряда 2+4+6+…20. 3. Даны 2...

Подготовка к CPA exam - C++
Здравствуйте! Я собираюсь здать тест CPA. Из подготовки: прошел курс Essentials in C++ (И получил ваучер на скидку) Помогите, пожалуйста...


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

Или воспользуйтесь поиском по форуму:
30
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.