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

Сортировка методом выбора. Структуры.

03.04.2011, 13:44. Просмотров 684. Ответов 1
Метки нет (Все метки)

Задание было вывести студенток первого курса в алфавитном порядке.
Сортировка должна быть методом выбора. А как применить её для структур понять не могу((
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
#include<conio.h>
#include<stdio.h>
#include<iostream>
 
using namespace std;
 
 
struct w
{
 char fam[15];
 char name[15];
 char otch[15];
 char sex[3];
 int age;
 int course;
};
 
void main()
{
 w tmp,*wed;
int i=0,j,k,n;
FILE *in;
char temp[15];
cout<<"Enter file name: ";
cin>>temp;
 
in=fopen(temp,"r");
while(!feof(in))
{fscanf(in,"%*s%*s%*s%s%*d%d",tmp.sex,&tmp.course);
if (tmp.course==1&&strcmp("wo",tmp.sex)==0)
i++;
}
 
rewind(in);
n=i;
wed=new w [i];
i=0;
 
while(!feof(in))
{
fscanf(in,"%s%s%s%s%d%d",wed[i].fam,wed[i].name,wed[i].otch,wed[i].sex,&wed[i].age,&wed[i].course);
cout<<wed[i].fam<<"\t"<<wed[i].name<<"\t"<<wed[i].otch<<"\t"<<wed[i].sex<<"\t"<<wed[i].age<<"\t"<<wed[i].course<<"\n";
if (wed[i].course==1&&strcmp("wo",wed[i].sex)==0)
i++;
}
 
fclose(in);
 
 
//НИЖЕ СОРТИРОВКА
int q=1;
while(q)
{q=0;
long i,j,k;
char *x;
 
for( i=0; i < n; i++) { // i - номер текущего шага
k=i; x=wed[i].fam;
for( j=i+1; j < n; j++) // цикл выбора наименьшего элемента
if ( wed[j].fam < x ) {
    k=j; x=wed[j].fam;  // k - индекс наименьшего элемента
}
strcpy(wed[k].fam, wed[i].fam);/*wed[k].fam=wed[i].fam;*/ 
strcpy(wed[i].fam,x); // меняем местами наименьший с a[i]
q++;}
}
 
cout<<endl;
cout<<"otvet:\n";
for(i=0;i<n;i++)
cout<<wed[i].fam<<"\t"<<wed[i].name<<"\t"<<wed[i].otch<<"\t"<<wed[i].sex<<"\t"<<wed[i].age<<"\t"<<wed[i].course<<"\n";
getch();
}
Помогите плз)) заранее благодарен)
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
03.04.2011, 13:44
Ответы с готовыми решениями:

Сортировка методом выбора и методом пузырьков
Доброго времени суток, форумчане). Я не спец в программировании, сразу говорю). Нам с другом дали...

Сортировка методом выбора в C++
Сортировать численные значения по значению абсолютной величины методом выбора в C++ Где ошибка? ...

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

Сортировка методом выбора
Ребят помогите. нужно сортирнуть по возростанию средней оценки студентов методом выбора. #include...

1
375 / 226 / 79
Регистрация: 24.11.2009
Сообщений: 698
05.04.2011, 07:05 2
в строке 60 Вы сравниваете указатели.
Используйте лексикографическое сравнение strcmp()
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
05.04.2011, 07:05

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

Сортировка методом выбора
Здравствуйте! Подскажите пожалуйста как сортировкой методом выбора посчитать количество обменов...

Сортировка методом выбора С++
не подскажите что не так в программе #include &lt;iostream.h&gt; #include &lt;stdlib.h&gt; int n=15; float...

Сортировка методом выбора
Выполните сортировку вещественного массива методом выбора: выбирается наименьший элемент и меняется...

Сортировка методом простого выбора
Мучаюсь-мучаюсь.Не получается отсортировать массив.Задача такая:отсортировать массив простым...


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

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

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