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

типы данных - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ номер максимального элемента массива http://www.cyberforum.ru/cpp-beginners/thread39132.html
Вариант 7. В одномерном массиве, состоящем из n вещественных элементов, вычислить: 1) номер максимального элемента массива; 2)произведение элементов массива, расположенных между первым и вторым нулевыми элементами. Преобразовать массив таким образом, чтобы в первой половине располагались элементы, состоящие в нечетных позициях, а во второй половине -
C++ Подскажите по работе с файлами struct MyStruct { char * Nam; unsigned int Salary; }; MyStruct emp; *emp.Nam="Ivan Ivanov"; emp.Salary=109000; ofstream f ("emp.dat",ios::binary); http://www.cyberforum.ru/cpp-beginners/thread39122.html
C++ Ряды степеней
Может быть умные дяди программисты помогли бы бедной неумелой девушке с заданием? Потому что та, даже не понимает, с чего нужно его начинать. :) Хотя бы объясните в чём цель задания состоит... Да - буду очень благодарна, нет, ну так на нет и суда нет, как говорится. :) Только хотя бы сразу не бейте сильно за такую наглость. =) С использованием ПК вычислить с точностью е=10-5 значение функции с...
C++ Как получить ассемблерский код
Как компилировать программу, чтобы потом можно было получить из неё ассемблерский код и какие нужны дополнгительные программ, если конечно нужны.
C++ Что делает данный код и зачем такое кому-нибудь может понадобиться? http://www.cyberforum.ru/cpp-beginners/thread39082.html
Я ответил на вопрос,но точной формулировки не нашёл,хотел бы свериться(приложения с ответами нет).Задание: Чёрный ящик.Что делается в данном примере?Зачем кому нибудь может понадобиться подобный код? void send (int* to,int* from,int count) { int n = (count+7)/8; swith(count%8) { case 0: do { *to++=*from++; case 7: *to++=*from++; case 6:...
C++ Что делают операторы switch/case что делают функции : switch ? case ? подробнее

Показать сообщение отдельно
Evg
Эксперт CАвтор FAQ
17537 / 5775 / 370
Регистрация: 30.03.2009
Сообщений: 15,902
Записей в блоге: 26
11.06.2009, 08:46     типы данных
> откда следует что ее размер определяеться размером наибольшего элемента

ага

> и в любой момент времени оно омжет хранить только один элемент

скахано несколько коряво, но смысл примерно такой. Объединение сделано для того, чтобы хранить непересекающиеся данные в одном месте памяти. Условно говоря, есть у тебя пониятие фигуры, а есть атрибуты фигуры. Для круга это радиус, для квадрата - сторона, для прямойугльника две стороны. Фигура у тебя может быть только чем-то одним, а потому иместь свойство только одной фигуры. На пальцах примерно так (для поля type лучше использовать enum, но лениво писать)

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
struct figura
{
  int type; // 1 - круг, 2- квадрат, 3 - прямоугольник
  union
  {
    int radius; // если type==1, то радиус круга
    int side; // если type==2, то сторона квадрата
    struct
    {
      int x;
      int y;
    } sides; // если type==3, то стороны прямоугольник
  } property;
};
 
void create_circle (struct figura *f, int raduis)
{
  f->type = 1;
  f->property.radius = radius;
}
 
void create_rectangle (struct figura *f, int x, int y)
{
  f->type = 3;
  f->property.sides.x = x;
  f->property.sides.y = y;
}
 
void draw (struct figura *f)
{
  switch (f->type)
  {
    case 1:
      draw_circle (t->property.radius);
      break;
    case 3:
      draw_rectangle (t->property.sides.x, t->property.sides.y);
      break;
  }
}
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru