0 / 0 / 0
Регистрация: 19.09.2015
Сообщений: 3
|
|
1 | |
Разработать две клиентские программы, обрабатывающие односвязный и двусвязный списки19.10.2015, 14:29. Показов 332. Ответов 0
Метки нет (Все метки)
Помогите кто знает.буду благодарна
#include <ctime> #include <cstdlib> #include <iostream> #include <string> #include <locale> static const std::string MONTHES[] = {"jan", "feb", "mar", "apr", "may", "jun", "jul", "aug", "sep", "oct", "nov", "dec"}; struct Date { int year, month, day; Date() {} Date(int year, int month, int day) : year(year), month(month), day(day) {} static Date getRandomDate() { return Date(1985 + rand() % 10, rand() % 12, rand() % 28 + 1); } }; std::ostream &operator<<(std::ostream &stream, const Date &date) { return stream << date.day << "/" << MONTHES[date.month] << "/" << date.year; }; std::string getRandomName() { std::string slabs[] = {"ko", "bo", "che", "cho", "re", "ro", "go" "no", "ko", "ke", "ne", "me"}; int numberOfSlabs = sizeof(slabs) / sizeof(std::string); std::string result = slabs[rand() % numberOfSlabs] + slabs[rand() % numberOfSlabs] + slabs[rand() % numberOfSlabs] + "v"; result[0] = result[0] - 'a' + 'A'; return result; } struct Student { std::string name; Date date; Student() {} Student(const std::string &name, const Date &date) : name(name), date(date) {} static Student getRandomStudent() { return Student(getRandomName(), Date::getRandomDate()); } }; std::ostream &operator<<(std::ostream &stream, const Student &student) { return stream << "Student " << student.name << ", birthday " << student.date; }; int main(int argc, char *argv[]) { srand(time(0)); int numberOfStudents = 22; Student *students = new Student[numberOfStudents]; int studentsPerMonth[12]; for (int i = 0; i < 12; ++i) studentsPerMonth[i] = 0; for (int i = 0; i < numberOfStudents; ++i) { students[i] = Student::getRandomStudent(); ++studentsPerMonth[students[i].date.month]; std::cout << students[i] << std::endl; } int monthWithMaxStudents = 0; for (int i = 1; i < 12; ++i) if (studentsPerMonth[i] > studentsPerMonth[monthWithMaxStudents]) monthWithMaxStudents = i; std::cout << "Month with maximum students is '" << MONTHES[monthWithMaxStudents] << "' with " << studentsPerMonth[monthWithMaxStudents] << " students." << std::endl; for (int i = 0; i < numberOfStudents - 1; ++i) for (int j = i + 1; j < numberOfStudents; ++j) if ((students[i].date.day == students[j].date.day) && (students[i].date.month == students[j].date.month)) { std::cout << students[i] << " and " << students[j] << " have their birthdays at the same day" << std::endl; } };
0
|
19.10.2015, 14:29 | |
Ответы с готовыми решениями:
0
Односвязный/Двусвязный списки Односвязный/Двусвязный списки Списки: заменить двусвязный на односвязный Rакие стандартные классы (интерфейсы) реализуют двусвязный, односвязный списки |
19.10.2015, 14:29 | |
19.10.2015, 14:29 | |
Помогаю со студенческими работами здесь
1
Разработать две программы на С++ Двусвязный в односвязный список Односвязный, двусвязный список Односвязный и двусвязный список Односвязный и двусвязный список Преобразовать односвязный список в двусвязный Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |