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

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

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

Показать сообщение отдельно
Пёс
 Аватар для Пёс
228 / 76 / 4
Регистрация: 03.02.2013
Сообщений: 311
05.02.2013, 01:00     структура. вывести кто старше
Цитата Сообщение от DU Посмотреть сообщение
структуируйте программу.
чтение в список - отдельная операция.
поиск старшего - тоже.
вывод - тоже отдельная операция. не надо все в одну кучу лепить.
вот такой код под себя адаптируйте. нужно зачитывать из файла и
если возраст у вас задается другими типами данных, то в функции
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;
}
сказанное относится к первому посту. во втором уже получше.

Согласен... пример с перегрузкой операторов гораздо круче.
 
Текущее время: 12:19. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru