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

Структуры и массивы, сортировка списка. - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Поменять местами два элемента массива http://www.cyberforum.ru/cpp-beginners/thread225523.html
Помогите решить пжл! в С++ ваще не шарю , а скора сессия I сем – Алгоритмические языки программирования Разработать схемы алгоритмов и программ (на Cu или C++) решение следующих задач: 1) Поменять местами два элемента – a и b 2) Вычислить Y= x2+5, если x<=2 2x, если x>2 3) Вычислить -x+1, если 1<x<=3
C++ устранить ошибки Привет! Я уже обращался с подобной просьбой, но остался без ответа. помогите пожалуйста. срочно надо! задача такова что нужно написать программу которая сортирует массивы из 1000, 5000 и 10000 элементов двумя видами сортировок и ввыводит время для каждой сортировки каждого массива. вот код, но тут у меня выходит что сортировка пузырька сортирует массив из 1000 элементов быстрее чем сортировка... http://www.cyberforum.ru/cpp-beginners/thread225519.html
сортировка одномерного массива C++
объясните пожалуйста алгоритм выполнения сортировки относительно компьютера(программы)
Сформировать одномерный массив целых чисел C++
Здравствуйте. Скажите пожалуйста, что изменить, чтобы всё работало. Программа компилируется, но я не понял всех нюансов здачи. вот сама задача: При выполнении работы используются статические массивы. Для организации статических массивов с псевдопеременными границами необходимо объявить массив достаточно большой длины. Затем пользователь вводит реальную длину массива (не больше N) и работает...
C++ Использовать для работы с матрицами указатели и операции вида *p++, p++ http://www.cyberforum.ru/cpp-beginners/thread225470.html
Здравствуйте. снова обращаюсь к вам. Задание такое: Использовать для работы с матрицами указатели и операции вида *p++, p++ и т.д. Матрицы динамические, размер вводится с клавиатуры. Числовые значения считать целыми. Инициализацию матриц реализовать через датчик случайных чисел или ввод с клавиатуры. Результат программы записать в файл. Дана матрица A(N, M). Найдите количество элементов этой...
C++ Вычислить значение выражения помгите плиз сделать Дано: x1,...,x7; l1,...,l6; a, b Определить: S = \frac{\sum_{i=1}^{7} ({x}_{i} - ab)}{\sum_{j=1}^{6}({l}_{i} - a)} ;{P}_{i}=S{l}_{i} подробнее

Показать сообщение отдельно
ForEveR
Модератор
Эксперт С++
 Аватар для ForEveR
7955 / 4717 / 318
Регистрация: 24.06.2010
Сообщений: 10,525
Завершенные тесты: 3
10.01.2011, 06:27     Структуры и массивы, сортировка списка.
Например. Файл и меню сюда приделать дело пары минут. На тему файла - вообще элементарно. Но мне лень сейчас.
Конец ввода посылается сигналом EOF на Windows - CTRL+Z

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
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
#include <iostream>
#include <string>
#include <algorithm>
#include <vector> 
#include <numeric>
 
typedef std::vector<int> T_vec;
typedef std::string T_str;
 
struct student
{
    T_str name;
    T_str surname;
    unsigned int year_of_b;
    T_vec notes;
    
    const static size_t size=5;
 
    student(T_str name_="", T_str surname_="", unsigned int yob=0,
        T_vec notes_=T_vec(size)):name(name_), surname(surname_),
        year_of_b(yob), notes(notes_)
    {
    }
    
    const T_str& getName() const {return name;}
    const T_str& getSurname() const {return surname;}
    const unsigned int getYearOfBirth() const {return year_of_b;}
    const T_vec& getNotes() const {return notes;}
    const int sum() const {return std::accumulate(notes.begin(), notes.end(), 0);}
 
    void setInfo(T_str name_="", T_str surname_="", unsigned int yob=0,
        T_vec notes_=T_vec(size))
    {
        name=name_;
        surname=surname_;
        year_of_b=yob;
        notes=notes_;
    }
};
 
int gen()
{
    int t;
    std::cin>>t;
    return t;
}
 
std::istream& operator >>(std::istream& is, student& one)
{
    T_str name, surname;
    unsigned year;
    T_vec notes(one.size);
    std::cout<<"Enter name of student: ";
    is>>name;
    std::cout<<"Enter surname of student: ";
    is>>surname;
    std::cout<<"Enter year of student: ";
    is>>year;
    std::cout<<"Enter 5 notes of student\n";
    std::generate(notes.begin(), notes.end(), gen);
    one.setInfo(name, surname, year, notes);
    return is;
}
 
std::ostream& operator <<(std::ostream& os, const student& one)
{
    os<<"Name: "<< one.getName() <<'\n'
        <<"Surname: "<< one.getSurname() <<'\n'
        <<"Year of birthday: "<< one.getYearOfBirth() <<'\n';
    os<<"Notes\n";
    std::copy(one.getNotes().begin(), one.getNotes().end(), 
        std::ostream_iterator<int>(std::cout, " "));
    return os;
}
 
bool operator <(const student& first, const student& second)
{
    return first.sum() < second.sum();
}
 
int main()
{
    std::vector<student> Groop((std::istream_iterator<student>(std::cin)),
        std::istream_iterator<student>());
    std::sort(Groop.begin(), Groop.end());
    std::copy(Groop.begin(), Groop.end(), std::ostream_iterator<student>(std::cout, "\n"));
    return 0;
}
 
Текущее время: 15:07. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru