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

Исправить код сортировки массива - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Динамические структуры. Стек (помогите найти ошибку) http://www.cyberforum.ru/cpp-beginners/thread813300.html
помогите найти ошибку. Есть задание: построить стек, элементами которого являются слова текста,которые считываются из текстового файла. Слова отделяются друг от друга запятыми, пробелами и другими разделительными знаками. Создать новый стек, в котором содержатся слова заданной длины, что выбранные с первого стека. Вывести содержимое первого и второго стеков. Есть код, я реализовал считывание...
C++ Двоичный (бинарный) поиск Вот такой вот вопрос: Есть например такой линейный массив 1 1 1 1 2 3 4 5 6 Вводят какое-то число и нужно проверить сколько выступлений этого числа есть в массиве. Я просто нахожу какое-то выступление числа и иду вправо и влево пока есть это число. Но при очень больших массивах это заменяет очень много времени. Как бинарным поиском находить первое выступление этого числа и последнее? ... http://www.cyberforum.ru/cpp-beginners/thread813290.html
Считывание бмп файла C++
хочу считать бмп файл размер 225x225 в массив чисел , изображение черно белое и когда делаю вывод массива на экран вылазиют слишком большие числа например (345973632) это одно из чисел вот код #include "stdafx.h" #include <iostream> #include <conio.h> using namespace std; int _tmain(int argc, _TCHAR* argv)
написать программу, которая вводит число из 4 цифр, разделяет число на отдельные цифры и печатает их отдельно друг от друга. например если введенное ч C++
написать программу, которая вводит число из 4 цифр, разделяет число на отдельные цифры и печатает их отдельно друг от друга. например если введенное число 4239, то должно быть напечатано 4 2 3 9
C++ Структуры, копирование файла http://www.cyberforum.ru/cpp-beginners/thread813282.html
Подскажите, как написать программку с меню с пунктами: – посимвольное копирование файла; – построчное копирование файла; – поблочное копирование файла. + Для задания имен файлов использовать аргументы командной строки.
C++ Хранение прототипов методов класса и их непосредственной реализации в различных файлах вот собственно решил перейти на тот этап, когда прототипы в *.h а определения в *.cpp но почти сразу столкнулся со странной ошибкой в элементарном примере: //point.hpp class Point{ private: int x; int y; public: Point(); Point(int a, int b); подробнее

Показать сообщение отдельно
lemegeton
2918 / 1347 / 134
Регистрация: 29.11.2010
Сообщений: 2,721
20.03.2013, 09:50     Исправить код сортировки массива
Я просто оставлю это здесь.
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
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
#include <ctime>
#include <iostream>
#include <string>
 
class User {
 public:
  User(const std::string &login, const std::string &password)
    : login(login), password(password) {}
  const std::string &getLogin() const { return login; }
  const std::string &getPassword() const { return password; }
 private:
  const std::string login;
  const std::string password;
};
 
class Account : public User {
 public:
  Account(const std::string &login, const std::string &password,
    const std::string &name, const time_t &birthday)
    : User(login, password), name(name), birthday(birthday) {} 
  const std::string &getName() const { return name; }
  const time_t &getBirthday() const { return birthday; }
 private:
  const std::string name;
  const time_t birthday;
};
 
std::string getDate(const time_t date, const char *format = "%d-%m-%Y") {
  char buffer[128] = {'\0'};
  
  strftime(buffer, 128, format, gmtime(&date));
  
  return buffer;
};
 
time_t getDate(int day, int month, int year) {
  tm *date;
 
  time_t rawtime;
  time(&rawtime);
  date = localtime(&rawtime);
 
  date->tm_mday = day;
  date->tm_mon = month - 1;
  date->tm_year = year - 1900;
  
  return mktime(date);
};
 
std::ostream &operator<<(std::ostream &stream, const Account &account) {
  return stream << "Account{" <<
    "login='" << account.getLogin() << "'," <<
    "password='***'," <<
    "name='" << account.getName() << "'," <<
    "birthday='" << getDate(account.getBirthday()) << "'}";
};
 
Account *findByLoginAndPassword(Account *first, Account *last,
  const std::string &login, const std::string &password) {
  while (first != last) {
    if (first->getLogin() == login && first->getPassword() == password) {
      return first;
    }
    ++first;
  }
  return 0;
}
 
Account *consoleLogin(Account *first, Account *last, int numberOfTries) {
  for (int i = 0; i < numberOfTries; ++i) {
    std::string login, password;
    std::cout << "Login: ";
    std::cin >> login;
    std::cout << "Password: ";
    std::cin >> password;
    Account *account = findByLoginAndPassword(first, last, login,
      password);
    if (account != NULL) {
      return account;
    } else {
      std::cout << "Incorrect login or password." << std::endl;
    }
  }
  return 0;
};
 
int main(int argc,char **argv) {
 
  Account accounts[] = {
    Account("asd","123","Ivanov Ivan Ivanovitch", getDate(21, 9, 1992)),
    Account("sdf","234","Petrov Petr Petrovich", getDate(12, 1, 1990)),
    Account("vcb","345","Frolov Aleksandr Ivanovich", getDate(1, 1, 2001)),
    Account("hjk","456","Ivanenko Evgeniya Dmitrievna", getDate(1, 1, 2001)),
    Account("yui","567","Boblo Ekaterina Aleksandrovna", getDate(1, 1, 2001)),
    Account("ert","678","Efimenko Roman Andreevich", getDate(1, 1, 2001)),
    Account("gjk","789","Adamovich Mariya Petrovna", getDate(1, 1, 2001)),
    Account("opu","890","Smirnov Dmitrii Olehovich", getDate(1, 1, 2001)),
    Account("bnm","901","Stepanov Andrey Andreevich", getDate(1, 1, 2001)),
    Account("yre","012","Sergeeva Ekaterina Stepanovna", getDate(1, 1, 2001))
  };
  int numberOfAccounts = sizeof(accounts) / sizeof(accounts[0]);
 
  Account *account = consoleLogin(accounts, accounts + numberOfAccounts,
    3);
  if (account != NULL) {
    std::cout << "Successfully logged in as " << (*account) << std::endl;
  } else {
    std::cout << "All attempts failed. This incident will be reported."
      << std::endl;
  }
 
  std::cin.get();
  return 0;
}
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru