Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.57/7: Рейтинг темы: голосов - 7, средняя оценка - 4.57
0 / 0 / 2
Регистрация: 26.05.2014
Сообщений: 19
1

Структура "Рабочий". Сортировка

28.05.2014, 21:01. Показов 1401. Ответов 4
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Описать структуру с именем WORKER, содержащую следующие поля:
• фамилия и инициалы работника;
• название занимаемой должности;
• год поступления на работу.
сортировка по году поступления на работу




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
#include<iostream>
using namespace std;
int main()
{
    struct Worker
    {
        char f[25], d[15];
        int r, nom;
        
 
    }a[25];
 
    cout << "vvedit PIB"<<endl;
    int l;
    cin >> l;
    for (int i = 0; i < l; i++)
 
{
    a[i].r = i;
        cout << "vvedit PIB" << endl;
        cin >> a[i].f;
        cout << "vvedit posady " << a[i].f << endl;
        cin >> a[i].d;
        cout << "vvedit pik postyplenia " << a[i].f << endl;
        cin >> a[i].r;
    }
 
    for (int j = 0; j < l - 1; j++)
    {
        for (int i = 0; i < l - 1; i++)
        {
            if (a[i].d > a[i + 1].d)
            {
                int t;
                a[i].d = t;
                a[i].d = a[i + 1].d;
                a[i + 1].d = t;
                int g;
                g = a[i].nom;
                a[i].nom = a[i + 1].nom;
                a[i + 1].nom = g;
            }
            
        }
        if (j == l - 2)
        {
            for (int c = 0; c < l; c++)
                cout << a[a[c].nom].f << "_____" << a[a[c].nom].d << "_____" << a[c].r << endl;
        }
    }
    return 0;
}
Добавлено через 9 минут
ПОМОГИТЕ!!!!

Добавлено через 48 минут
a[i].d = t;
a[i].d = a[i + 1].d;
a[i + 1].d = t;
Error 1 error C2440: '=' : cannot convert from 'int' to 'char [15]' e:\projects c++\fdhgfj\fdhgfj\source.cpp 36 1 fdhgfj
Error 3 error C2440: '=' : cannot convert from 'int' to 'char [15]' e:\projects c++\fdhgfj\fdhgfj\source.cpp 38 1 fdhgfj

такие вот ошибки выбивает
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
28.05.2014, 21:01
Ответы с готовыми решениями:

Сортировка Шелла - нужен рабочий пример
нужен рабочий код сортировка шелла

сортировка c++ (структура)
Программа не видит NumberOfDoctors во 2 case struct Doctor { char nameDoctor; char...

Структура, сортировка, вставки
Я вообще не понимаю, как сделать сортировка вставки int b; int j; for (int i = 1; i &lt; n;...

Структура о веществе и сортировка
Пишу структуру, описывающую информацию о веществе: название, удельный вес и проводимость(проводник,...

Сложная структура и ее сортировка
1. Нужно создать структуру следующего вида: например:

4
Модератор
Эксперт С++
13678 / 10888 / 6465
Регистрация: 18.12.2011
Сообщений: 29,052
28.05.2014, 21:10 2
a[i].d у Вас char[].
Компилятор не знает, как можно a[i].d присвоить целое число
0
0 / 0 / 2
Регистрация: 26.05.2014
Сообщений: 19
28.05.2014, 21:27  [ТС] 3
что делать?

Добавлено через 19 секунд
zss, Что делать?
0
100 / 100 / 47
Регистрация: 19.11.2012
Сообщений: 195
28.05.2014, 21:33 4
Лучший ответ Сообщение было отмечено Nazar199506 как решение

Решение

Не по теме:

Цитата Сообщение от zss Посмотреть сообщение
как можно a[i] присвоить целое число
и наоборот, как из целого сделать структуру.
Вы, наверно, не заметили. Там обращение не к a[i], а к a[i].d. То есть к элементу структуры, а не к самой структуре.



Цитата Сообщение от Nazar199506 Посмотреть сообщение
C++
1
2
3
4
5
struct Worker
* * {
* * * * char f[25], d[15];
* * * * int r, nom;
}a[25];
вы определяете 25 элементов структуры типа Worker
C++
1
2
3
4
int t;
a[i].d = t;
a[i].d = a[i + 1].d;
a[i + 1].d = t;
создаете целочисленную переменную int и пытаетесь присвоить её массиву char d[15];
Эти строки равносильны такому:
C++
1
2
3
int t;
char d[15]
d=t;
О чем вам и сообщает компилятор:
Bash
1
cannot convert from 'int' to 'char [15]'
Вот так будет работать:
C++
1
2
3
4
char t[15];
strcpy(a[i].d,t);
strcpy(a[i].d,a[i + 1].d);
strcpy(a[i + 1].d,t);
Не знаю, что вы хотите сделать, но думаю вам нужно это:
C++
1
2
3
4
char temp[15];
strcpy(temp,a[i].d);         // temp = a[i].d
strcpy(a[i].d,a[i + 1].d);   // a[i].d = a[i+1].d
strcpy(a[i + 1].d,temp);     // a[i+1].d = temp;
Добавлено через 5 минут
Цитата Сообщение от Nazar199506 Посмотреть сообщение
сортировка по году поступления на работу
Если вы в d хотите хранить только год, и можно изменить структуру, то измените структуру исходной программы на такую и все:
C++
1
2
3
4
5
6
7
8
    struct Worker
    {
        char f[25];
        int d;
        int r, nom;
        
 
    }a[25];
и никаких манипуляций не понадобится, а в коде так:
C++
1
2
3
4
int temp;
temp = a[i].d
a[i].d = a[i+1].d
a[i+1].d = temp;
1
0 / 0 / 2
Регистрация: 26.05.2014
Сообщений: 19
29.05.2014, 17:11  [ТС] 5
TrueBit, спасибо.
0
29.05.2014, 17:11
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
29.05.2014, 17:11
Помогаю со студенческими работами здесь

Сортировка и дин.структура
У меня есть сортировка подсчетом: public static List list(List&lt;Integer&gt; list) { int min =...

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

Сортировка по дате (структура Sotrudniki)
Помогите пожалуйста организовать сортировку по дате struct Sotrudniki { char lastname; //Фамилия...

Сортировка по названию из процессора (структура)
Пользователь вводит названия процессора, его частоту, рам и тип и так несколько раз. В конце...

Структура, сортировка, перегрузка, интерфейс
Знаю, что уже было куча похожих тем. 1. Описать структуру с именем TRAIN, содержащую следующие...


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

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru