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

структура. вывести кто старше - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Ошибка: Run-time check failure: variable 'C' is being used without being initialized http://www.cyberforum.ru/cpp-beginners/thread779011.html
Здравствуйте, Помогите решить одну проблему. Есть задание написать программу, которая находит определитель матрицы и умножает две матрицы, введенные з клавиатуры. В процесе решения задачи наткнулся...
C++ Поиск первых N элементов Вычислить N первых элементов числовой последовательности вида а0=0; ai=ai-1+i. 1)Не храним промежуточные значения вычислений. 2)Храним промежуточные значения вычислений. Сам додумался до... http://www.cyberforum.ru/cpp-beginners/thread779001.html
распараллелить цикл C++
здрасти,я токо начал заниматься параллельным, нужна помощь. народ кто знает почему эта ошибка появляется - "error C3017: termination test in OpenMP 'for' statement has improper form" ? я в других...
C++ Строка: Определите длину введенной строки, и если она кратна 4, то поменяйте местами первую часть строки со второй
Разработайте программу работы со строками. Организуйте ввод исходных данных с клавиатуры. Используйте функции из библиотеки обработки строк string.h. Результаты работы программы отобразите на...
C++ Как сделать обратно http://www.cyberforum.ru/cpp-beginners/thread778978.html
вот я сделал эти действия с числом Obj_ *= Obj_; Obj_ >>= 11; return Obj_ % 1024; как сделать обратные действия?:)
C++ Как из указателя на массив достать конкретное значение массива Добрый день. Недавно написал программу проверки предложения на панграмму. Панграмма — текст, использующий все или почти все буквы алфавита. Всё получилось, но потом решил немного её передать так,... подробнее

Показать сообщение отдельно
DU
1483 / 1059 / 45
Регистрация: 05.12.2011
Сообщений: 2,279
05.02.2013, 00:56
структуируйте программу.
чтение в список - отдельная операция.
поиск старшего - тоже.
вывод - тоже отдельная операция. не надо все в одну кучу лепить.
вот такой код под себя адаптируйте. нужно зачитывать из файла и
если возраст у вас задается другими типами данных, то в функции
MinByAge определять возраст и возвращать тру если первый младше второго.
все более менее аккуратненько и на плюсах а не каша с и с++ и мешанина
разных действий:


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
#include <iostream>
#include <list>
#include <string>
#include <algorithm>
 
struct Student
{
    unsigned age;
    std::string name;
    std::string faculty;
 
    Student(int theAge = 0, const std::string& theName = std::string(), const std::string& theFaculty = std::string())
        : age(theAge)
        , name(theName)
        , faculty(theFaculty)
    {
    }
};
 
std::ostream& operator << (std::ostream& out, const Student& student)
{
    out << "age     : " << student.age << std::endl;
    out << "name    : " << student.name << std::endl;
    out << "faculty : " << student.faculty << std::endl;
    return out;
}
 
typedef std::list<Student> StudentList;
 
bool ReadStudents(const std::string& fileName, StudentList& lst)
{
    // тут читаем из файла. но лень. эмулируем это чтение:
 
    lst.push_back(Student(17, "Student17", "Faculty1"));
    lst.push_back(Student(18, "Student18", "Faculty2"));
    lst.push_back(Student(19, "Student19", "Faculty3"));
    lst.push_back(Student(20, "Student20", "Faculty4"));
 
    return true;
}
 
bool MinByAge(const Student& student1, const Student& student2)
{
    return student1.age < student2.age;
}
 
int main()
{
    StudentList students;
    const bool isOk = ReadStudents("students.txt", students);
    if (!isOk)
    {
        std::cout << "Failed to read students from file." << std::endl;
        return -1;
    }
 
    if (students.empty())
    {
        std::cout << "There are no students." << std::endl;
        return 0;
    }
    
 
    StudentList::const_iterator oldestStudentIter = std::max_element(
        students.begin(), students.end(), &MinByAge);
 
    std::cout << "Oldest student:" << std::endl;
    std::cout << *oldestStudentIter << std::endl;
 
    return 0;
}
сказанное относится к первому посту. во втором уже получше.
1
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru