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

Сортировать фамилию и возраст - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Какой вид сортировки? http://www.cyberforum.ru/cpp-beginners/thread1198598.html
Ребят, подскажите пожалуйста,что это за вид сортировки, ну там пузырьком, быстрая и тому подобное. Первая функция сортировки.void Filevmestimost(stad **first, stad **close) //функция сортировки по вместимости стадиона { stad *tmpExternal = *first; //внешнй указатель-который будет параметром первого цикла stad *tmpExternalSave; stad *tmpInterior; //внутренний...
C++ Поместить все символы, находящиеся в стеке, в динамический массив, вывести на экран содержимое массива Помогите пожалуйста :wall: 1) Построить стек символов. 2) Вывести на экран содержимое стека. 3) Ввести с клавиатуры слово и вывести на экран все элементы стека, входящие в данное слово. 4) Поместить все символы, находящиеся в стеке, в динамический массив, вывести на экран содержимое массива. 5) Из созданного массива все элементы, находящиеся на нечётных местах, поместить в очередь. 6)... http://www.cyberforum.ru/cpp-beginners/thread1198587.html
C++ Рекурсивные функции длина строки
Помогите пожалуйста :wall: Написать рекурсивную функцию, которая вычисляет длину строки. Пожалуйста если можно как можно по подробнее)
C++ Добавить в программу сортировки счетчик числа сравнений и перестановок
Помогите с программой, в неё требуется добавиться счётчик считающий число сравнений и число перестановок элементов и как можно переделать программу чтоб элементы выводились не по возрастанию а по убыванию.Заранее спасибо. #include <stdio.h> #include <stdlib.h> #include <conio.h> #include "const.h" viod sort_bin_array (short * A, unsigned short n); int clean_stdin(); int main(void) { ...
C++ Необработанное исключение: нарушение прав доступа при записи http://www.cyberforum.ru/cpp-beginners/thread1198539.html
Есть функция ввода текста. Текст с неизвестным количеством и длиной строк. При отладке прерывается и выдает: "Необработанное исключение в "0x012d107b" в "Курсач1.exe": 0xC0000005: Нарушение прав доступа при записи "0xbaadf00d"." Как я понял проблемы с выделением. Заранее благодарен char **text(char *razd) //ввод текста { char **txt; int **Len; bool p;
C++ Напишите пожалуйста программу численного дифференцирования различными методами Напишите пожалуйста программу "Численное дифференцирование" по различным методам: 1: Интерполяционный многочлен Лагранжа 2: Интерполяционные формулы Ньютона 3: Интерполяционные формулы подробнее

Показать сообщение отдельно
uglyPinokkio
326 / 229 / 41
Регистрация: 30.05.2014
Сообщений: 682
04.06.2014, 13:22     Сортировать фамилию и возраст
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
#include <iostream>
#include <fstream>
#include <string>
#include <vector>
#include <clocale>
#include <algorithm>
#include <sstream>
 
using namespace std;
 
struct ppl_age
{
  std::string name;
  int age;
};
 
std::ostream& operator<< (std::ostream& stream, const ppl_age& age_rec)
{
   stream<<age_rec.name;
   stream<<" ";
   stream<<age_rec.age;
   return stream;
}
 
std::istream& operator>> (std::istream& stream, ppl_age& age_rec)
{
   stream>>age_rec.name;
   stream>>age_rec.age;
   return stream;
}
 
bool createTestFile()
{
   std::vector<ppl_age> age_records;
   ppl_age new_age_rec;
   new_age_rec.name = "btest";
   new_age_rec.age = 10;
   age_records.push_back(new_age_rec);
   new_age_rec.name = "btest";
   new_age_rec.age = 20;
   age_records.push_back(new_age_rec);
   new_age_rec.name = "atest";
   new_age_rec.age = 20;
   age_records.push_back(new_age_rec);
   ofstream fout;
   fout.open("ppl.txt");
   if(fout.is_open())
   {
      for(unsigned age_cnt = 0; age_cnt<age_records.size();age_cnt++)
      {
         fout << age_records[age_cnt] << endl;
      }
      fout.close();
   }
   else
   {
      cout << "Can't open output file" << endl;               
      return false;
   }   
   return true;
}
 
bool isFirstGreater(const ppl_age& first, const ppl_age&  second)
{
   if(first.age > second.age) 
      return true;
   if(first.age == second.age)
      return first.name<second.name;
   return false;
}
 
int main()
{
   createTestFile();
   std::vector<ppl_age> age_records;
   ifstream fin;
   fin.open ("ppl.txt");
   if(fin.is_open())
   {
      while(true)
      {
         ppl_age new_age_rec;
         fin>>new_age_rec;
         if(fin.good())
            age_records.push_back(new_age_rec);
         else
            break;
      }
      fin.close();
   }
   std::sort(age_records.begin(),age_records.end(),isFirstGreater);
   for(unsigned age_cnt = 0; age_cnt<age_records.size();age_cnt++)
   {
      cout << age_records[age_cnt] << endl;
   }
   system ("pause");
   return 0;
}
Примерно так. Условия поправишь по вкусу.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru