Форум программистов, компьютерный форум CyberForum.ru

Трабл с map - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Работа с матрицами http://www.cyberforum.ru/cpp-beginners/thread321007.html
Всем привет! Напишите программу плиз ! Заполнить матрицу случайными числами. Отобразить симметрично относительно вертикальной оси секторы матрицы которые лежат влево и вправо от главной и побочной диагоналей.
C++ Попадание точки в определенную область. Определить принадлежит ли заданная точка с координатами (x,y) закрашенной области. http://www.cyberforum.ru/cpp-beginners/thread320992.html
Codeblocks C++
как подключить русские буквы в с++ , выводит не понятные симвлы
C++ системы передачи информации
Здравствуйте скажите пожалуйста что является системами передачи информации?
C++ Структуры. Журнал посещения http://www.cyberforum.ru/cpp-beginners/thread320918.html
Необходимо создать список студентов и отмечать их посещение + и -. у меня получилось только: struct zhurnal { char stud; char pos; }gL; void main () {
C++ Инициализация переменной во время выполнения с именем, заданным пользователем Вопрос - возможно ли инициализировать переменную с именем заданным пользователем? то есть допустим из txt файла считался текст "int qwer", то возможно ли инициализировать переменную int с именем qwer? подробнее

Показать сообщение отдельно
diagon
Higher
 Аватар для diagon
1920 / 1186 / 49
Регистрация: 02.05.2010
Сообщений: 2,925
Записей в блоге: 2
16.06.2011, 21:29  [ТС]     Трабл с map
Цитата Сообщение от pito211 Посмотреть сообщение
cout и cin короче printf и scanf, но почему то ты не используешь их
Еще короче fstream без подключения using namespace std;
Но есть одно но - под это нужны дополнительные хедеры.
На проверяющей системе стоит VC++, у которого замечена интересная особенность - при подключении <map> stdio включается автоматом=) Итого только 1 хедер
Да и время там в формате 10:00, потоками это некорректно читает.
P.S. Раз уж тема про map получилась, то еще 1 вопрос - как можно обратится к последнему элементу? Что-то вроде map.end()-1->first
выдает километровый error, по разному извращался, дошел только до префиксного декремента(как в 1 посте)

Добавлено через 20 минут
Поменял float на double, Accepted=)

P.S.
Вот рабочий код, возможно кому понадобится.
Также в нем видно, зачем мне эти извращения=) Правда в итоге все равно даже до 10го места немного недотянул, зато получил глубокое моральное удовлетворение
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#include <map>
#define x(b) freopen(#b"put.txt","a+",std##b);
#define y scanf(
double i,a,n,t;
char s[53];
main(){
    x(in)
    x(out)
    std::map<float,char *> m;
    for (y "%lf",&n);n--;strcpy(m[650/t]=new char[strlen(s)+1],s)){
        int j = 0;  
        for(y "\n%c%c",&s[j++],&s[j+++1]);s[j-1]!='"';)
            y "%c",&s[j++]);
        s[j] = 0;
        y "%lf:%lf",&a,&i);
        a += i/60;
        y "%lf:%lf",&i,&t);
        i += t/60;
        if (i <= a) i += 24;
        t = i-a;    
    }
    printf("The fastest train is %s.\nIt's speed is %d km/h, approximately.",(*--m.end()).second,int((*--m.end()).first+0.5));
}
P.P.S. grizlik78 был прав, strlen(s) не хватило, на 7 тесте из-за этого заваливался.
 
Текущее время: 22:40. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru