Форум программистов, компьютерный форум, киберфорум
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
миклух
0 / 0 / 0
Регистрация: 27.10.2011
Сообщений: 13
#1

Упорядочить данные - C++

22.12.2011, 09:47. Просмотров 286. Ответов 0
Метки нет (Все метки)

здравствуйте! есть следующая задача: Упорядочить данные в порядке убывания значений рабочего стажа.

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
#include <string.h>
#include <iostream>
#include <stdio.h>
#include <conio.h>
using namespace std;
 
int main()
{   int tmp;
        setlocale (0,"Rus");
        struct rabotniki
        {
                char fio[20];
                int number;
                char pol[1];
                int godrozhd;
                int godpost;
        }rab[9];
        
    int n;
cout<<"Ââåäèòå êîëè÷åñòâî Г°Г*áîòГ*èêîâ : ";
cin>>n;
for (int i=0;i<n;i++)
{
   cout<<"Ââåäèòå ÔÈÎ " <<i+1<< " Г°Г*áî÷åãî : ";
   cin>>rab[i].fio;
    
   cout<<"Ââåäèòå ïîë: ";
        cin>>rab[i].pol;
        
   cout<<"Ãîä ðîæäåГ*ГЁГї : ";
           cin>>rab[i].godrozhd;
    
  cout<<"Ãîä ïîñòóïëåГ*ГЁГї Г*Г* Г°Г*áîòó : ";
        cin>>rab[i].godpost;
                                                
}
 
        for(int i=0;i<n;i++)         
 
         for(int j=0;j<n-1;j++)
         
         
 
                  if(rab[j].godpost<rab[j+1].godpost)    
 
                  {
                                                         int temp=rab[j].godpost; int temp1=rab[j].godrozhd; char* temp2=rab[j].pol; char* temp3=rab[j].fio;
 
                                                         rab[j].godpost=rab[j+1].godpost; rab[j].godrozhd=rab[j+1].godrozhd; strcpy(rab[j].pol, rab[j+1].pol); strcpy(rab[j].fio, rab[j+1].fio);
 
                                                         rab[j+1].godpost=temp; rab[j+1].godrozhd=temp1; strcpy(rab[j+1].pol, temp2); strcpy(rab[j+1].fio, temp3);
        
        }
    for(int i=0;i<n;i++)
                cout<<rab[i].fio<<" "<<rab[i].pol<<rab[i].godrozhd<<" "<<rab[i].godpost<<"\t"<<"\n---------------------------------------"<<endl;
        cout<<endl<<endl;
 
        getch();           
        return 0;
}
и вобщем числа сортируются, а символы нехотят. что сделать? помогите!

Добавлено через 10 часов 52 минуты
немного переделал, теперь сортирует, но теперь к полу оно почемуто дописывает фио..


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
#include <string.h>
#include <iostream>
#include <stdio.h>
#include <conio.h>
using namespace std;
 
int main()
{   int tmp;
        setlocale (0,"Rus");
        struct rabotniki
        {
                char fio[20];
                int number;
                char pol[1];
                int godrozhd;
                int godpost;
        }rab[9];
        
    int n;
    
cout<<"Ââåäèòå êîëè÷åñòâî Г°Г*áîòГ*èêîâ : ";
cin>>n;
for (int i=0;i<n;i++)
{
   cout<<"Ââåäèòå ÔÈÎ " <<i+1<< " Г°Г*áî÷åãî : ";
   cin>>rab[i].fio;
    
   cout<<"Ââåäèòå ïîë: ";
        cin>>rab[i].pol;
        
   cout<<"Ãîä ðîæäåГ*ГЁГї : ";
           cin>>rab[i].godrozhd;
    
  cout<<"Ãîä ïîñòóïëåГ*ГЁГї Г*Г* Г°Г*áîòó : ";
        cin>>rab[i].godpost;
                                                
}
 
        for(int i=0;i<n;i++)         
 
         for(int j=0;j<n-1;j++)
         
         
 
                  if(rab[j].godpost<rab[j+1].godpost)    
 
                  {
                                                         char fio2[20], pol2[1];
                                                         
                                                         int temp=rab[j].godpost;           int temp1=rab[j].godrozhd;              strcpy(pol2, rab[j].pol);           strcpy(fio2, rab[j].fio);
 
                                                         rab[j].godpost=rab[j+1].godpost;   rab[j].godrozhd=rab[j+1].godrozhd;      strcpy(rab[j].pol, rab[j+1].pol);   strcpy(rab[j].fio, rab[j+1].fio);
 
                                                         rab[j+1].godpost=temp;             rab[j+1].godrozhd=temp1;                strcpy(rab[j+1].pol, pol2);         strcpy(rab[j+1].fio, fio2);
        
        }
    for(int i=0;i<n;i++)
                cout<<rab[i].fio<<" "<<rab[i].pol<<" "<<rab[i].godrozhd<<" "<<rab[i].godpost<<"\t"<<"\n---------------------------------------"<<endl;
        cout<<endl<<endl;
 
        getch();           
        return 0;
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
22.12.2011, 09:47
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Упорядочить данные (C++):

Как упорядочить данные в txt? - C++
как в G.txt упорядочить данные по убыванию? #include &lt;stdio.h&gt; #include &lt;stdlib.h&gt; { int main() int number; FILE...

Выбрать и упорядочить данные из текстового файла - C++
В языке С не сильна, и программа вызвала некое недоумение) Есть тестовый файл со следующими данными: 0.299 -0.410 960.20 4551.85...

Данные 6 комплексных чисел упорядочить по возростанию модулей - C++
Вот. Ещё одна задачка попалась. Данные 6 комплексных чисел упорядочить по возростанию модулей. (Наверно хотели написать данные шести...

23. Упорядочить данные в порядке убывания значений рабочего стажа. (C++) - C++
Помогите с заданием, программа нужна на языке C++. По данным таблицы, содержащей информацию о работниках предприятия, провести...

Вывести данные о багаже пассажиров, упорядочить их по весу вещей, а в случае равенства - по количеству вещей - C++
Подскажите в чем проблема! При запуске программы вылетает Вывести данные о багаже пассажиров, упорядочить их по весу вещей, а в случае...

Коды воздействуют на данные - структурное программирование, Данные управляют кодом - ООП - C++
Это из книги Шилдта, я думал что всегда коды управляют данными, короче кто понимает обьясните

0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
22.12.2011, 09:47
Привет! Вот еще темы с ответами:

Структуры: ввести данные о работниках и вывести их данные, отсортированные по алфавиту - C++
Всем привет! Подскажите пожалуйста, что не так с моей функцией proverka? Мне нужно ввести данные о работниках и вывести их данные,...

Заменить данные слова в тексте, на данные в условии, C++, Строки и символы - C++
Напишите программу, которая принимает на вход четыре параметра: имя входного файла, имя выходного файла, два слова a и b. Программа должна...

Ввести данные в файл, и записать данные с файла в массив структур - C++
Ввести все данные в файл, и записать данные с файла в структуру. Помогите ввести и вывести структуру из файла. Допускается - и желательно...

Считать данные о ноутбуках с .txt, обрабатывать их и записывать в .bin файл отсортированные данные - C++
Добрый вечер. Пред мной поставлена задача написать программу, которая будет считывать данные о ноутбуках с файла .txt обрабатывать их и...


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

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

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