Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
 
Рейтинг 4.53/15: Рейтинг темы: голосов - 15, средняя оценка - 4.53
3 / 3 / 2
Регистрация: 05.11.2010
Сообщений: 131
1

Cтруктуры. Перечисления. Объединения

19.01.2011, 12:25. Показов 2884. Ответов 22

Вот у меня закончилась тема функции и началась СТРУКТУРЫ. ПЕРЕЧИСЛЕНИЯ. ОБЪЕДИНЕНИЯ. прочитав лекцию я так и не понял что от меня требуется в задании. Что в этой теме происходит.вот раньше например мы работали с масивами.Я знал что в функциях тоже самые масивы но по другому чуть чуть. А тут прочитал весь материал к лабораторной работе и ничего не понял.Что требуется от меня в этом задании
0

Помощь в написании контрольных, курсовых и дипломных работ здесь.

Миниатюры
Cтруктуры. Перечисления. Объединения  
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
19.01.2011, 12:25
Ответы с готовыми решениями:

Структуры, Объединения, Перечисления
Реализовать программу для хранения информации о студентах одного потока. Предусмотреть следующие...

Объединения, поля битов, перечисления
всем доброго времени суток есть у меня задача затрудняюсь сделать сам вот само задание Перевести...

Cтруктуры в С++, создание БД.
Здравствуйте. Помогите, пожалуйста, решить данное задание. 1. Создать БД в блокноте. //Сие я...

Рeкурcивные cтруктуры дaнных (деревья)
Добрый день! Помогите, пожалуйста, с решением задачки при помощи Lisp Нaписaть прогрaмму для...

22
98 / 98 / 29
Регистрация: 26.12.2010
Сообщений: 220
19.01.2011, 13:04 2
Вам ее написать?

Добавлено через 6 минут
Первое задание:
C++
1
2
3
4
5
6
7
8
9
10
11
struct Marsh
{
  char beg[80];
  char end[80];
  int number;
 
  Marsh()
  {
   number=0;
  }
};
Добавлено через 30 минут
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
#include <vcl.h>
#include <iostream.h>
#include <cstring.h>
#pragma hdrstop
 
#pragma argsused
 
struct Marsh
{
  char beg[80];
  char end[80];
  int number;
 
  Marsh()
  {
   beg[0]=0;
   end[0]=0;
   number=0;
  }
 
  Marsh(char *b, char *e,int n)
  {
   strcpy(beg,b);
   strcpy(end,e);
   number=n;
  }
 
  friend void Swap(Marsh x, Marsh y);
  friend void Sort(Marsh x[], int n);
  friend void Print(Marsh x[],int n);
 
};
 
void Swap(Marsh x, Marsh y)
{
 Marsh *p;
 p=&x;
 
 x=y;
 
 y=*p;
}
 
void Sort(Marsh x[], int n)
{
 for (int i = 0; i < n; ++i)
 {
   for (int j = 0; j < n-1; ++j)
   {
     if (x[i].number > x[j].number)
     {
        swap(x[i], x[j]);
     }
    }
  }
 
  Print(x, n);
}
 
 
void Print(Marsh x[],int n)
{
  for (int i=0;i<n;i++)
  {
    cout<<x[i].number<<" ";
  }
}
 
void main()
{
  Marsh *newmarsh=new Marsh[8];
 
  for (int i=0;i<8;i++)
   newmarsh[i]=Marsh();
 
  for (int i=0;i<8;i++)
  {
    cout<<"Marsh #"<<i+1<<"\n";
    cout<<"Num = "; cin>>newmarsh[i].number;
    cout<<"Beg = "; cin>>newmarsh[i].beg;
    cout<<"End = "; cin>>newmarsh[i].beg;
    cout<<"\n";
  }
 
  Sort(newmarsh,8);
}
1
3 / 3 / 2
Регистрация: 05.11.2010
Сообщений: 131
19.01.2011, 23:56  [ТС] 3
Спасибо но я не понял что это мне еще не понятно.Что в этом задание требуется разьясните А то я даже не понимаю что это из себя представляет
0
22 / 22 / 6
Регистрация: 24.12.2008
Сообщений: 82
20.01.2011, 00:01 4
В первом задании требуется всего лишь описать структуру как это делается думаю объяснять не стоит)
C++
1
2
3
4
5
6
struct Marsh
{
  char beg[80];
  char end[80];
  int number;
};
А во втором требуется всего лишь обработать массив из этих структур.
1
3 / 3 / 2
Регистрация: 05.11.2010
Сообщений: 131
20.01.2011, 01:09  [ТС] 5
сама структура beg80 b end 80 это что?
0
894 / 788 / 186
Регистрация: 21.02.2009
Сообщений: 1,722
20.01.2011, 02:04 6
C++
1
2
3
4
5
6
struct Marsh
{
 char beg[80]; // массив символов(начальный пункт маршрута)
 char end[80]; // массив символов(конечный пункт маршрута)
 int number; // номер маршрута
};
1
3 / 3 / 2
Регистрация: 05.11.2010
Сообщений: 131
20.01.2011, 11:38  [ТС] 7
А номер маршрута указывает на какойто элемент масссива ?
0
894 / 788 / 186
Регистрация: 21.02.2009
Сообщений: 1,722
20.01.2011, 14:24 8
Цитата Сообщение от Steam.dll Посмотреть сообщение
А номер маршрута указывает на какойто элемент масссива ?
Нет, ето просто порядковый номер!!!
1
3 / 3 / 2
Регистрация: 05.11.2010
Сообщений: 131
20.01.2011, 14:44  [ТС] 9
порядковый номер элемента массива?
0
894 / 788 / 186
Регистрация: 21.02.2009
Сообщений: 1,722
20.01.2011, 15:27 10
Цитата Сообщение от Steam.dll Посмотреть сообщение
порядковый номер элемента массива?
Да нет, можно сказать просто номер, он может быть какой угодно!!!
1
3 / 3 / 2
Регистрация: 05.11.2010
Сообщений: 131
20.01.2011, 16:25  [ТС] 11
я просто не могу соорентироватся масив это цифры написанные в столбец . что эта програма должна виводить на экран
0
Freelance
Эксперт С++
2879 / 1814 / 356
Регистрация: 09.09.2010
Сообщений: 3,841
20.01.2011, 16:34 12
Цитата Сообщение от Steam.dll Посмотреть сообщение
я просто не могу соорентироватся масив это цифры написанные в столбец
Изложы свой вопрос в болие понятной форме, если хочешь что бы кто-то ответил на него.
Цитата Сообщение от Steam.dll Посмотреть сообщение
что эта програма должна виводить на экра
Ты задание вообще читал ?
0
3 / 3 / 2
Регистрация: 05.11.2010
Сообщений: 131
13.02.2011, 20:00  [ТС] 13
Для чего нужны структуры? И вот в программе как ей воспользоватся?
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
#include <stdio.h>
#include <stdlib.h>
#include <conio.h>
#include <string.h>
#include <math.h>
#include <time.h>
#include <iostream>
using namespace std;
struct rip 
    {
    char a[400];
    char b[400];
    int  c;
    } ;
