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

Структура - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Создание чайнворда http://www.cyberforum.ru/cpp-beginners/thread131351.html
Дорогие друзья, самая голимая(извиняюсь за это слово, лучше не подобрал) тема, которую можно было цепануть для курсача, это та, которая досталась мне - программа, генерирующая чайнворд. Слова для генерации выбираются из словаря, который прилагается к проге Чайнворд, для пояснения, это набор слов, второе слово начинается на букву, которой заканчивается первое слово, третье - на букву, которой...
C++ файлы Реализовать программу для сохранения данных о клиентах фирмы (фамилия, инициалы, год рождения, адрес (город, улица, дом) ). http://www.cyberforum.ru/cpp-beginners/thread131350.html
Заполнить двумерный массив неизвестной длины C++
Всем привет, пишу на C#, надо срочно написать код на С++ и я тупо ничего не догоняю ) Необходимо заполнить двумерный массив неизвестной длины. Как это можно осуществить средствами С++ ? Насколько я знаю, в C# нельзя динамически менять значения созданного массива типа int, НО, можно изменить его размер так: int arr = new int; или же скопировать старый массив в новый при помощи...
C++ Двусвязный линейный список
Помогите пожалуйста написать эти программы :( Двусвязный линейный список, Быстрая сортировка ,Пузырьковая с удалением/дополнением , двоичный поиск в массиве,Тип файла Двоичный , Структура данных Массив направление сортировки-обратное
C++ Удаление элемента из линейного однонапраленного списка. http://www.cyberforum.ru/cpp-beginners/thread131332.html
Говорят, что существует множество способов удаления из списка. Вот один из них: void los::del_el() { int key; los *q, *w, *e; cout << "vvedite key: "; cin >> key; q=p;
C++ Не могу понять ошибка ли это? МЕТОД Ньютона Зашел в тему, но по моему тут ошибка либо, я что то не пойму... При взятии производной от исходной функции double f(double x) { x*x-(cos(pi*x)); } подробнее

Показать сообщение отдельно
fasked
Эксперт C++
 Аватар для fasked
4925 / 2505 / 180
Регистрация: 07.10.2009
Сообщений: 4,306
Записей в блоге: 1
18.05.2010, 14:03     Структура
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
115
116
117
118
119
120
121
122
#include <fstream>
#include <iostream>
#include <functional>
 
#include <vector>
 
template<typename T> void write(std::ofstream &ofs, T &t) {
   ofs.write(reinterpret_cast<char*>(&t), sizeof(T)); }
 
template<typename T> void read (std::ifstream &ifs, T &t) {
   ifs.read (reinterpret_cast<char*>(&t), sizeof(T)); }
 
template<typename T> void write_v(std::ofstream &ofs, std::vector<T> &v) 
{
   std::vector<T>::size_type size = v.size();
   write(ofs, size);
 
   for(std::vector<s>::iterator it = v.begin(); it != v.end(); ++it)
      write(ofs, *it);
}
 
template<typename T> void read_v (std::ifstream &ifs, std::vector<T> &v)
{
   std::vector<T>::size_type size = 0;
   read(ifs, size);
 
   v.reserve(size);
   while(size--)
   {
      s t;
      read(ifs, t);
      v.push_back(t);
   }
}
 
struct s
{
   char mark [16];
   char color[16];
   int  year;
   int  num;
};
 
void input (s * str)
{
   std::cout << "mark: ";
   std::cin  >> str->mark;
 
   std::cout << "color: ";
   std::cin  >> str->color;
 
   std::cout << "year: ";
   std::cin  >> str->year;
 
   std::cout << "num: ";
   std::cin  >> str->num;
}
 
void output(s * str)
{
   std::cout << str->mark << '.' << str->color << '.' << str->year << '.' << str->num << std::endl;
}
 
bool predicate(s * str)
{
   if(str->year >= 2005)
      return true;
   else
      return false;
}
 
int main()
{
   int nstructs = 0;
 
   std::cout << "enter amount autos for write data to file (0 - base not created): ";
   std::cin  >> nstructs;
 
   if(nstructs != 0)
   {
      std::ofstream out("file.dat");
      if(out.fail())
      {
         std::cerr << "could not open file for write";
         return -1;
      }
 
      std::vector<s> vstructs(nstructs);
      for(std::vector<s>::iterator it = vstructs.begin(); it != vstructs.end(); ++it)
         input(&(*it));
 
      write_v(out, vstructs);
 
      out.close();
   }
 
   std::cout << "read data from file (0 - no, 1 - yes): ";
   std::cin  >> nstructs;
 
   if(nstructs != 0)
   {
      std::ifstream in("file.dat");
 
      if(in.fail())
      {
         std::cerr << "could not open file for read";
         return -1;
      }
 
      std::vector<s> vstructs;
      
      read_v(in, vstructs);
      for(size_t i = 0; i < vstructs.size(); ++i)
         if(predicate(&(vstructs[i])))
            output(&(vstructs[i]));
 
      in.close();
   }
 
   system("pause");
   return 0;
}
 
Текущее время: 22:02. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru