Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 27.01.2009, 11:16   #1
alexov
Пользователь
 
Регистрация: 31.10.2008
Сообщений: 61
По умолчанию структура+сортировка

Ощыбки выдает!?
Код:
#include <iostream>
using namespace std;

struct stud
{
	char name[10];
	int rost;
};

int main()
{
const int N = 5;
int i=0;
int j=0;
stud st[N];
stud min;
stud imin;

for(int i=0; i<N; i++)
{
cout<<"Vedite Name and rost "<<i+1<<"studenta ";
cin>>st[i].name;
cin>>st[i].rost;
}
for (i=0; i<N-1; i++)
{ 
	min.rost=st[i].rost;
	imin.rost=i; 
for (j=i+1; j<N; j++)
{
	if (st[j].rost<min.rost)
{
	min.rost = st[j].rost;
	imin.rost = j;
}
} 
st[imin].rost=st[i].rost;
st[i].rost=min.rost;

}
for (i=0; i<N; i++)
cout<<st[i].rost<<"  "<<st[i].name;
cout << endl;
system("pause");
cin.get();
return 0;
}
!Help Win Api!
alexov вне форума Ответить с цитированием
Старый 27.01.2009, 12:27   #2
Sazary
В тени
Старожил
 
Аватар для Sazary
 
Регистрация: 19.12.2008
Сообщений: 5,788
По умолчанию

Код:
st[imin].rost=st[i].rost;
Здесь в качестве индекса вы задаете переменную imin, тип которой структура. Надо imin.rost. И вообще лучше сделать imin типа int.
Далее. Вы сортируете значения роста, но не имена.
В общем, вот исправленный вариант:
Код:
#include <iostream>
using namespace std;

struct stud
{
	char name[10];
	int rost;
};

int main()
{
const int N = 5;
int i=0;
int j=0;
stud st[N];
stud min;
int imin;

for(int i=0; i<N; i++)
{
cout<<"Vedite Name and rost "<<i+1<<"studenta ";
cin>>st[i].name;
cin>>st[i].rost;
}
for (i=0; i<N-1; i++)
{
	min.rost=st[i].rost;
	imin=i;
for (j=i+1; j<N; j++)
{
	if (st[j].rost<min.rost)
{
	min.rost = st[j].rost;
	strcpy(min.name,st[j].name);
	imin = j;
}
}
st[imin].rost=st[i].rost;
strcpy(st[imin].name,st[i].name);
st[i].rost=min.rost;
strcpy(st[i].name,min.name);

}
cout<<"--------\n";
for (i=0; i<N; i++)
  cout<<st[i].rost<<"  "<<st[i].name<<"\n";
cout << endl;
system("pause");
cin.get();
return 0;
}
Вполне очевидно, чтобы что-то понять, необходимо книги читать.
Не нужно плодить бессмысленных тем. Вас Поиск избавит от многих проблем.

___________________________________ ___________________________________ _______
[=Правила форума=]_____[Поиск]_____[Литература по С++]____[Литература. Паскаль]
Sazary вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Структура сети AIst Работа с сетью в Delphi 6 23.01.2009 13:21
структура cr1mson Общие вопросы C/C++ 3 14.01.2009 18:08
Структура таблицы Proof БД в Delphi 8 29.12.2008 20:24
Структура файла Mayor Общие вопросы Delphi 1 11.08.2008 16:45
структура EXEшника ЧИЖ Безопасность, Шифрование 4 18.07.2007 18:03