int main(void)
{
    
    int f;
    rip a[400];
    rip b[400];
    rip c;
    char d[400];
    char o[400];
    gets(d);
    gets(o);
    strcpy(d,a);
    strcpy(d,b);
    scanf("%d",&c);
    {
        f=c;
    }
    printf("%d",f);
    printf("%s\n%s",a,b);
    getch();
    return 0;
}
0
Freelance
Эксперт С++
2879 / 1814 / 356
Регистрация: 09.09.2010
Сообщений: 3,841
13.02.2011, 20:07 14
Цитата Сообщение от Steam.dll Посмотреть сообщение
Для чего нужны структуры?
Для создания пользовательских типов данных.

Добавлено через 2 минуты
Цитата Сообщение от Steam.dll Посмотреть сообщение
И вот в программе как ей воспользоватся?
Скомпилируй, запусти, потестируй.
1
3 / 3 / 2
Регистрация: 05.11.2010
Сообщений: 131
13.02.2011, 21:17  [ТС] 15
Эту псевдо программу напечатал я сам. Она не работает пишет что я не правильног обьявил переменные из структуры.
0
Freelance
Эксперт С++
2879 / 1814 / 356
Регистрация: 09.09.2010
Сообщений: 3,841
13.02.2011, 21:19 16
А задание какое ?
1
3 / 3 / 2
Регистрация: 05.11.2010
Сообщений: 131
13.02.2011, 21:58  [ТС] 17
Да я просто разобраться со структурами хочу. В ней структура дальше я обьявил два масива в них через gets Вводятся данные и потом из этих массивов содержимое копируется в другой массив и выводится на экран как бы задумано. Но она что то не раотает.
0
Freelance
Эксперт С++
2879 / 1814 / 356
Регистрация: 09.09.2010
Сообщений: 3,841
13.02.2011, 22:08 18
Цитата Сообщение от Steam.dll Посмотреть сообщение
Вводятся данные и потом из этих массивов содержимое копируется в другой массив
А структуры тут при чем, если Вы хотите скопировать данные з одного масива символов в другой ?

Добавлено через 3 минуты
Так что давайте уточним:
есть структура
C++
1
2
3
4
5
6
struct rip 
{
        char a[400];
        char b[400];
        int  c;
};
обращение к полям структуры осуществляеться через оператор "точка" то есть так
C++
1
2
rip obj;//Создаем обект структуры
obj.a //обращаемся к масиву "a"
а если есть масив структур то есть так
C++
1
2
rip obj[10];//Масив из десяти перемнных типа rip
obj[0].a//Обращение к масиву а первой перемменой з нашего масива структур
1
21 / 21 / 2
Регистрация: 09.11.2010
Сообщений: 102
13.02.2011, 22:34 19
Раз тема про структуры, то я решил вставить свои пять коп
Сам толком с структурами дела не имел, но ответить на тесты надо


Объедение в структурах применяется для того, чтобы:
1) Объединять в одной переменной несколько параметров объекта, с которым работает программист
2) программа стала более понятной
3) Экономить память
4) Заменять старые имена имеющихся типов на новые
5) давать названия новым типам, которые конструируют программисты
6) объявлять новые имена для уже имеющихся типов
Выбрать правильные ответы...


Буду очень благодарен
1
Freelance
Эксперт С++
2879 / 1814 / 356
Регистрация: 09.09.2010
Сообщений: 3,841
13.02.2011, 22:40 20
Мигрень, Думаю что
Цитата Сообщение от Мигрень Посмотреть сообщение
3) Экономить память
обосновуя тем, что обединения изначально были созданы для того, что бы экономит память.
2
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
13.02.2011, 22:40

Помощь в написании контрольных, курсовых и дипломных работ здесь.

Рeкурcивные cтруктуры дaнных (деревья)
Добрый день! Помогите, пожалуйста, с решением задачки при помощи Prolog Нaписaть прогрaмму для...

Cтруктуры, поиск книг заданного автора
Добрый вечер. Была поставлена задача следующим образом: &quot;Для книг, хранящихся в библиотеке,...

Нужна помощь в исправлении ошибок в методах cтруктуры
Доброго времени суток, товарищи- программисты! Нужна помощь в исправлении ошибок в методах: в ...

Cтруктуры: напечатать фамилию участника, занявшего первое место
Сформировать файл-протокол лыжных гонок, содержащий фамилии N участников, время старта, время...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.