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

Массивы структур и массивы строк - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 28, средняя оценка - 4.79
Rezvanov
1 / 1 / 0
Регистрация: 22.10.2011
Сообщений: 71
02.11.2012, 18:32     Массивы структур и массивы строк #1
1. Сформировать динамический массив из элементов структурного типа. Структурный тип определен в варианте.
2. Распечатать сформированный массив.
3. Выполнить поиск элементов в массиве, удовлетворяющих заданному в варианте условию и сформировать из них новый массив.
4. Распечатать полученный массив.
5. Сформировать динамический массив, состоящий из динамических строк.
6. Распечатать сформированный массив.
7. Выполнить обработку этого массива.
8. Распечатать полученный массив.

Задание:
C++
1
2
3
4
5
6
 struct employee
{
char*name;
float salary;
int stage
};
Критерий для поиска в массиве структур - Сотрудники со стажем больше 10 лет
Задание для обработки массива строк - Удалить строку из конца матрицы

Помогите кто может!!!!
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
02.11.2012, 18:32     Массивы структур и массивы строк
Посмотрите здесь:

C++ Массивы структур
Массивы структур C++
C++ Массивы структур
Массивы структур C++
C++ Массивы структур
Массивы структур C++
Массивы из структур C++
C++ Массивы структур, массивы векторов

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
MrGrig
176 / 159 / 2
Регистрация: 08.10.2012
Сообщений: 422
02.11.2012, 19:49     Массивы структур и массивы строк #2
Цитата Сообщение от Rezvanov Посмотреть сообщение
Критерий для поиска в массиве структур - Сотрудники со стажем больше 10 лет
C++
1
2
3
4
employee *a=new employee[n];//n - количество сотрудников
for(int i=0;i<n;i++)
    if(a->stage>10)
         cout<<a[i];//Либо перегрузить оператор "<<" либо сделать вывод нужных полей сотрудника
Цитата Сообщение от Rezvanov Посмотреть сообщение
Задание для обработки массива строк - Удалить строку из конца матрицы
задание не понял, поясните на примере
Rezvanov
1 / 1 / 0
Регистрация: 22.10.2011
Сообщений: 71
02.11.2012, 19:56  [ТС]     Массивы структур и массивы строк #3
скажи свой эмайл, я тебе кину методичку. у меня 4 вариант

Добавлено через 4 минуты
Вот пример:

Лабораторная работа №6
Массивы структур и массивы строк.
Постановка задачи:
1. Сформировать динамический массив из элементов структурного типа. Структурный тип определен в варианте.
2. Распечатать сформированный массив.
3. Выполнить поиск элементов в массиве, удовлетворяющих заданному в варианте условию и сформировать из них новый массив.
4. Распечатать полученный массив.
5. Сформировать динамический массив, состоящий из динамических строк.
6. Распечатать сформированный массив.
7. Выполнить обработку этого массива.
8. Распечатать полученный массив.

Задание:
Структура –
C++
1
2
3
4
5
6
struct employee
{
char*name;
float salary;
int stage
};
Критерий для поиска в массиве структур - сотрудники, у которых имя начинается на букву ‘Л’.
Задание для обработки массива строк - добавить строку с заданным номером.


Описание используемых в программе стандартных функций.
struct имя_структуры
{
}
– определение структуры. Структура – это объединенное в единое целое множество поименованных элементов данных.

Исходный код программы:

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
#include <iostream.h>;
#include <stdlib.h>;
#include <windows.h>
 
struct employee
    {
        char name[20];
        float salary;
        int stage;
    };
 
employee create_struk(int n1, int j)//функция формирования массива структур
{
    employee mass[15];
    cout<<"\n";
    cout<<"Name="; 
    cin>>mass[j].name;
    cout<<"Salary="; 
    cin>>mass[j].salary;
    cout<<"Stage="; 
    cin>>mass[j].stage; 
    cout<<"------------------------------"<<"\n"; 
    return mass[j];
};
 
void print_struct(int j, employee mass[15])//функция печати  массива
{
    cout<<"\n";
        cout<<": Name="<<mass[j].name<<"  Salary="<<mass[j].salary<<"  Stage="<<mass[j].stage; 
};
 
void find_struk(int n1, employee mass[15])//функция поиска в массиве структур элементов с  name на букву “Л”
{
    int i=0;
    employee findm[15];
    for(int j=0; j<n1; j++)
    {
        if (mass[j].name[0]=='Л')
        {
            for(int k=0; k<sizeof(mass[j].name); k++) findm[i].name[k]=mass[j].name[k];
            findm[i].salary=mass[j].salary;
            findm[i].stage=mass[j].stage;
            i++;
        }
    }
    for(j=0;j<i;j++)
    {
        cout<<"\n";
        cout<<"Name="<<findm[j].name<<" ";
        cout<<"Salary="<<findm[j].salary<<" ";
        cout<<"Stage="<<findm[j].stage<<" ";
    };
    cout<<"\n";
};
 
void insert_row(int n1, employee mass[15], int k)// функция ввода в начало массива K элементов
{
    employee kin[15];
 
    for(int i=0;i<k;i++)
    {
        cout<<"name="; cin>>kin[i].name;
        cout<<"salary="; cin>>kin[i].salary;
        cout<<"age="; cin>>kin[i].stage;
        cout<<"=========================\n";
    }
    int bn;
    bn=n1+k;
    int j=0;
    for(i=k;i<bn;i++)
    {
        for(int f=0; f<sizeof(mass[j].name); f++) kin[i].name[f]=mass[j].name[f];
        kin[i].salary=mass[j].salary;
        kin[i].stage=mass[j].stage;
        j++;
    }
    for(i=0;i<bn;i++)
    {
        for(int f=0; f<sizeof(kin[i].name); f++) mass[i].name[f]=kin[i].name[f];
        mass[i].salary=kin[i].salary;
        mass[i].stage=kin[i].stage;
    }
}
 
void main() 
{
    SetConsoleCP(1251);
 SetConsoleOutputCP(1251);
 
    int n;
    cout<<"insert n\n";
    cin>>n;
    employee mass1[15];
 
    int k; int i; int g=0; g=g+n; int r;
    
    do
    {
        cout<<"1. Создать структуру\n";
        cout<<"2. Напечатать структуру\n";
        cout<<"3. Найти в структуре имена с началом на букву Л\n";
        cout<<"4. Добавить в начало K-строк\n";
        cout<<"5. выход\n";
        cin>>k;
        switch(k)
        {
        case 1:
            for(i=0; i<n; i++)
                mass1[i]=create_struk(n,i);
            break;
        case 2:
            for(i=0; i<g; i++)
            print_struct(i, mass1);  cout<<"\n"; break;
            case 3: find_struk(n,mass1); break;
            case 4: cout<<"Введите K\n"; cin>>r; g=g+r;  insert_row(n,mass1,r); break;
        }
        
    }
    while(k!=5);
    
};
Yandex
Объявления
02.11.2012, 19:56     Массивы структур и массивы строк
Ответ Создать тему
Опции темы

Текущее время: 15:33. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru