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

Контейнер multimap. Обратный вывод - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Реализация меню http://www.cyberforum.ru/cpp-beginners/thread1057694.html
сейчас для переключения по пунктам меню надо вводить номер пункта меню, а надо чтоб курсором переключалось! вот код с обычным меню: do { cout<<rus("\t Меню: *")<<endl; cout<<rus("\t 1.Просмотр...
C++ Ввод Как переделать данную программу чтобы размер матрицы вводил пользователь.....второй день мучаюсь не могу сделать....помогите... #include <iostream> #include <iomanip> using namespace std; int... http://www.cyberforum.ru/cpp-beginners/thread1057676.html
C++ Сортировка(я не знаю как сделать)
Имеется одномерный массив длинной N=40. Отсортировать по уменьшению методом бинарного сортирования те элементы массива, которые являются парными числами.
Программа добавления нового комплексного числа в начало массива структур с объединениями(С++) C++
#include <iostream.h> union coord { int i; float f; }; struct point { union coord x;
C++ Бинарный поиск в бинарном файле http://www.cyberforum.ru/cpp-beginners/thread1057557.html
Здравствуйте, помогите решить проблему. Написал программу для нахождения числа бинарным поиском и перебором в бинарном файле. Программа, вроде, работает. То есть выводит в конце то, что надо, но...
C++ Считать русские и английские символы с консоли Собственно как? Нужно читать путь до каталога, который может содержать русские и английские символы. Повсеместно использую wchar_t, читаю строчку так: wchar_t str; fgetws(str, 1024, stdin);... подробнее

Показать сообщение отдельно
triadec_96
12 / 12 / 1
Регистрация: 27.12.2012
Сообщений: 448
Завершенные тесты: 1

Контейнер multimap. Обратный вывод - C++

26.12.2013, 16:51. Просмотров 786. Ответов 1
Метки (Все метки)

Задание:есть список записей с полями:фамилия ученика и три оценки.Определить качественный показатель успеваемости (в %) и упорядочить список по убыванию среднего бала учеников.
Итак,мой код:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
#include <iostream>
#include <conio.h>
#include <map>
#include <clocale>
#include <fstream>
#include <string>
using namespace std;
void main()
{
    setlocale(LC_ALL,"Russia");
    
    
    multimap<int,string> m;
    ifstream f("Text.txt");
    string str;
    int a[3],k=0,b[255],i,q=0;
    while(!f.eof())
    {f>>str;f>>a[0];//считывание фамилии и оценок
    f>>a[1];f>>a[2];
    k=(a[0]+a[1]+a[2])/3;//подсчёт среднего бала
    m.insert(pair <int,string> (k,str));q++;}
 
    multimap<int,string>::iterator it;
    for(it=m.begin(),i=0;it!=m.end();it++,i++)//подсчёт качественного показателя
        b[i]=it->first*3/0.15;
    multimap<int,string>::reverse_iterator it1; 
    for(it1=m.rbegin(),i=q;it1!=m.rend();it1--,i--)//вывод по убыванию
    cout<<it->first<<"\t"<<it->second<<"\t\t"<<b[i]<<"%"<<endl;
    getch();
}
Я так понимаю ,что проблема с выводом,ведь когда я писал программу сначала я написал обычный вывод (по возрастанию,ведь меп сортирует автоматически),то никаких ошибок небыло.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru