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

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

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 22.03.2017, 00:00   #61
Антон1990
Пользователь
 
Регистрация: 20.03.2017
Сообщений: 48
По умолчанию

но мне же еще нужно просортировать
Антон1990 вне форума Ответить с цитированием
Старый 22.03.2017, 00:02   #62
ura_111
Участник клуба
 
Регистрация: 14.05.2016
Сообщений: 1,793
По умолчанию

Что?
num или rez?
ura_111 вне форума Ответить с цитированием
Старый 22.03.2017, 00:06   #63
ura_111
Участник клуба
 
Регистрация: 14.05.2016
Сообщений: 1,793
По умолчанию

Ну ладно (я вижу ты не понимаешь)... Вот два массива:

0 (3).jpg
ura_111 вне форума Ответить с цитированием
Старый 22.03.2017, 00:07   #64
ura_111
Участник клуба
 
Регистрация: 14.05.2016
Сообщений: 1,793
По умолчанию

Ну это уже не надо (забыл удалить на фотке):

Код:
	float num[10] = { rez11, rez12, rez13, rez14, rez15, rez16, rez17, rez18, rez19, rez20 };
ura_111 вне форума Ответить с цитированием
Старый 22.03.2017, 00:20   #65
Антон1990
Пользователь
 
Регистрация: 20.03.2017
Сообщений: 48
По умолчанию

#include <stdio.h>
#include <stdlib.h>
#include <locale.h>

struct beguny
{char fam [20];
float rez;
};

int comp (const int *, const int *);
int main(void)
{
int i, kol;
struct beguny data[10];
setlocale(LC_ALL,"Russian");
printf("Ââåäèòå êîëè÷åñòâî ó÷àñòíèêîâ: ");
scanf("%d", &kol);
for(i=0;i<kol;i++)
{
printf("Ââåäèòå ôàìèëèþ %d-ãî ñòóäåíòà:",i+1);
scanf("%s", &data[i].fam);

printf("Ââåäèòå ðåçóëüòàò %d-ãî ñòóäåíòà â áåãå: ",i+1);
scanf("%f", &data[i].rez);
}

float rez[10];
for (i = 0; i < kol; i++)
{
rez[i] = data[i].rez * 100;
}
float num[10];
for (i = 0; i < kol; i++)
{
num[i] = data[i].rez * 100;
}

printf ("\n");
qsort(num, 10, sizeof (int), (int(*) (const void *, const void *)) comp);
printf ("\n");

for (i = 0; i < kol; i++)
{
num[i] = data[i].rez * 100;
}


printf ("\n");
printf("\n×åòûðå ëó÷øèõ ñòóäåíòà: ");
printf ("\n");
for ( i=0;i<4;i++)
{
printf("\n %d %s ", i+1,data[i].fam);
printf(" %5.2f", data[i].rez);
printf("\n ");
}
return 0;

}

int comp (const int *i, const int *j)
{
return *i - *j;

system("pause");
return 0;
}

теперь не проходит сортировка
Антон1990 вне форума Ответить с цитированием
Старый 22.03.2017, 00:21   #66
Антон1990
Пользователь
 
Регистрация: 20.03.2017
Сообщений: 48
По умолчанию

#include <stdio.h>
#include <stdlib.h>
#include <locale.h>

struct beguny
{char fam [20];
float rez;
};

int comp (const int *, const int *);
int main(void)
{
int i, kol;
struct beguny data[10];
setlocale(LC_ALL,"Russian");
printf("Введите количество участников: ");
scanf("%d", &kol);
for(i=0;i<kol;i++)
{
printf("Введите фамилию %d-го студента:",i+1);
scanf("%s", &data[i].fam);

printf("Введите результат %d-го студента в беге: ",i+1);
scanf("%f", &data[i].rez);
}

float rez[10];
for (i = 0; i < kol; i++)
{
rez[i] = data[i].rez * 100;
}
float num[10];
for (i = 0; i < kol; i++)
{
num[i] = data[i].rez * 100;
}

printf ("\n");
qsort(num, 10, sizeof (int), (int(*) (const void *, const void *)) comp);
printf ("\n");

for (i = 0; i < kol; i++)
{
num[i] = data[i].rez * 100;
}


printf ("\n");
printf("\nЧетыре лучших студента: ");
printf ("\n");
for ( i=0;i<4;i++)
{
printf("\n %d %s ", i+1,data[i].fam);
printf(" %5.2f", data[i].rez);
printf("\n ");
}
return 0;

}

int comp (const int *i, const int *j)
{
return *i - *j;

system("pause");
return 0;
}
Антон1990 вне форума Ответить с цитированием
Старый 22.03.2017, 00:25   #67
ura_111
Участник клуба
 
Регистрация: 14.05.2016
Сообщений: 1,793
По умолчанию

Результат покажи на скриншоте.
ura_111 вне форума Ответить с цитированием
Старый 22.03.2017, 00:42   #68
Антон1990
Пользователь
 
Регистрация: 20.03.2017
Сообщений: 48
По умолчанию

vot
Изображения
Тип файла: jpg Безымянный.jpg (32.2 Кб, 148 просмотров)
Антон1990 вне форума Ответить с цитированием
Старый 22.03.2017, 00:54   #69
ura_111
Участник клуба
 
Регистрация: 14.05.2016
Сообщений: 1,793
По умолчанию

Ты выводишь элементы структуры, а (в qsort) сортируешь массив "num" - это две разные сущности.
Выводить надо массив "num", который ты и отсортировал... Только надо выводить непосредственно сразу после сортировки; а у тебя сортировка "num",
а потом ты "num" переназначаешь (зачем то?) - возвращаешь первоначальные значения как до сортировки????

___________________________________ ______

Короче, выведи весь массив "num" до сортировки и (непосредственно сразу) после использования "qsort".
Скриншот покажи (обрезай лишнее - в Paint можно сделать- чтобы нормально выглядело).

Последний раз редактировалось ura_111; 22.03.2017 в 00:57.
ura_111 вне форума Ответить с цитированием
Старый 22.03.2017, 01:58   #70
Антон1990
Пользователь
 
Регистрация: 20.03.2017
Сообщений: 48
По умолчанию

и как правильно?
Антон1990 вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Помогите дописать программу - допишите в программу формулу m=sqrt(re^2+lm^2) ( Delphi ) nicroma Помощь студентам 0 24.12.2013 19:59
Помогите дописать программу cL1zMa Паскаль, Turbo Pascal, PascalABC.NET 2 06.06.2008 14:40
Помогите дописать программу. ShnapS Паскаль, Turbo Pascal, PascalABC.NET 5 17.05.2008 19:50
Помогите дописать программу ALIZE Помощь студентам 2 09.12.2007 18:45